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

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

處理以太網(wǎng)幀以及IP,UDP和ARP的模塊

FPGA之家 ? 來源:FPGA之家 ? 作者:FPGA之家 ? 2022-06-30 09:51 ? 次閱讀


基本介紹:

千兆位和10G數(shù)據(jù)包處理(8位和64位數(shù)據(jù)路徑)的以太網(wǎng)相關(guān)組件的集合。包括用于處理以太網(wǎng)幀以及IP,UDP和ARP的模塊,以及用于構(gòu)建完整UDP/IP堆棧的組件。包括用于千兆位和10G的MAC模塊,一個(gè)10G PCS/ PMA PHY模塊以及一個(gè)10G組合MAC/PCS/PMA模塊。還包括帶有智能總線協(xié)同仿真端點(diǎn)的完整MyHDL測(cè)試平臺(tái)。

僅對(duì)于IP和ARP支持,請(qǐng)使用ip_complete(1G)或ip_complete_64(10G)。

對(duì)于UDP,IP和ARP支持,請(qǐng)使用udp_complete(1G)或udp_complete_64(10G)。

頂層千兆和10G MAC模塊是eth_mac_ *,具有各種接口,并且?guī)в?不帶有FIFO。頂層10G PCS/PMA PHY模塊為eth_phy_10g。頂層10G MAC/ PCS/PMA組合模塊為eth_mac_phy_10g。

通用信號(hào):

    tdata   : Data (width generally DATA_WIDTH)
    tkeep   : Data word valid (width generally KEEP_WIDTH, present on _64 modules)
    tvalid  : Data valid
    tready  : Sink ready
    tlast   : End-of-frame

tuser : Bad frame (valid with tlast & tvalid)

