*此調試過程亦適用于10G,25G,40G,50G,100G以太網IP核,每個IP可能會有些細節上的不同,但整個自協商和LinkTraining過程是類似的,可以作為參考。
*如果是40G/50G, 100G以太網,選的是多通道的IP,務必保證兩端的通道0是正確對接上的,因為在做自協商的時候,以太網只使用通道0,其它通道需在自協商完成后再加入工作。
一.產生一個例子工程仿真
打開你的Vivado工具,選擇你所需要的器件類型,在IPCatalog里產生一個10G/25GEthernet Subsystem IP core,勾上BASE-KR和IncludeAN/LT Logic以涵蓋IP自協商功能
(這里為方便起見,選擇了Controland Status Vectors接口,這樣IP的配置可以通過在代碼中直接用邏輯賦值IP的input輸入來完成;如果你需要選用AXI接口進行寄存器配置,請參考例子工程的各項配置,自己相應地寫好對應寄存器值)
右鍵IP的.xci,Open IPExample Design
例子工程產生出來之后,我們需要做一些簡單的修改,因為原始的例子工程仿真里面,沒有做自協商的演示。
1. 修改頂層代碼“xxv_ethernet_0_exdes.v”,使能自協商功能,并且將AN的seed信號引到輸入port上,方便之后修改,如下圖
2. 修改tb文件,原來tb只調用了一個IP自己做環回,我們需要再復制一個,改成兩個IP互聯,將兩者的串行數據txp/txn和rxp/rxn對接起來;新加的IP,輸入可以跟原來那個共享保持不變,輸出可以懸空;最后將之前拉出來的AN的seed值任意設置為兩個不同的值即可(這是IEEE協議的要求,PG210中有相關描述)
3. 在開始仿真前,請取消“UsePrecompiled IP simulation libraries”的勾,并加上“-dSIM_SPEED_UP”的vlog選項,以加速完成你的仿真,便于查看仿真結果。
然后,點擊RunBehavior Simulation
二.自協商與LinkTraining的調試過程
*以下整個調試過程同時適用于仿真與上板,上板時可以用ILA抓出相同的信號來進行調試
a. 隨著tx_disable拉高一個脈沖,標志著以太網的自協商狀態機正式開始運行;上電,復位IP或兩端任一端復位AN,都會導致這一行為的發生。
b.自協商的工作完全由IP自動完成的,所以只要配置沒問題,你只需要耐心等待就可以看到自協商的完成,以an_good_check為標志,并且進入下一步linktraining
c. 在LT的過程中,首先你要等到IP能夠鎖定LT幀,即frame_lock拉高,然后你就可以進行你自己的LT算法了,與AN不同LT是由客戶手動完成的。
不過由于Xilinx的Serial Transceiver能夠提供非常好的信號質量,因此我們建議用戶如果兩端用的都是Xilinx的器件,可以直接跳過此步驟,將輸入信號rx_trained拉高。
d.無論你是做完了自己的LT測試,還是直接跳過了此步驟,當兩端都拉高了自己的rx_trained之后,就可以等待LT的完成標志signal_detect拉高
e.最后autoneg_complete拉高代表了整個自協商和LinkTraining的流程都成功完成了,此時IP恢復到與BASE-R模式完全相同的工作模式
f.等待block_lock,stat_rx_status等信號拉高,以太網IP最終完成了linkup
*具體AN/LT的步驟(包括狀態機)可以同時參考IEEE協議的定義
*以上這些IP標志信號的命名,與以太網協議定義的AN/LT狀態機中狀態信號命名基本保持一致,方便客戶在協議中找到對應的涵義
三.調試建議
當你在實際應用中,無法完成自協商時,可以分步來做調試;首先關閉兩端的AN/LT,以太網是否能完成link up,并且傳輸數據無誤碼;然后分別打開AN關閉LT,或者打開LT關閉AN,是否都能linkup,哪個失敗就具體調試哪個部分;最后全部使能,檢查link結果。
-
以太網
+關注
關注
40文章
5465瀏覽量
172847 -
寄存器
+關注
關注
31文章
5372瀏覽量
121314 -
IP
+關注
關注
5文章
1723瀏覽量
150033
原文標題:開發者分享 | 如何調試10G/25G以太網IP自協商/Link Training
文章出處:【微信號:FPGA-EETrend,微信公眾號:FPGA開發圈】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
ALINX發布100G以太網UDP/IP協議棧IP核
易飛揚25G SFP28 ZR傳輸模塊介紹
易飛揚25G SFP28 ZR,突破25G傳輸距離
英偉達邁絡思以太網光模塊的介紹和型號梳理
![英偉達邁絡思<b class='flag-5'>以太網</b>光模塊的介紹和型號梳理](https://file1.elecfans.com/web1/M00/F5/C1/wKgZoWdD9hKAJrD0AAT6YvKyRAE921.jpg)
25G SFP28 BIDI光模塊介紹
明明我說的是25G信號,你卻讓我看12.5G的損耗?
![明明我說的是<b class='flag-5'>25G</b>信號,你卻讓我看12.5<b class='flag-5'>G</b>的損耗?](https://file1.elecfans.com//web2/M00/0A/EA/wKgaomcYTF6AH6f6AABX-iC60R8642.png)
利用適用于 10G 至 12.5G 應用的以太網轉接驅動器和重定時器來擴大覆蓋范圍
![利用適用于 <b class='flag-5'>10G</b> 至 12.5<b class='flag-5'>G</b> 應用的<b class='flag-5'>以太網</b>轉接驅動器和重定時器來擴大覆蓋范圍](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
5G以太網和5G前傳業務的有效解決方案——25G可調DWDM光模塊
![5<b class='flag-5'>G</b><b class='flag-5'>以太網</b>和5<b class='flag-5'>G</b>前傳業務的有效解決方案——<b class='flag-5'>25G</b>可調DWDM光模塊](https://file1.elecfans.com//web2/M00/FD/31/wKgZomaYuzSALmBKAAB0zEgpYkY378.png)
以太網無法連接外網IP,提示No route to host,為什么?
IEEE 1588和10G/40G同步以太網的82P33831同步管理單元評估板數據手冊
![IEEE 1588和<b class='flag-5'>10G</b>/40<b class='flag-5'>G</b>同步<b class='flag-5'>以太網</b>的82P33831同步管理單元評估板數據手冊](https://file1.elecfans.com/web2/M00/E3/E8/wKgZomY90QyAdN0MAARmmtp5ETU388.png)
25G SFP28 AOC線纜最新數據傳輸解決方案
![<b class='flag-5'>25G</b> SFP28 AOC線纜最新數據傳輸解決方案](https://file1.elecfans.com//web2/M00/C7/14/wKgaomYGKNiAUOPHAAD-zS6oTZU903.png)
基于IEEE Clause 28雙絞線的以太網自協商機制解析(一)
![基于IEEE Clause 28雙絞線的<b class='flag-5'>以太網</b><b class='flag-5'>自</b><b class='flag-5'>協商</b>機制解析(一)](https://file1.elecfans.com/web2/M00/C4/73/wKgZomXzqzOAOM78AAAez8xCV3k480.png)
基于IEEE Clause 28雙絞線的以太網自協商機制
![基于IEEE Clause 28雙絞線的<b class='flag-5'>以太網</b><b class='flag-5'>自</b><b class='flag-5'>協商</b>機制](https://file1.elecfans.com/web2/M00/C5/5C/wKgaomXzqpeAVHOjAAAez8xCV3k989.png)
評論