0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Xilinx Ten Giga Sub System IP生成詳細步驟

電子設計 ? 來源:CSDN博主 ? 作者:蜀黍設計驗證 ? 2020-12-30 12:56 ? 次閱讀

IP核描述

10 Giga Ethernet Sub System , 參考文檔PG157:

https://www.xilinx.com/support/documentation/ip_documentation/axi_10g_et...

IP核提供一個MAC模塊和一個PCS/PMA模塊,PCS/PMA模塊支持10GBASE-R/10GBASE-KR。客戶端接口協(xié)議為AXI4 Stream,有32bits和64bits兩種位寬,對于10GBASE-R,32bits位寬接口有著低延遲和低資源消耗的優(yōu)勢。AXI4-lite為可選接口,用于配置IP核內部寄存器。IP核支持DIC機制,支持Vlan和jumbo幀,支持客戶定制Preamble。支持BASE-R上的1588時鐘機制(onestep & two step)。

IP核總體框架如下圖所示:

pIYBAF9uJ-CAYT4BAAFDg3-F1I0510.png

IP核生成

按如下步驟生成IP核:

o4YBAF9uJ-KASLRvAAGEwmzpCi4295.png

pIYBAF9uJ-SAGzlGAAFBUrQSxwg317.png

pIYBAF9uJ-WAEjWmAADTgNDFZpo920.png

o4YBAF9uJ-eAPVWdAAEcSyGVKK0053.png

o4YBAF9uJ-mAX0xtAAEeVwG5lC4356.png

pIYBAF9uJ-uAe8n2AAFSG7cBrrg470.png

在生成IP核過程中有如下幾個注意點:

1. MAC option模塊中去除了AXI4-lite選項。此接口是連接至CPU接口的配置接口,這里去除是因為不知道CPU配置接口支持什么協(xié)議,在去除了這組接口后,IP核會將配置寄存器全部作為一組vector呈現(xiàn)在IP核端口上。

2. KCU105模塊兩個XG口的Transeiver綁定的x0y9和x0y10,所以選擇其中之一即可(根據(jù)板子的具體情況去選擇)。

3. Shared Logic在Core和example中的區(qū)別就是GTHCHANNLE3在Core外面還是Core里邊。如果不是做級聯(lián)只用1個Core,那么就放在core里。

IP核仿真

這個IP核的仿真網(wǎng)表文件(axi_10g_ethernet_0_sim_netlist.v)是壞的,不能用來進行仿真,仿真現(xiàn)象是Core接口上很多輸出是高阻。如果要仿真,則必須使用如下文件:

Sync目錄下的axi_10g_ethernet_0.v;

bd_0文件夾中的內容。

Example設計中提供了一套驗證環(huán)境,驗證頂層文件為: axi_10g_ethernet_0_demo_tb.v。

這里需要注意的是:

pIYBAF9uJ-2Ab9gzAAGdYLy3-9A158.png

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

仿真平臺框圖如下圖所示:

o4YBAF9uJ--AX5StAAFDMTi5p0Y556.png

Bench支持兩種模式:

1. DEMO模式,這種模式下必須開啟address swap功能,激勵是從rx串行端口灌進去的,在PktGen模塊中通過Axi4-Stream環(huán)回。

2. BIST模式,激勵從Xgmii TX端口灌進去,在串行端口環(huán)回。

接口解析

以64bits位寬為例

1. client Tx Interface

pIYBAF9uJ_GAI_bcAACJYjVxiV4519.png

1.1. TX Normal

pIYBAF9uJ_OAHLqUAAHD0J1UY4k154.png

信號在tready為高時才能傳輸,當tready為低時數(shù)據(jù)必須保持到tready為高時發(fā)出,DA的第一個字節(jié)必須在數(shù)據(jù)通道0上,tlast表示傳輸?shù)淖詈笠黄?,有效字?jié)靠tkeep來標識。

1.2.TX In band FCS padding

Core可以配置成in-band FCSpassing,意思是在包的尾部跟CRC,32個比特。當Core沒有配置成這個模式時,如果client發(fā)了小于46Byte的payload,Core能自動padding,將包長度padding成符合以太網(wǎng)最小包長的包。如果配置了in-band FCS padding,則client需要保證最小包長,如果沒有提供符合要求長度的包,則core在FCS后padding,并表示這是個無效包。

o4YBAF9uJ_WAd5PYAAHEqtUKm-4622.png

1.3. TX Abording Transmissio

假如要終止一次傳輸該怎么做?

在client interface處終止一個包的傳輸操作稱為underrun,這種情況發(fā)生時由于在整包傳輸完成前發(fā)送端口處FIFO空了,有兩種情況:

a. 在txvalid有效的情況下將tx_tuser置起。斷包必須要有DA,SA,L/T域。

b. 包尾處tx_tlast沒有置起。

o4YBAF9uJ_eASgdFAAHnjdHeslM397.png

pIYBAF9uJ_mALEVuAAGHyUB0hmg638.png

1.4. Back to Back

o4YBAF9uJ_yAQiJbAAG6vjFPgFM674.png