文件如下:

    rtl/arp.v                       : ARP handling logic
    rtl/arp_64.v                    : ARP handling logic (64 bit)
    rtl/arp_cache.v                 : ARP LRU cache
    rtl/arp_eth_rx.v                : ARP frame receiver
    rtl/arp_eth_rx_64.v             : ARP frame receiver (64 bit)
    rtl/arp_eth_tx.v                : ARP frame transmitter
    rtl/arp_eth_tx_64.v             : ARP frame transmitter (64 bit)
    rtl/eth_arb_mux.py              : Ethernet frame arbitrated multiplexer generator
    rtl/axis_eth_fcs.v              : Ethernet FCS calculator
    rtl/axis_eth_fcs_64.v           : Ethernet FCS calculator (64 bit)
    rtl/axis_eth_fcs_insert.v       : Ethernet FCS inserter
    rtl/axis_eth_fcs_check.v        : Ethernet FCS checker
    rtl/axis_gmii_rx.v              : AXI stream GMII/MII receiver
    rtl/axis_gmii_tx.v              : AXI stream GMII/MII transmitter
    rtl/axis_xgmii_rx_32.v          : AXI stream XGMII receiver (32 bit)
    rtl/axis_xgmii_rx_64.v          : AXI stream XGMII receiver (64 bit)
    rtl/axis_xgmii_tx_32.v          : AXI stream XGMII transmitter (32 bit)
    rtl/axis_xgmii_tx_64.v          : AXI stream XGMII transmitter (64 bit)
    rtl/eth_arb_mux.v               : Ethernet frame arbitrated multiplexer
    rtl/eth_axis_rx.v               : Ethernet frame receiver
    rtl/eth_axis_rx_64.v            : Ethernet frame receiver (64 bit)
    rtl/eth_axis_tx.v               : Ethernet frame transmitter
    rtl/eth_axis_tx_64.v            : Ethernet frame transmitter (64 bit)
    rtl/eth_demux.v                 : Ethernet frame demultiplexer
    rtl/eth_mac_1g.v                : Gigabit Ethernet GMII MAC
    rtl/eth_mac_1g_fifo.v           : Gigabit Ethernet GMII MAC with FIFO
    rtl/eth_mac_1g_gmii.v           : Tri-mode Ethernet GMII/MII MAC
    rtl/eth_mac_1g_gmii_fifo.v      : Tri-mode Ethernet GMII/MII MAC with FIFO
    rtl/eth_mac_1g_rgmii.v          : Tri-mode Ethernet RGMII MAC
    rtl/eth_mac_1g_rgmii_fifo.v     : Tri-mode Ethernet RGMII MAC with FIFO
    rtl/eth_mac_10g.v               : 10G Ethernet XGMII MAC
    rtl/eth_mac_10g_fifo.v          : 10G Ethernet XGMII MAC with FIFO
    rtl/eth_mac_mii.v               : Ethernet MII MAC
    rtl/eth_mac_mii_fifo.v          : Ethernet MII MAC with FIFO
    rtl/eth_mac_phy_10g.v           : 10G Ethernet XGMII MAC/PHY
    rtl/eth_mac_phy_10g_fifo.v      : 10G Ethernet XGMII MAC/PHY with FIFO
    rtl/eth_mac_phy_10g_rx.v        : 10G Ethernet XGMII MAC/PHY RX with FIFO
    rtl/eth_mac_phy_10g_tx.v        : 10G Ethernet XGMII MAC/PHY TX with FIFO
    rtl/eth_mux.v                   : Ethernet frame multiplexer
    rtl/gmii_phy_if.v               : GMII PHY interface
    rtl/iddr.v                      : Generic DDR input register
    rtl/ip.v                        : IPv4 block
    rtl/ip_64.v                     : IPv4 block (64 bit)
    rtl/ip_arb_mux.v                : IP frame arbitrated multiplexer
    rtl/ip_complete.v               : IPv4 stack (IP-ARP integration)
    rtl/ip_complete_64.v            : IPv4 stack (IP-ARP integration) (64 bit)
    rtl/ip_demux.v                  : IP frame demultiplexer
    rtl/ip_eth_rx.v                 : IPv4 frame receiver
    rtl/ip_eth_rx_64.v              : IPv4 frame receiver (64 bit)
    rtl/ip_eth_tx.v                 : IPv4 frame transmitter
    rtl/ip_eth_tx_64.v              : IPv4 frame transmitter (64 bit)
    rtl/ip_mux.v                    : IP frame multiplexer
    rtl/lfsr.v                      : Generic LFSR/CRC module
    rtl/oddr.v                      : Generic DDR output register
    rtl/mii_phy_if.v                : MII PHY interface
    rtl/rgmii_phy_if.v              : RGMII PHY interface
    rtl/ssio_ddr_in.v               : Generic source synchronous IO DDR input module
    rtl/ssio_ddr_in_diff.v          : Generic source synchronous IO DDR differential input module
    rtl/ssio_ddr_out.v              : Generic source synchronous IO DDR output module
    rtl/ssio_ddr_out_diff.v         : Generic source synchronous IO DDR differential output module
    rtl/ssio_sdr_in.v               : Generic source synchronous IO SDR input module
    rtl/ssio_sdr_in_diff.v          : Generic source synchronous IO SDR differential input module
    rtl/ssio_sdr_out.v              : Generic source synchronous IO SDR output module
    rtl/ssio_sdr_out_diff.v         : Generic source synchronous IO SDR differential output module
    rtl/udp.v                       : UDP block
    rtl/udp_64.v                    : UDP block (64 bit)
    rtl/udp_arb_mux.v               : UDP frame arbitrated multiplexer
    rtl/udp_checksum_gen.v          : UDP checksum generator
    rtl/udp_checksum_gen_64.v       : UDP checksum generator (64 bit)
    rtl/udp_complete.v              : UDP stack (IP-ARP-UDP)
    rtl/udp_complete_64.v           : UDP stack (IP-ARP-UDP) (64 bit)
    rtl/udp_demux.v                 : UDP frame demultiplexer
    rtl/udp_ip_rx.v                 : UDP frame receiver
    rtl/udp_ip_rx_64.v              : UDP frame receiver (64 bit)
    rtl/udp_ip_tx.v                 : UDP frame transmitter
    rtl/udp_ip_tx_64.v              : UDP frame transmitter (64 bit)
    rtl/udp_mux.v                   : UDP frame multiplexer
    rtl/xgmii_baser_dec_64.v        : XGMII 10GBASE-R decoder
    rtl/xgmii_baser_enc_64.v        : XGMII 10GBASE-R encoder
    rtl/xgmii_deinterleave.v        : XGMII data/control de-interleaver
    rtl/xgmii_interleave.v          : XGMII data/control interleaver

