ODDR使用注意


  最近項目用到了千兆以太網,PHY通過ZYNQ的PL管腳進入FPGA后,直接連到PS端的MAC,PL端使用ODDR保證MAC發送的Tx信號到PHY的接收時序,

PHY用的是TI的DP83867,沒注意這貨在GMII的模式下不能調整clock和Data的相位關系,結果FPGA保證了沿對齊,PHY也是沿對齊去采集,導致不同批次的硬件表現不一致!!!血的教訓啊。

  記錄下ODDR的輸出模式:

  

 

  clk_wire和輸出的關系對應如下仿真波形:

  

 

 2. 對於PHY輸出的RX_CLK、RX_DV、RX_ERR、RX_D信號,FPGA內部需要查看時鍾即數據的延遲路徑進行分析。本例中使用iodelay只對RX_DV、RX_ERR、RX_D進行了約束,以滿足PHY輸出時序的要求(DP83867在GMII模式下不支持PHY設置延遲)。

  iodelay使用時需要使用IDELAYCTRL、IDELAYE2,其中IDELAYCTRL在一個工程中不能有多個實例,項目中用到了兩個網口,因此將IDELAYCTRL放在了頂層模塊中,在各個網絡模塊中使用IDELAYE2進行延遲。在xdc中進行延遲值的設置,分別如下:

  

 

  

 

  

 

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM