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]