AXI Stream 接口示例:

與標(biāo)頭數(shù)據(jù)一起傳輸

                  __    __    __    __    __    __    __
    clk        __/  \__/  \__/  \__/  \__/  \__/  \__/  \__
               ______________                   ___________
    hdr_ready                \_________________/
                        _____ 
    hdr_valid  ________/     \_____________________________
                        _____
    hdr_data   XXXXXXXXX_HDR_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                        ___________ _____ _____
    tdata      XXXXXXXXX_A0________X_A1__X_A2__XXXXXXXXXXXX
                        ___________ _____ _____
    tkeep      XXXXXXXXX_K0________X_K1__X_K2__XXXXXXXXXXXX
                        _______________________
    tvalid     ________/                       \___________
                              _________________
    tready     ______________/                 \___________
                                          _____
    tlast      __________________________/     \___________

    tuser      ____________________________________________

兩個(gè)字節(jié)的傳輸,每個(gè)字節(jié)后都有接收器暫停

              __    __    __    __    __    __    __    __    __
    clk    __/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__
                    _____ _________________
    tdata  XXXXXXXXX_D0__X_D1______________XXXXXXXXXXXXXXXXXXXXXXXX
                    _____ _________________
    tkeep  XXXXXXXXX_K0__X_K1______________XXXXXXXXXXXXXXXXXXXXXXXX
                    _______________________
    tvalid ________/                       \_______________________
           ______________             _____             ___________
    tready               \___________/     \___________/
                          _________________
    tlast  ______________/                 \_______________________

    tuser  ________________________________________________________

兩個(gè)背對(duì)背數(shù)據(jù)包,無暫停

              __    __    __    __    __    __    __    __    __
    clk    __/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__
                    _____ _____ _____ _____ _____ _____
    tdata  XXXXXXXXX_A0__X_A1__X_A2__X_B0__X_B1__X_B2__XXXXXXXXXXXX
                    _____ _____ _____ _____ _____ _____
    tkeep  XXXXXXXXX_K0__X_K1__X_K2__X_K0__X_K1__X_K2__XXXXXXXXXXXX
                    ___________________________________
    tvalid ________/                                   \___________
           ________________________________________________________
    tready
                                _____             _____
    tlast  ____________________/     \___________/     \___________

    tuser  ________________________________________________________

測(cè)試文件:

    tb/arp_ep.py         : MyHDL ARP frame endpoints
    tb/axis_ep.py        : MyHDL AXI Stream endpoints
    tb/baser_serdes.py   : MyHDL 10GBASE-R SERDES endpoints
    tb/eth_ep.py         : MyHDL Ethernet frame endpoints
    tb/gmii_ep.py        : MyHDL GMII endpoints
    tb/ip_ep.py          : MyHDL IP frame endpoints
    tb/mii_ep.py         : MyHDL MII endpoints
    tb/rgmii_ep.py       : MyHDL RGMII endpoints
    tb/udp_ep.py         : MyHDL UDP frame endpoints
    tb/xgmii_ep.py       : MyHDL XGMII endpoints

測(cè)試:

運(yùn)行包含的測(cè)試平臺(tái)需要使用cocotb,cocotbext-axi,cocotbext-eth和Icarus Verilog。可以直接使用pytest(需要cocotb-test),通過tox或通過cocotb makefile進(jìn)行pytest來運(yùn)行測(cè)試平臺(tái)。

