FPGA – Under-Clocking a 10Gb Ethernet SFP+ Module

ethernetfpga

The Xilinx device on the Picozed board is a version of the Zynq 7030. The 7030 in general has a GTX transceiver, which in principle is rated to 12.5Gb/s SERDES with the relevant line coding for 10gig Ethernet.

Unfortunately, the specific chip on the Picozed has its GTX transceiver down rated to a reduced 6.6Gb/s.

Is it possible to use a reduced line rate with off the shelf 10gig Ethernet networking hardware (modules and switches)?

Without knowing enough about the precise tech, at first glance, I can't see a problem in principle with the TX side since it would result in a reduced implicit clock frequency. On the RX side it seems more problematic: the other end would need to either realise or be told to transmit at a reduced rate.

Is this something that can be made to work?

Best Answer

A lot of the simpler SFP+ transceivers (direct attach copper cable, short-reach optical fiber) are really little more than analog devices and wouldn't care about the clock (fun fact: friends of mine use SFP optical transmitters to simply distribute a 10 MHz clock, and it works).

None of the stock networking hardware would be prepaed for a 50% rate mismatch, and I'd doubt their PLLs would lock reliably.

So, while point-to-point between devices using relatively dumb SFP+ transceivers might work with arbitrary clocks, I'd not expect functionality with stock networking hardware. It's more likely that you can convince your Zynq's transmitter to work at the full rate than that...

I don't know whether that's viable on your board, but maybe you could use the PCIe endpoints to have 2 or 4 lanes to a 10 GigE network card.