赞
踩
RTL8211开发板上的常客,这次加一个RGMII版本的实现,在Altera的片子主要用到了ddio这个IP(你说是原语也可以),如果在Xilinx的片子上可以用相对应的IDDR和ODDR,反正就是FPGA对应双沿采样的那一套逻辑。(Xilinx的是有Tri_mode_ethernet_mac,但是我没有Altera的那个IP核的license所以就用这个吧)
RTL8211的配置参考手册《The Realtek RTL8211.PDF》和这个程序《rtl8211_reg_config》,这里是配成了全双工千兆
然后是ddio的使用和时序约束主要就是参考《AN477.PDF》这个文档,然后代码是这个《phy_rgmii_convert》,约束就按照AN477上面的写,把信号名称换了就行,我的就这样基本稳定了,收发都可以,如果有误码可能还需要根据不同板卡的走线在这上面微调。
注意硬件上这个地址和mdio_com.v中的这里应该是一致的
被忘了检查供给芯片上的25M时钟,这个如果没设计晶振的话,用FPGA生成的25M也是可以的
这个PHY的开发还是挺顺利,就mdio的配置是参考开发板的,rgmii根据Altera的文档就搞定了。
下次在Xilinx上调KSZ9031RNX呀,被这个坑的好惨,Xilinx的PS端的Driver里面都不识别,等我调好了再贴上来。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。