審核編輯 :李倩


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

    關(guān)注

    40

    文章

    5385

    瀏覽量

    171162
  • Verilog
    +關(guān)注

    關(guān)注

    28

    文章

    1345

    瀏覽量

    109996
  • 數(shù)據(jù)包
    +關(guān)注

    關(guān)注

    0

    文章

    253

    瀏覽量

    24367

原文標(biāo)題:以太網(wǎng)IP核代碼(verilog)

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    以太網(wǎng)和TCP/IP的關(guān)系解析

    在現(xiàn)代計(jì)算機(jī)網(wǎng)絡(luò)中,以太網(wǎng)和TCP/IP協(xié)議棧是構(gòu)建網(wǎng)絡(luò)通信的基礎(chǔ)。以太網(wǎng)定義了局域網(wǎng)(LAN)中的數(shù)據(jù)鏈路層和物理層的技術(shù)標(biāo)準(zhǔn),而TCP/IP
    的頭像 發(fā)表于 11-08 09:21 ?307次閱讀

    以太網(wǎng)交換模式有哪幾種

    以太網(wǎng)交換模式是指以太網(wǎng)交換機(jī)在數(shù)據(jù)傳輸過程中所采用的處理和轉(zhuǎn)發(fā)數(shù)據(jù)的方式。以太網(wǎng)交換機(jī)作為局域網(wǎng)
    的頭像 發(fā)表于 10-08 10:12 ?687次閱讀

    以太網(wǎng)格式和功能詳解

    以太網(wǎng)(Ethernet Frame)是以太網(wǎng)(Ethernet)協(xié)議用于在局域網(wǎng)(LAN)中傳輸數(shù)據(jù)的基本單位。理解以太網(wǎng)
    的頭像 發(fā)表于 10-08 10:03 ?1219次閱讀

    以太網(wǎng)結(jié)構(gòu)是怎樣的

    以太網(wǎng)(Ethernet Frame)是以太網(wǎng)(Ethernet)協(xié)議用于在局域網(wǎng)(LAN)中傳輸數(shù)據(jù)的基本單位。理解以太網(wǎng)
    的頭像 發(fā)表于 10-08 10:00 ?728次閱讀

    車載以太網(wǎng)與傳統(tǒng)以太網(wǎng)的區(qū)別

    車載以太網(wǎng)與傳統(tǒng)以太網(wǎng)在多個(gè)方面存在顯著的差異,這些差異主要體現(xiàn)在傳輸速率、實(shí)時(shí)性、可靠性、物理層標(biāo)準(zhǔn)、應(yīng)用場(chǎng)景以及技術(shù)發(fā)展等方面。
    的頭像 發(fā)表于 07-25 11:12 ?1495次閱讀

    解讀工業(yè)以太網(wǎng)標(biāo)準(zhǔn):Profinet與EtherNet/IP

    隨著工業(yè)自動(dòng)化技術(shù)的飛速發(fā)展,工業(yè)以太網(wǎng)標(biāo)準(zhǔn)作為連接各種自動(dòng)化設(shè)備、控制系統(tǒng)和信息系統(tǒng)的重要橋梁,其重要性日益凸顯。在眾多工業(yè)以太網(wǎng)標(biāo)準(zhǔn)中,Profinet和EtherNet/IP憑借其各自的特點(diǎn)
    的頭像 發(fā)表于 06-28 16:34 ?1803次閱讀

    以太網(wǎng)無法連接外網(wǎng)IP,提示No route to host,為什么?

    調(diào)試以太網(wǎng),創(chuàng)建socket后無法連接外網(wǎng)IP,提示錯(cuò)誤No route to host。(用的示例protocolssocketstcp_client,以太網(wǎng)芯片選用的w5500) 自己做了實(shí)驗(yàn)
    發(fā)表于 06-21 06:43

    基于FPGA的千兆以太網(wǎng)設(shè)計(jì)

    今天給大俠帶來基于FPGA的千兆以太網(wǎng)設(shè)計(jì),話不多說,上貨。 一、設(shè)計(jì)概述 由于設(shè)計(jì)比較復(fù)雜,本篇帶來設(shè)計(jì)流程以及設(shè)計(jì)思路,僅供各位大俠參考。 本篇通過管理數(shù)據(jù)輸入輸出MDIO配置
    發(fā)表于 06-10 16:44

    STM32F429以太網(wǎng)UDP通訊異常的原因?怎么解決?

    專家好: 目前正在調(diào)試STM32F429的以太網(wǎng),項(xiàng)目使用的是FreeRTOS+LWIP模式,創(chuàng)建工程使用的是cubemx,使用的開發(fā)板是nucleo-144,目前正在調(diào)試以太網(wǎng)部分。測(cè)試用程序
    發(fā)表于 04-29 08:29

    PLC以太網(wǎng)開放式通信概述

    以太網(wǎng)開放式通信概述:   1、以太網(wǎng)開放式通信,即就是通信協(xié)議是由用戶自由定義的;   2、以太網(wǎng)開放式通信是基于TCP、UDP運(yùn)輸層的一種軟件通信協(xié)議;   3、
    發(fā)表于 04-16 12:06 ?967次閱讀
    PLC<b class='flag-5'>以太網(wǎng)</b>開放式通信概述

    FPGA學(xué)習(xí)-以太網(wǎng)的原理介紹

    以太網(wǎng)鏈路上的數(shù)據(jù)包稱作以太網(wǎng)以太網(wǎng)起始部分由前導(dǎo)碼和開始符組成。后面緊跟著一個(gè)
    的頭像 發(fā)表于 04-02 16:26 ?1579次閱讀
    FPGA學(xué)習(xí)-<b class='flag-5'>以太網(wǎng)</b>的原理介紹

    以太網(wǎng)中的格式及不同端口速率下的quanta值介紹

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

    FPGA通過UDP以太網(wǎng)傳輸JPEG壓縮圖片

    在 FPGA 上實(shí)現(xiàn)了 JPEG 壓縮和 UDP 以太網(wǎng)傳輸。從攝像機(jī)的輸入中獲取單個(gè)灰度,使用 JPEG 標(biāo)準(zhǔn)對(duì)其進(jìn)行壓縮,然后通過UDP以太網(wǎng)
    的頭像 發(fā)表于 01-26 09:30 ?830次閱讀
    FPGA通過<b class='flag-5'>UDP</b><b class='flag-5'>以太網(wǎng)</b>傳輸JPEG壓縮圖片

    科普科普以太網(wǎng)的定義、種類以及晶振在以太網(wǎng)上的應(yīng)用

    科普科普以太網(wǎng)的定義、種類以及晶振在以太網(wǎng)上的應(yīng)用? 以太網(wǎng)是一種用于局域網(wǎng)通信的傳輸技術(shù),它是一種在計(jì)算機(jī)網(wǎng)絡(luò)中常用的傳輸協(xié)議,用于將數(shù)據(jù)包從一個(gè)節(jié)點(diǎn)傳輸?shù)搅硪粋€(gè)節(jié)點(diǎn)。本文將詳細(xì)介紹
    的頭像 發(fā)表于 01-24 16:11 ?1022次閱讀

    千兆以太網(wǎng)發(fā)展現(xiàn)狀 千兆以太網(wǎng)技術(shù)優(yōu)勢(shì)

    以太網(wǎng)其實(shí)是我們?nèi)粘I钪卸紩?huì)用到的,比如大家小區(qū)里的千兆以太網(wǎng)等。為增進(jìn)大家對(duì)以太網(wǎng)的了解,本文講對(duì)千兆以太網(wǎng)的發(fā)展現(xiàn)狀、千兆以太網(wǎng)技術(shù)優(yōu)
    的頭像 發(fā)表于 12-08 16:40 ?995次閱讀