Closed mithro closed 8 years ago
Yes that's something we plan to add and that would also be a nice contribution. It should be very similar to GMII with only DDR support to input/output data.
If you want to add it, create your rgmii.py file, use GMII as a starting point and add the DDR stuff to it (IDDR2/ODDR2 on Xilinx devices). Also please try to indicate in the code where it's vendor specific, and where it's generic so that it will ease contribution for others FPGA vendors.
If you do it, please send us your rgmii.py as a patch, we will review it and integrate it.
I'm pretty sure this has been done by @enjoy-digital (https://github.com/enjoy-digital/liteeth/blob/master/liteeth/phy/s6rgmii.py) liteEth has been moved into a separate repo again (https://github.com/enjoy-digital/liteeth/blob/master) as part of the reorg in https://github.com/m-labs/misoc/issues/17
Sorry, that link to liteeth should be https://github.com/enjoy-digital/liteeth
(I'm logging this bug for advice on the correct way to implement this and so other people can see the request.)
It looks like you already support the GMII interface at https://github.com/enjoy-digital/liteeth/blob/master/liteeth/phy/gmii.py but we need to support RGMII ICs.
The RGMII interface reduces the number of pins needed from 24 pins for GMII to 12 pins. This reduction is achieved by clocking data on both the rising and falling edges of the clock.
From wikipedia;
What is the best way to go about adding this?
(Copied from original https://github.com/enjoy-digital/liteeth/issues/1 at @enjoy-digital 's request.)