Hi Randy.

> In the block documentation regarding use of the "ten_GbE_v2" block,
> there's no mention
> of the requirement to clock data into the TX fifo on every other clock
> cycle when running
> much above 120MHz.  I assume that this requirement, which was explained
> in the block
> documentation for the original "ten_GbE" block, applies to v2 as well.
> Is this correct?

There are two ways you can prevent TX overflows with the ten_Gbe_v2
block. The first is rate matching which involved clocking in data at a
certain rate, for instance every other cycle, so that the data rate in
just less than 10Gbps. This is what is described in the old 10Ge doc.
A note on this; 10Ge is pretty efficient with large packet - so I
wouldn't worry about rate matching until 145-150 MHz (156.25 is
exactly 10Gbps). Though it is better to be safe than sorry.

The second way of preventing overflows, which allows 100% utilization,
involves using the flow control signals. Basically keep clocking in
data until the "tx almost full" flag goes high after which back-off
transmitting until the flag is cleared. When this flag goes high you
have 4 free slots in the TX FIFO (I think it is actually more, but
rather be safe). This means you have some time to back-off your tx
state machine and don't need to cause undue timing hazards.

Rate matching is sometimes the easiest, but won't get you maximum performance.

Cheers,
David George

-- 
David George
Karoo Array Telescope
Tel: +27 21 531-7282
Email: [email protected]

Reply via email to