Abstract:
An ethernet controller for controlling the transmission of data between a station and an ethernet having four FIFOs for managing the transmission of data between the station CPU, a memory buffer, and the ethernet. The four FIFOs each have a selected size to maximize performance of the controller. The controller includes a arbiter to arbitrate which pending request from each of the FIFOs will have priority. The controller limits the transmission of data by each FIFO to 32 bytes per grant. Each FIFO includes logic to convert data in a first bit size format to a second bit size format. The controller also includes logic to convert a 16 bit address to two 8 bit portions for transmission over an 8 bit address bus and logic to reformat the two 8 bit portions to the 16 bit address.
Abstract:
A data structure to provide high performance in the transmit portion of an ethernet controller (14). The data structure includes the data to be transmitted (58, 60, 76, 82), the STATUS information (62, 84) of the data to be transmitted, and the DESCRIPTOR information (64, 86) of the data to be transmitted. The data is organized in 8-bit bytes in 32-bit rows, the 32-bit STATUS information is organized in four 8-bit bytes in a 32-bit row, and the 32-bit DESCRIPTOR information is organized in four 8-bit bytes in a 32-bit row. A one-bit tag field (66, 72) is associated with each of the rows and a 1 in the tag field indicates that the end-of-packet is located in the row associated with that tag. The lower four bits of a STATUS byte contains information indicating which byte in the row contains the end-of-packet.
Abstract:
A circuit and method for switching between different frequency clock domains that are out of phase. The circuit has a select input for selecting which frequency domain is to be output, a first circuit associated with the first clock domain, and a second circuit associated with the second clock domain. The first and second circuits are responsive to the select input and work together to disengage the first clock before the second clock is engaged.
Abstract:
A method of precisely identifying the end of packet location in a memory device. A first and second memory location in the memory device are reserved and a sequence of data is written into the memory device in sequential memory locations. When the last of the sequence of data is written into memory, the memory location is written into the first reserved memory location. The second memory location is written to show that the end of packet has been written into memory.
Abstract:
A data structure to provide high performance in the transmit portion of an ethernet controller (14). The data structure includes the data to be transmitted (58, 60, 76, 82), the STATUS information (62, 84) of the data to be transmitted, and the DESCRIPTOR information (64, 86) of the data to be transmitted. The data is organized in 8-bit bytes in 32-bit rows, the 32-bit STATUS information is organized in four 8-bit bytes in a 32-bit row, and the 32-bit DESCRIPTOR information is organized in four 8-bit bytes in a 32-bit row. A one-bit tag field (66, 72) is associated with each of the rows and a 1 in the tag field indicates that the end-of-packet is located in the row associated with that tag. The lower four bits of a STATUS byte contains information indicating which byte in the row contains the end-of-packet.
Abstract:
A method of precisely identifying the end of packet location in a memory device. A first and second memory location in the memory device are reserved and a sequence of data is written into the memory device in sequential memory locations. When the last of the sequence of data is written into memory, the memory location is written into the first reserved memory location. The second memory location is written to show that the end of packet has been written into memory.
Abstract:
A data structure to provide high performance in the transmit portion of an ethernet controller (14). The data structure includes the data to be transmitted (58, 60, 76, 82), the STATUS information (62, 84) of the data to be transmitted, and the DESCRIPTOR information (64, 86) of the data to be transmitted. The data is organized in 8-bit bytes in 32-bit rows, the 32-bit STATUS information is organized in four 8-bit bytes in a 32-bit row, and the 32-bit DESCRIPTOR information is organized in four 8-bit bytes in a 32-bit row. A one-bit tag field (66, 72) is associated with each of the rows and a 1 in the tag field indicates that the end-of-packet is located in the row associated with that tag. The lower four bits of a STATUS byte contains information indicating which byte in the row contains the end-of-packet.
Abstract:
An ethernet controller for controlling the transmission of data between a station and an ethernet having four FIFOs for managing the transmission of data between the station CPU, a memory buffer, and the ethernet. The four FIFOs each have a selected size to maximize performance of the controller. The controller includes a arbiter to arbitrate which pending request from each of the FIFOs will have priority. The controller limits the transmission of data by each FIFO to 32 bytes per grant. Each FIFO includes logic to convert data in a first bit size format to a second bit size format. The controller also includes logic to convert a 16 bit address to two 8 bit portions for transmission over an 8 bit address bus and logic to reformat the two 8 bit portions to the 16 bit address.
Abstract:
An ethernet controller for controlling the transmission of data between a station and an ethernet having four FIFOs for managing the transmission of data between the station CPU, a memory buffer, and the ethernet. The four FIFOs each have a selected size to maximize performance of the controller. The controller includes a arbiter to arbitrate which pending request from each of the FIFOs will have priority. The controller limits the transmission of data by each FIFO to 32 bytes per grant. Each FIFO includes logic to convert data in a first bit size format to a second bit size format. The controller also includes logic to convert a 16 bit address to two 8 bit portions for transmission over an 8 bit address bus and logic to reformat the two 8 bit portions to the 16 bit address.
Abstract:
A method of precisely identifying the end of packet location in a memory device. A first and second memory location in the memory device are reserved and a sequence of data is written into the memory device in sequential memory locations. When the last of the sequence of data is written into memory, the memory location is written into the first reserved memory location. The second memory location is written to show that the end of packet has been written into memory.