精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

設置AMD以太網IP核的Pause幀處理

XILINX開發者社區 ? 來源:XILINX開發者社區 ? 2023-10-18 09:15 ? 次閱讀

目前 AMD以太網 IP 核,如軟核 10G/25G,40G/50G 或者硬核 CMAC,MRMAC,DCMAC 等等,都采用的是同一種 Pause 幀處理方式。

這篇文章主要介紹了用戶應當如何設置以太網 IP 的相關參數,使其能夠有效處理以太網的 Pause 幀。

按照 IEEE802.3 協議,一個 Pause 幀是一個最小長度,即 64bytes 長的以太網幀,目標地址(DA)為一個廣播地址 01-80-C2-00-01,Type 為 8808,Opcode 為 0001(Global)或者 0101(Priority)。具體細節請參考 IEEE802.3 協議。

PFC 結構如下所示:

a45d6d10-6d00-11ee-939d-92fbcf53809c.png

AMD 以太網 IP,可以靈活的設置這些以太網 Pause 幀參數。例如通過設置如下 TX 側的參數,包括 GPP(Global Pause Packet)的目標地址(DA),Ether Type,Opcode 等,這樣 IP 會產生你所期望的任意數據包,作為你要的 Pause 幀發送出去。

a4650412-6d00-11ee-939d-92fbcf53809c.png

同樣,IP 也需要在 RX 側做相應的設置,這樣才能識別出 Pause 幀并進行處理。接下來重點介紹,如何在 RX 側設置 Pause 幀的處理。

首先,IP 遵循如下 3 個 Steps,對收到的以太網幀進行處理:

Step1,如果通過了,則該以太網幀被認為是控制包,進入 Step2,并且不再出現在用戶數據側顯示;只有將 ctl_rx_forward_control 設為 1 的時候,即使是控制包,IP 仍然會將其跟其它數據包一起輸出到 RX 用戶側;如果 Step1 沒通過,則該以太網幀為普通 RX 數據包。

Step2,如果通過了,則該以太網幀被確認為全局 Pause 幀;如果沒通過,則進入 Step3。

Step3,如果通過了,則該以太網幀被確認為 Priority Pause 幀;如果沒通過,則不是 Pause 幀,為其它類型控制幀。

a479fb7e-6d00-11ee-939d-92fbcf53809c.png

也就是說,這里有四種特殊的以太網幀,分別是兩種控制包 Global Control Packet(gcp),Priority Control Packet(pcp),和兩種 Pause 幀 Global Pause Packet(gpp),Priority Pause Packet(ppp)。

IP 需要首先判斷收到的是否是控制包(即 gcp 或 pcp),如果是,則先判斷是否是 Global Pause 幀,再判斷是否是 Priority Pause 幀。這幾步判斷,IP 都給了相應的參數,供用戶設置,每一個條件,用戶都可以選擇是否要作檢查。

文檔里給出了 IP 是如何做判斷的相關代碼,如下:(由于某些新的 IP 文檔尚未完善,如 DCMAC,如果缺失這部分內容,也是可以參考其它 IP 文檔里的這一段內容)。

a48327b2-6d00-11ee-939d-92fbcf53809c.png

接下來,選取 Step2 中的兩句,具體解釋下,如何理解這個代碼。其它部分可以類推。

a49ac322-6d00-11ee-939d-92fbcf53809c.png

先來看圖中第二句,判斷該以太網數據包為 Global Pause 幀(gpp),首先要滿足 Step1,然后是由上圖中第二句代碼(assign global_pause_packet)后面的所有項“與”(&&)起來的,就是說要滿足后面所有的項,分別是 DA 符合,SA 符合,Etype 符合,Opcode 符合,并且使能了該功能(即設置ctl_rx_enable_gpp=1)。

再來看第一句,Opcode 符合(assign opcode_match_gpp),是由后面兩個條件“或”起來。這里要注意,為什么是或,第一個條件是該功能使能取反,也就是說,如果你設置使能不打開的話,這個條件是直接滿足的;這就意味著,不打開這個使能表示代碼不檢測這個條件,任意數據都會被當作滿足條件,所有數據包都會被認作 Pause 幀;使能打開后,才會要求后面的第二個條件符合才行,第二個條件即 RX 收到的數據包的該段數據,滿足你設置的 ctl_rx_opcode_gpp,按照協議你應當將其設置為 0001。

總之,在設置完這些 Pause 幀相關參數后,就可以使用以太網 IP 的流控功能了。通過 stat_tx_pause 確認 IP 是否成功發出 Pause 幀,并通過 stat_rx_pause 確認 IP 是否能收到 Pause 幀。如果仍然無法成功接收到 Pause 幀,不要忘了將 ctl_rx_forward_control 設為 1,并在用戶側接收數據的地方,檢查 IP 實際收到的數據包,并逐條對照之前的。






