Browse Prior Art Database

Interlocked functional pipelines for transmitting multiple protocol internet traffic. Disclosure Number: IPCOM000018768D
Original Publication Date: 2003-Aug-06
Included in the Prior Art Database: 2003-Aug-06
Document File: 3 page(s) / 54K

Publishing Venue



This function allows for two pipelines to work together in order to make sure that the pipeline as a whole is always as full as possible. This is particularly useful in the case of Ethernet because it is required that something be sent out on the line at all times. This is the details of the two pipelines and the interlocks between the two. The top pipeline is the startup case, where the Ethernet and/or ATM packets get started. And the bottom pipeline, keeps the packet when they are larger than one 64 byte Ethernet packet or one 48 byte ATM cell.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 54% of the total text.

Page 1 of 3

Interlocked functional pipelines for transmitting multiple protocol internet traffic.

   The problem solved was to create a network transmit design capable of transmitting both Ethernet frames and ATM cells at a peak rate of over 2Gb/s. The design also had to process buffer discard requests. The problem was solved by designing two pipelines, each with independent control and some interlocked control between them.

The first set of functions is processed by the Startup Pipeline. It is a three stage pipeline which performs the following functions: 1) Arbitrate requests from transmit queues and a discard queue.

2) Fetch all the control information necessary to start transmitting an Ethernet frame.

3) Fetch the control information necessary to build the control structure required to transmit an ATM packet. 4) Fetch the ATM control structure required to send an ATM cell

5) Process discard queue requests to discard data buffers and buffer descriptors

The second set of functions is handled by the Transmit Pipeline. They consist of the following:

1) Arbitrate requests to fill transmit buffers for each port and requests from the Startup Pipeline.. 2)Fetch a block of memory data for the transmit of a cell or a portion of a frame.

3) Build the cell header and possible packet trailers for ATM.

4) Update control structures.

5) Write the ATM control structures to memory

The following is a high level diagram of the structure of the two pipelines:


Page 2 of 3

     The pipeline control is designed such that each of the pipelines can function independently or together. For example, the Transmit Pipeline Arbitor can accept a request from an active Ethernet port and begin the process of transm...