IP核描述
10 Giga Ethernet Sub System , 參考文檔PG157:
https://www.xilinx.com/support/documentation/ip_documentation/axi_10g_et...
IP核提供一個(gè)MAC模塊和一個(gè)PCS/PMA模塊,PCS/PMA模塊支持10GBASE-R/10GBASE-KR。客戶端接口協(xié)議為AXI4 Stream,有32bits和64bits兩種位寬,對(duì)于10GBASE-R,32bits位寬接口有著低延遲和低資源消耗的優(yōu)勢(shì)。AXI4-lite為可選接口,用于配置IP核內(nèi)部寄存器。IP核支持DIC機(jī)制,支持Vlan和jumbo幀,支持客戶定制Preamble。支持BASE-R上的1588時(shí)鐘機(jī)制(onestep & two step)。
IP核總體框架如下圖所示:

IP核生成
按如下步驟生成IP核:






在生成IP核過(guò)程中有如下幾個(gè)注意點(diǎn):
1. MAC option模塊中去除了AXI4-lite選項(xiàng)。此接口是連接至CPU接口的配置接口,這里去除是因?yàn)椴恢繡PU配置接口支持什么協(xié)議,在去除了這組接口后,IP核會(huì)將配置寄存器全部作為一組vector呈現(xiàn)在IP核端口上。
2. KCU105模塊兩個(gè)XG口的Transeiver綁定的x0y9和x0y10,所以選擇其中之一即可(根據(jù)板子的具體情況去選擇)。
3. Shared Logic在Core和example中的區(qū)別就是GTHCHANNLE3在Core外面還是Core里邊。如果不是做級(jí)聯(lián)只用1個(gè)Core,那么就放在core里。
IP核仿真
這個(gè)IP核的仿真網(wǎng)表文件(axi_10g_ethernet_0_sim_netlist.v)是壞的,不能用來(lái)進(jìn)行仿真,仿真現(xiàn)象是Core接口上很多輸出是高阻。如果要仿真,則必須使用如下文件:
Sync目錄下的axi_10g_ethernet_0.v;
bd_0文件夾中的內(nèi)容。
Example設(shè)計(jì)中提供了一套驗(yàn)證環(huán)境,驗(yàn)證頂層文件為: axi_10g_ethernet_0_demo_tb.v。
這里需要注意的是:

時(shí)間單位是1ps,精度也是1ps,serdes上是按66bits塊串行打碼流,那么比特周期就是6400/66,由于除不盡,就用了98這個(gè)整數(shù),那么ref_clk就不能是6400了,所以這里的ref_clk是66*98.。如果不按這種處理,IP核在仿真時(shí)就不能link上,從RxGMII接口上看就是一直有l(wèi)ink fault,碼流是壞的。
仿真平臺(tái)框圖如下圖所示:

Bench支持兩種模式:
1. DEMO模式,這種模式下必須開啟address swap功能,激勵(lì)是從rx串行端口灌進(jìn)去的,在PktGen模塊中通過(guò)Axi4-Stream環(huán)回。
2. BIST模式,激勵(lì)從Xgmii TX端口灌進(jìn)去,在串行端口環(huán)回。
接口解析
以64bits位寬為例
1. client Tx Interface

1.1. TX Normal

信號(hào)在tready為高時(shí)才能傳輸,當(dāng)tready為低時(shí)數(shù)據(jù)必須保持到tready為高時(shí)發(fā)出,DA的第一個(gè)字節(jié)必須在數(shù)據(jù)通道0上,tlast表示傳輸?shù)淖詈笠黄行ё止?jié)靠tkeep來(lái)標(biāo)識(shí)。
1.2.TX In band FCS padding
Core可以配置成in-band FCSpassing,意思是在包的尾部跟CRC,32個(gè)比特。當(dāng)Core沒有配置成這個(gè)模式時(shí),如果client發(fā)了小于46Byte的payload,Core能自動(dòng)padding,將包長(zhǎng)度padding成符合以太網(wǎng)最小包長(zhǎng)的包。如果配置了in-band FCS padding,則client需要保證最小包長(zhǎng),如果沒有提供符合要求長(zhǎng)度的包,則core在FCS后padding,并表示這是個(gè)無(wú)效包。

1.3. TX Abording Transmissio
假如要終止一次傳輸該怎么做?
在client interface處終止一個(gè)包的傳輸操作稱為underrun,這種情況發(fā)生時(shí)由于在整包傳輸完成前發(fā)送端口處FIFO空了,有兩種情況:
a. 在txvalid有效的情況下將tx_tuser置起。斷包必須要有DA,SA,L/T域。
b. 包尾處tx_tlast沒有置起。


1.4. Back to Back

1.5. 自定義Preamble
就是在DA前將8字節(jié)Preamble加上。根據(jù)IEEE802.3規(guī)定,Strat必須在第0條數(shù)據(jù)通路上。分不連續(xù)傳輸和連續(xù)傳輸兩種,分別如下圖所示。


1.6. Vlan Tag Frame
提供Vlan Tag傳輸功能,客戶端需提供8100tag標(biāo)志。傳輸時(shí)序如圖所示。
Vlan Tagged

Q in Q Vlan Tagged