審核編輯:劉清

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

    關注

    40

    文章

    5385

    瀏覽量

    171160

原文標題:開發者分享|設置 AMD 以太網 IP 核的 Pause 幀處理

文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發者社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    什么是Pause以太網MAC的pause流控介紹

    Pause是一種報文類型。在IEEE802.3協議中規定中,pause是一種控制,用于控制數據流停止發送,在MAC 發送側產生
    的頭像 發表于 09-15 10:48 ?6415次閱讀
    什么是<b class='flag-5'>Pause</b><b class='flag-5'>幀</b>?<b class='flag-5'>以太網</b>MAC的<b class='flag-5'>pause</b>流控介紹

    以太網中的格式及不同端口速率下的quanta值介紹

    PAUSE以太網在全雙工模式下,MAC控制子層發出的流量控制
    的頭像 發表于 02-29 10:04 ?2186次閱讀
    <b class='flag-5'>以太網</b>中的<b class='flag-5'>幀</b>格式及不同端口速率下的quanta值介紹

    求助,怎樣控制altera的以太網IP呢?

    本人想使用altera的以太網IPtse,發現Quartus里面并沒有告訴怎樣控制這個。請問大家是怎樣控制這個
    發表于 01-22 14:55

    使用10G以太網MAC IP

    您好,如果我想使用10G以太網MAC IP,那么可用的10G支持板。問候維諾德庫馬爾
    發表于 04-02 10:08

    vivado三速以太網IP怎么用

    vivado的三速以太網IP接口太多了,完全不知道應該怎么用,哪位大佬能發我一份設計或者仿真嗎?簡單的就好
    發表于 04-15 12:58

    萊迪思和Flexibilis推出FPGA以太網交換IP

    萊迪思半導體公司和FLEXIBILIS Oy日前宣布了即可獲取Flexibilis以太網交換(FES)IP。三速(10Mbps/100Mbps/1Gbps)FES IP
    發表于 06-16 08:44 ?601次閱讀
    萊迪思和Flexibilis推出FPGA<b class='flag-5'>以太網</b>交換<b class='flag-5'>IP</b><b class='flag-5'>核</b>

    以太網結構

    以太網結構
    發表于 01-21 12:00 ?4次下載

    基于Avalon總線的非標準以太網控制器IP設計_薛毅

    基于Avalon總線的非標準以太網控制器IP設計_薛毅
    發表于 03-19 11:33 ?1次下載

    千兆以太網IP接口和萬兆以太網IP接口

    對于IP輸出數據的解析最好的工具就是其自帶的仿真文件,里面既將接收的數據進行了解析,又將發送給IP的數據進行了封裝,這對于了解數據結構和協議是十分有幫助的,
    發表于 07-09 14:07 ?3841次閱讀

    萬兆以太網IP SAN的融合

    IP SAN存儲融合到萬兆以太網絡中,將大大增加了IP SAN網絡的通信帶寬,提高主機訪問存儲的速度,同時由于以太網靈活易實施的特點,萬兆
    的頭像 發表于 01-24 15:16 ?3166次閱讀

    Xilinx平臺以太網接口(一)TCP/IP基礎

    在完成以太網通信實驗之前,必須要對以太網基礎知識進行了解。時間充裕的可以看看《圖解TCP/IP》作為掃盲。本文重點對以太網結構進行介紹。
    的頭像 發表于 02-19 17:54 ?2287次閱讀
    Xilinx平臺<b class='flag-5'>以太網</b>接口(一)TCP/<b class='flag-5'>IP</b>基礎

    Android 9以太網功能移植以及設置IP地址

    基于Android 9實現以太網IP地址設置和功能實現
    發表于 06-20 14:42 ?2次下載

    深入探究以太網PAUSE處理流程及長距離鏈路控制閾值

    在產生PAUSE時,典型的實現不會嘗試猜測PAUSE的特定持續時間,而是依賴于X-ON和X-OFF的行為,這種方法必須將PAUSE中Ti
    發表于 03-11 11:32 ?1984次閱讀
    深入探究<b class='flag-5'>以太網</b><b class='flag-5'>PAUSE</b><b class='flag-5'>幀</b><b class='flag-5'>處理</b>流程及長距離鏈路控制閾值

    以太網結構是怎樣的

    以太網(Ethernet Frame)是以太網(Ethernet)協議用于在局域(LAN)中傳輸數據的基本單位。理解以太網
    的頭像 發表于 10-08 10:00 ?727次閱讀

    以太網格式和功能詳解

    以太網(Ethernet Frame)是以太網(Ethernet)協議用于在局域(LAN)中傳輸數據的基本單位。理解以太網
    的頭像 發表于 10-08 10:03 ?1218次閱讀