10G Ethernet Mac IP核

目錄

1. 10G以太網結構

1.1 以太網媒體接入控制器(MAC)

1.2 物理接口收發器(PHY)

2.1 IP核使用

 2.2 example 代碼說明


1. 10G以太網結構

一個完整的10G以太網接口分爲10G PHY和10G MAC兩部分。如下圖所示

1.1 以太網媒體接入控制器(MAC)

主要負責控制與連接物理層的物理介質.在發送數據的時候,MAC協議可以事先判斷是否可以發送數據,如果可以發送將給數據加上一些控制信息,最終將數據以及控制信息以規定的格式發送到物理層;在接收數據的時候,MAC協議首先判斷輸入的信息並是否發生傳輸錯誤,如果沒有錯誤,則去掉控制信息發送至LLC層.看圖上,輸入端是用戶接口,輸出端是MII等延伸的接口。MII( Media Independant Interface)媒體獨立接口,"媒體獨立"表明在不對MAC硬件重新設計或替換的情況下,任何類型的PHY設備都可以正常工作。


1.2 物理接口收發器(PHY)

包括MII/GMII(介質獨立接口)子層,PCS(物理編碼子層),PMA(物理介質附加)子層,PMD(物理介質相關)子層,MDI子層.PHY在發送數據的時候,收到MAC過來的數據(對PHY來說,沒有幀的概念,對它來說,都是數據而不管什麼地址,數據還是CRC.對於100BaseTX因爲使用4B/5B編碼,每4bit就增加1bit的檢錯碼),然後把並行數據轉化爲串行流數據,再按照物理層的編碼規則把數據編碼,再變爲模擬信號把數據送出去.收數據時的流程反之.PHY還有個重要的功能就是實現CSMA/CD的部分功能.它可以檢測到網絡上是否有數據在傳送,如果有數據在傳送中就等待,一旦檢測到網絡空閒,再等待一個隨機時間後將送數據出去.如果兩個碰巧同時送出了數據,那樣必將造成衝突,這時候,衝突檢測機構可以檢測到衝突,然後各等待一個隨機的時間重新發送數據.這個隨機時間很有講究的,並不是一個常數,在不同的時刻計算出來的隨機時間都是不同的,而且有多重算法來應付出現概率很低的同兩臺主機之間的第二次衝突.

2.1 IP核使用

vivado中,添加10G  Ethernet  Mac IP 核

physical interface接口中,如果AXI 數據位寬選擇32bit,該處只能選擇internal

在internal模式下,共享模式只能選擇include shared logic in example design 

The physical interface section has a choice of two selections; XGMII, which implements the
32-bit DDR interface to the physical layer, and Internal, which selects the internal
64-bit/32-bit SDR interface to the physical layer. Only the internal interface is supported at
10 Gb/s when using the 32-bit datapath option.

 2.2 example 代碼說明

想要仔細分析,就自己把仿真波形仿出來,對照代碼看一遍。需要注意,TB文件默認的是tb_mode = "DEMO";收發數據就是tb文件中寫的,不是代碼裏的。後來改成tb_mode = "BIST";就能和代碼中對應上了。

tx_axis_tkeep :標識tx_axis_tdata的有效字節。

 輸出數據TXC 來標識當前輸出的是幀協議的那部分

0XIF是什麼東西?高位55555555 是前導幀,後面070707 是idle狀態 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章