以zynq7工程为基础;
在PS内使能“Ethernet”选用emio,再添加IP核“gmii_to_rgmii”,这部分的搭建工程的文章很多,故不再叙述。
IP核设置很简单,如图。
这里有一点需要说明的是:如果调测是发现发送端TX不正常,可以尝试勾选“skew added by PHY”或“skew added though ODELAY”。因为有时外部网口PHY芯片的状态不明确。
最重要的一点是(其他文档未提及):
这个IP核的有比较严格的时序约束,见约束文件“soc_gmii_to_rgmii_0_0_clocks.xdc”文件。
文件内具体约束了发送端和接收端的时序关系,应用到了get_ports语句,get_ports语句后面的信号必须为工程顶层的信号命名,所以,在顶层文件信号命名是必须注意这一点。
亦或者修改.xdc文件(该方法不推荐)
只有这样做了,在工程编译时,才不会报相关的warning,网口功能也才能得到保证。