1.7.Jumbo 幀傳輸
設(shè)計(jì)默認(rèn)disable此功能,在此功能被關(guān)閉時(shí)若client傳輸超長(zhǎng)幀,超長(zhǎng)幀將被truncated,error code被插入顯示此幀錯(cuò)誤。
1.8. IPG 更改
你可以通過(guò)配置選擇各種長(zhǎng)度的IPG。通過(guò)ifg_delay_value來(lái)延遲XGMII column,Core產(chǎn)生反壓來(lái)延遲下一幀的傳送。

1.9. DIC機(jī)制
發(fā)送端支持DIC機(jī)制,有FCS和無(wú)FCS兩種情況下均支持。Tx_valid必須持續(xù)為高保持?jǐn)?shù)據(jù)傳輸最大效率化。

1.10. Link Fault
Core收到local/remotefault或者link interrupt時(shí),在寄存器FaultInhibit被關(guān)閉的情況下,Core不會(huì)發(fā)送任何幀,Core中的RS層會(huì)被使能,當(dāng)RS層收到LocalFault或者link interrupt ordered set,Core將發(fā)送Remote Ordered Sets.當(dāng)收到Remote Fault 序列時(shí),Core將發(fā)送IDLE。
2. RX Client Interface

2.1.Normal Reception
rx_axis_tvalid為高表明接收數(shù)據(jù)有效,keep指示8條通路中有效的通路,這里要注意的是data是從最低為開始assign數(shù)據(jù)的,所以,最后一片數(shù)據(jù)的keep[0]一定為高。tx_usr為高持續(xù)一個(gè)時(shí)鐘周期,表明收到的數(shù)據(jù)幀有效。

2.2. good frame or bad frame
傳輸?shù)淖詈笠黄瑪?shù)據(jù)至少得有一個(gè)Byte有效,keep不能為0;
傳輸?shù)膶?shí)際幀幀長(zhǎng)比length域顯示的大,則在FCS –PASS功能沒有打開的情況下,多出來(lái)的會(huì)被當(dāng)做padding而被移除;
Lenth域小于46,收到實(shí)際報(bào)文不滿64,如果lengthcheck沒有關(guān)閉的情況下,這個(gè)幀被標(biāo)記為壞幀.
2.3. Frame reception with errors
接收錯(cuò)誤報(bào)文(runt或者不正確crc)

錯(cuò)誤幀產(chǎn)生因素:
1. FCS ERROR
2. 小于64Byte 的幀
3. 在jumbo幀功能沒有使能的情況下收到j(luò)umbo幀
4. 設(shè)置了MTU,收到的幀比設(shè)置的MTU大并且jumbo幀功能沒有使能
5. 長(zhǎng)度/類型字段是長(zhǎng)度,其中長(zhǎng)度值小于46。在這種情況下,需要padding。如果沒有padding,這時(shí)這個(gè)幀就是錯(cuò)誤幀。
6. 長(zhǎng)度/類型字段是長(zhǎng)度,其中長(zhǎng)度值是46或更大,但是真實(shí)的接收幀的長(zhǎng)度不匹配或超過(guò)長(zhǎng)度/類型字段中的值
7. 在沒有禁用控制幀長(zhǎng)度檢查功能時(shí),收到的控制幀長(zhǎng)度小于最小幀長(zhǎng)度;
8. XGMII code中有ERROR
9. 有效pause幀,因?yàn)槠湟呀?jīng)被MAC邏輯使用;
2.4. Reception with FCS passing
如果FCS check failed ,則last為高時(shí)user信號(hào)為低;

2.5. Reception with Preamble
就是preamble出現(xiàn)在stream接口上,同TX

2.6. 帶Vlan Tag
Vlan Tag使能,接收端會(huì)出現(xiàn)Vlan域,最大包長(zhǎng)變成1522B
2.7. 超長(zhǎng)幀傳輸
設(shè)置MTU(Max TransmitUnit)的值必須大于1518,jumbo 幀功能需要打開;
編輯:hfy
-
寄存器
+關(guān)注
關(guān)注
31文章
5425瀏覽量
123543 -
cpu
+關(guān)注
關(guān)注
68文章
11049瀏覽量
216151 -
Xilinx
+關(guān)注
關(guān)注
73文章
2183瀏覽量
124474
發(fā)布評(píng)論請(qǐng)先 登錄
Xilinx Shift RAM IP概述和主要功能
詳解Xilinx的10G PCS PMA IP

TEN 20系列直流/直流轉(zhuǎn)換器模塊介紹
Vivado FIR IP核實(shí)現(xiàn)

美國(guó)多ip服務(wù)器租用配置步驟
設(shè)計(jì)SO-8封裝的詳細(xì)步驟和注意事項(xiàng)

新加坡共享主機(jī)怎么設(shè)置ip
通過(guò)安卓手機(jī)查找IP地址步驟

SRIO介紹及xilinx的vivado 2017.4中生成srio例程代碼解釋

AFE5809怎么降低采樣頻率?
從輸入IP地址到生成街道級(jí)的地理位置,有哪些“看不見”的步驟?

Xilinx DDS IP核的使用和參數(shù)配置

如何申請(qǐng)xilinx IP核的license

評(píng)論