1.5. 自定義Preamble

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

o4YBAF9uJ_6AF_PmAAGu1CD6LoU454.png

pIYBAF9uKACAADD_AAG2mq5infk747.png

1.6. Vlan Tag Frame

提供Vlan Tag傳輸功能,客戶端需提供8100tag標志。傳輸時序如圖所示。

Vlan Tagged

pIYBAF9uKAOAV2O5AAGd2MqW4d0447.png

Q in Q Vlan Tagged

o4YBAF9uKAWAfNTJAAGdjQ961VQ103.png

1.7.Jumbo 幀傳輸

設計默認disable此功能,在此功能被關閉時若client傳輸超長幀,超長幀將被truncated,error code被插入顯示此幀錯誤。

1.8. IPG 更改

你可以通過配置選擇各種長度的IPG。通過ifg_delay_value來延遲XGMII column,Core產生反壓來延遲下一幀的傳送。

pIYBAF9uKAeAFVM3AAGMkmhBh1U989.png

1.9. DIC機制

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

o4YBAF9uKAqAZAJOAAMZO3-OP2g076.png

1.10. Link Fault

Core收到local/remotefault或者link interrupt時,在寄存器FaultInhibit被關閉的情況下,Core不會發(fā)送任何幀,Core中的RS層會被使能,當RS層收到LocalFault或者link interrupt ordered set,Core將發(fā)送Remote Ordered Sets.當收到Remote Fault 序列時,Core將發(fā)送IDLE。

2. RX Client Interface

pIYBAF9uKAyARDZyAACjLt0mPyY598.png

2.1.Normal Reception

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

pIYBAF9uKA6ANOE_AAGAP78RAOc529.png

2.2. good frame or bad frame

傳輸?shù)淖詈笠黄瑪?shù)據(jù)至少得有一個Byte有效,keep不能為0;

傳輸?shù)膶嶋H幀幀長比length域顯示的大,則在FCS –PASS功能沒有打開的情況下,多出來的會被當做padding而被移除;

Lenth域小于46,收到實際報文不滿64,如果lengthcheck沒有關閉的情況下,這個幀被標記為壞幀.

2.3. Frame reception with errors

接收錯誤報文(runt或者不正確crc)

o4YBAF9uKBCAOm6jAAH7ECjBm3Y687.png

錯誤幀產生因素:

1. FCS ERROR

2. 小于64Byte 的幀

3. 在jumbo幀功能沒有使能的情況下收到jumbo幀

4. 設置了MTU,收到的幀比設置的MTU大并且jumbo幀功能沒有使能

5. 長度/類型字段是長度,其中長度值小于46。在這種情況下,需要padding。如果沒有padding,這時這個幀就是錯誤幀。

6. 長度/類型字段是長度,其中長度值是46或更大,但是真實的接收幀的長度不匹配或超過長度/類型字段中的值

7. 在沒有禁用控制幀長度檢查功能時,收到的控制幀長度小于最小幀長度;

8. XGMII code中有ERROR

9. 有效pause幀,因為其已經被MAC邏輯使用;

2.4. Reception with FCS passing

如果FCS check failed ,則last為高時user信號為低;

pIYBAF9uKBOACDLUAAIt0uppwOU643.png

2.5. Reception with Preamble

就是preamble出現(xiàn)在stream接口上,同TX

pIYBAF9uKBWAczXjAAJXYk1QP5I442.png

2.6. 帶Vlan Tag

Vlan Tag使能,接收端會出現(xiàn)Vlan域,最大包長變成1522B

2.7. 超長幀傳輸

設置MTU(Max TransmitUnit)的值必須大于1518,jumbo 幀功能需要打開;

編輯:hfy

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 寄存器
    +關注

    關注

    31

    文章

    5253

    瀏覽量

    119205
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10702

    瀏覽量

    209371
  • Xilinx
    +關注

    關注

    70

    文章

    2137

    瀏覽量

    120394
收藏 人收藏

    評論

    相關推薦

    交換機怎么配置IP地址

      在構建和管理網(wǎng)絡架構中,交換機作為核心設備之一,其IP地址的配置是確保網(wǎng)絡正常運行的重要步驟。正確配置交換機的IP地址,可以使得網(wǎng)絡設備之間能夠正常通信,并實現(xiàn)對網(wǎng)絡的有效管理。本文將詳細
    的頭像 發(fā)表于 06-06 11:16 ?6106次閱讀

    Allegro16.6光繪生成步驟

    電子發(fā)燒友網(wǎng)站提供《Allegro16.6光繪生成步驟.pdf》資料免費下載
    發(fā)表于 03-07 14:22 ?2次下載

    MSI中斷簡介和生成方法

    Xilinx PCIE IP中MSI中斷相關的地址如下圖1所示,如果想要成功產生中斷,MSI Control, Message Address (Lower), Message Address
    的頭像 發(fā)表于 02-25 09:24 ?1846次閱讀
    MSI中斷簡介和<b class='flag-5'>生成</b>方法

    如何禁止vivado自動生成 bufg

    在Vivado中禁止自動生成BUFG(Buffered Clock Gate)可以通過以下步驟實現(xiàn)。 首先,讓我們簡要了解一下什么是BUFG。BUFG是一個時鐘緩沖器,用于緩沖輸入時鐘信號,使其更穩(wěn)
    的頭像 發(fā)表于 01-05 14:31 ?1453次閱讀

    keil如何生成bin文件

    Keil是一種集成開發(fā)環(huán)境(IDE),專為ARM架構的嵌入式系統(tǒng)開發(fā)而設計。在Keil中生成bin文件是將代碼編譯并轉換為可執(zhí)行文件的過程。本文將詳細介紹Keil生成bin文件的步驟
    的頭像 發(fā)表于 12-15 13:43 ?9732次閱讀

    Speos Sensor System(SSS)的使用指南

    本文是Speos Sensor System(SSS)的使用指南,這是一個強大的解決方案,用于camera sensor模擬結果的后處理。本文的目的是通過一個例子來理解如何正確使用SSS。當然本文描述的分析步驟適合任何案例。
    的頭像 發(fā)表于 12-03 09:49 ?1260次閱讀
    Speos Sensor <b class='flag-5'>System</b>(SSS)的使用指南

    dhcp配置詳細步驟

    中央服務器上集中管理和分配IP地址,簡化了網(wǎng)絡配置的過程,提高了網(wǎng)絡管理的效率。本文將詳細介紹如何進行DHCP配置的步驟。 一、了解DHCP 在開始配置DHCP之前,首先需要了解一些DHCP的基礎知識
    的頭像 發(fā)表于 11-27 14:50 ?7360次閱讀

    linux更改ip步驟命令

    Linux更改IP地址的步驟和相關命令。 步驟一:查看當前網(wǎng)絡配置 在更改IP地址之前,首先需要查看當前網(wǎng)絡配置??梢允褂妹?ifconfig 或
    的頭像 發(fā)表于 11-27 14:38 ?1449次閱讀

    XILINX FPGA IP之AXI Traffic Generator

    AXI Traffic Generator IP 用于在AXI4和AXI4-Stream互連以及其他AXI4系統(tǒng)外設上生成特定序列(流量)。它根據(jù)IP的編程和選擇的操作模式生成各種類型
    的頭像 發(fā)表于 11-23 16:03 ?1864次閱讀
    <b class='flag-5'>XILINX</b> FPGA <b class='flag-5'>IP</b>之AXI Traffic Generator

    FPGA新IP核學習的正確打開方式

    步驟,您可以更好地理解和使用XilinxIP核。 二、其它方式 可以通過百度或google搜索這個IP的相關博客,看看網(wǎng)上大牛們是怎么用和理解這個
    發(fā)表于 11-17 11:09

    Xilinx FPGA IP之Block Memory Generator功能概述

    Xilinx Block Memory Generator(BMG)是一個先進的內存構造器,它使用Xilinx fpga中的嵌入式塊RAM資源生成面積和 性能優(yōu)化的內存。
    的頭像 發(fā)表于 11-14 17:49 ?2004次閱讀
    <b class='flag-5'>Xilinx</b> FPGA <b class='flag-5'>IP</b>之Block Memory Generator功能概述

    MAX77960B-MAX77961B: 25V<sub>IN</sub>, 3A<sub>OUT</sub> to 6A<sub>OUT</sub>, USB-C Buck-Boost Charger wi

    電子發(fā)燒友網(wǎng)為你提供ADI(ADI)MAX77960B-MAX77961B: 25VIN, 3AOUT
    發(fā)表于 10-16 19:22
    MAX77960B-MAX77961B: 25V<<b class='flag-5'>sub</b>>IN</<b class='flag-5'>sub</b>>, 3A<<b class='flag-5'>sub</b>>OUT</<b class='flag-5'>sub</b>> to 6A<<b class='flag-5'>sub</b>>OUT</<b class='flag-5'>sub</b>>, USB-C Buck-Boost Charger wi

    Xilinx LogiCORE IP視頻定時控制器內核簡介

    Xilinx LogiCORE IP視頻定時控制器內核是一款通用視頻定時生成器和檢測器。該內核可通過完整的寄存器集進行高度編程,從而控制各種定時生成參數(shù)。這種可編程性與一組全面的中斷位
    的頭像 發(fā)表于 10-16 11:06 ?485次閱讀
    <b class='flag-5'>Xilinx</b> LogiCORE <b class='flag-5'>IP</b>視頻定時控制器內核簡介

    LTM4710-1:低V <sub>sub>IN </sub>,四八A硅開關 微模調控數(shù)據(jù)表 ADI

    電子發(fā)燒友網(wǎng)為你提供ADI(ADI)LTM4710-1:低V sub>IN ,四八A硅開關 微模調控數(shù)據(jù)表相關產品參數(shù)、數(shù)據(jù)手冊,更有
    發(fā)表于 10-08 16:38
    LTM4710-1:低V <<b class='flag-5'>sub</b>><b class='flag-5'>sub</b>>IN </<b class='flag-5'>sub</b>>,四八A硅開關 微模調控數(shù)據(jù)表 ADI