日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

基于Xilinx K7 325t的千兆網(wǎng)UDP協(xié)議實(shí)現(xiàn)小記

FPGA設(shè)計(jì)論壇 ? 來(lái)源:FPGA設(shè)計(jì)論壇 ? 2026-04-27 15:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

基于xilinx k7 325t實(shí)現(xiàn)的千兆網(wǎng)udp協(xié)議,只需要設(shè)置好IP,端口,就可以直接給數(shù)據(jù),基本等同于透?jìng)?,可以不用管底層協(xié)議。 可以 # FPGA 實(shí)現(xiàn)udp模塊說(shuō)明 ## udp_protocol_top gig_ethernet_pcs_pma有腳本生成,任何版本vivado都可以支持,注釋里面有對(duì)重要信號(hào)的說(shuō)明,默認(rèn)是1000M,100M需要改內(nèi)部信號(hào),PHY芯片是88E1512,SGMII接口。 FPGA和上位機(jī)IP,端口都要設(shè)置好才能收到數(shù)據(jù),注意在同一個(gè)網(wǎng)段 ## 接收數(shù)據(jù) udp_protocol_top.rx_udp_payload_axis_tvalid拉高的時(shí)候就代表udp_protocol_top.rx_udp_payload_axis_tdata有效,udp_protocol_top.rx_udp_payload_axis_tready默認(rèn)給1可以一直收數(shù)據(jù) ## 發(fā)送數(shù)據(jù) tx_udp_payload_axis_tready=1的時(shí)候拉高tx_udp_payload_axis_tvalid,數(shù)據(jù)才有效,發(fā)送完成以后一定要發(fā)送一個(gè)tx_udp_payload_axis_tlast脈沖指示最后一個(gè)數(shù)據(jù)

最近在項(xiàng)目中基于 Xilinx K7 325t 完成了千兆網(wǎng) UDP 協(xié)議的相關(guān)實(shí)現(xiàn),感覺(jué)挺有意思,來(lái)和大家分享下。

這個(gè)實(shí)現(xiàn)基本就像是透?jìng)饕粯樱灰O(shè)置好 IP 和端口,就能直接給數(shù)據(jù),底層協(xié)議不用我們太操心。

FPGA 實(shí)現(xiàn) udp 模塊說(shuō)明

udp_protocol_top

這里面的 gigethernetpcs_pma 是通過(guò)腳本生成的,而且不管啥版本的 Vivado 都能支持它,這點(diǎn)還是挺方便的。在代碼注釋里對(duì)重要信號(hào)都有說(shuō)明,默認(rèn)情況下是 1000M 的速率,如果要改成 100M 的話,就得改改內(nèi)部信號(hào)。這里用的 PHY 芯片是 88E1512,采用的是 SGMII 接口。

在實(shí)際應(yīng)用中,F(xiàn)PGA 和上位機(jī)的 IP 以及端口都得設(shè)置好,而且要注意在同一個(gè)網(wǎng)段,不然數(shù)據(jù)可收不到哦。

98d4141c-3e09-11f1-90a1-92fbcf53809c.jpg

基于xilinx k7 325t實(shí)現(xiàn)的千兆網(wǎng)udp協(xié)議,只需要設(shè)置好IP,端口,就可以直接給數(shù)據(jù),基本等同于透?jìng)?,可以不用管底層協(xié)議。 可以 # FPGA 實(shí)現(xiàn)udp模塊說(shuō)明 ## udp_protocol_top gig_ethernet_pcs_pma有腳本生成,任何版本vivado都可以支持,注釋里面有對(duì)重要信號(hào)的說(shuō)明,默認(rèn)是1000M,100M需要改內(nèi)部信號(hào),PHY芯片是88E1512,SGMII接口。 FPGA和上位機(jī)IP,端口都要設(shè)置好才能收到數(shù)據(jù),注意在同一個(gè)網(wǎng)段 ## 接收數(shù)據(jù) udp_protocol_top.rx_udp_payload_axis_tvalid拉高的時(shí)候就代表udp_protocol_top.rx_udp_payload_axis_tdata有效,udp_protocol_top.rx_udp_payload_axis_tready默認(rèn)給1可以一直收數(shù)據(jù) ## 發(fā)送數(shù)據(jù) tx_udp_payload_axis_tready=1的時(shí)候拉高tx_udp_payload_axis_tvalid,數(shù)據(jù)才有效,發(fā)送完成以后一定要發(fā)送一個(gè)tx_udp_payload_axis_tlast脈沖指示最后一個(gè)數(shù)據(jù)

下面簡(jiǎn)單看一下代碼結(jié)構(gòu)(這里只是示意,非完整代碼):

module udp_protocol_top (   // 各種信號(hào)聲明   input wire clk,   input wire rst,   // 與千兆網(wǎng)相關(guān)信號(hào)   wire [31:0] gig_ethernet_pcs_pma_sig,   // 接收數(shù)據(jù)相關(guān)信號(hào)   output wire rx_udp_payload_axis_tvalid,   output wire [63:0] rx_udp_payload_axis_tdata,   input wire rx_udp_payload_axis_tready,   // 發(fā)送數(shù)據(jù)相關(guān)信號(hào)   input wire tx_udp_payload_axis_tvalid,   input wire [63:0] tx_udp_payload_axis_tdata,   output wire tx_udp_payload_axis_tready,   output wire tx_udp_payload_axis_tlast ); // 這里面會(huì)實(shí)例化 gig_ethernet_pcs_pma 模塊 gig_ethernet_pcs_pma#( .PARAM1(VALUE1), .PARAM2(VALUE2))u_gig_ethernet_pcs_pma (  .clk(clk),  .rst(rst),  .sig(gig_ethernet_pcs_pma_sig) ); // 其他邏輯代碼,比如數(shù)據(jù)處理,UDP 協(xié)議相關(guān)邏輯等 endmodule

這里面gigethernetpcspma模塊負(fù)責(zé)和千兆網(wǎng)物理層相關(guān)的處理,而udpprotocol_top模塊則在這個(gè)基礎(chǔ)上完成 UDP 協(xié)議相關(guān)的數(shù)據(jù)收發(fā)等功能。

接收數(shù)據(jù)

在接收數(shù)據(jù)的時(shí)候,當(dāng)udpprotocoltop.rxudppayloadaxistvalid拉高,就意味著udpprotocoltop.rxudppayloadaxistdata里面的數(shù)據(jù)是有效的。而udpprotocoltop.rxudppayloadaxistready這個(gè)信號(hào)默認(rèn)給 1 的話,就能一直接收數(shù)據(jù)啦。

從代碼邏輯上看,就像下面這樣:

always @(posedge clk or posedge rst) begin

if (rst) begin

// 復(fù)位相關(guān)信號(hào)

end else begin

if (rx_udp_payload_axis_tvalid && rx_udp_payload_axis_tready) begin

// 處理接收到的數(shù)據(jù),比如存入緩存等操作

received_data <= rx_udp_payload_axis_tdata;

end

end

end

上面這段代碼就是當(dāng)接收數(shù)據(jù)有效且接收準(zhǔn)備好的時(shí)候,把接收到的數(shù)據(jù)存到received_data這個(gè)變量里(實(shí)際應(yīng)用可能會(huì)更復(fù)雜,比如存入 FIFO 等)。

發(fā)送數(shù)據(jù)

發(fā)送數(shù)據(jù)也有講究,當(dāng)txudppayloadaxistready=1的時(shí)候,拉高txudppayloadaxistvalid,這時(shí)的數(shù)據(jù)才有效。而且在發(fā)送完成以后,一定要發(fā)送一個(gè)txudppayloadaxistlast脈沖來(lái)指示這是最后一個(gè)數(shù)據(jù)。

看下面這段代碼示例:

reg [63:0] data_to_send;

reg send_data;

always @(posedge clk or posedge rst) begin

if (rst) begin

send_data <= 0;

end else begin

if (some_condition) begin // 這里 some_condition 代表發(fā)送數(shù)據(jù)的條件,比如緩存有數(shù)據(jù)等

send_data <= 1;

data_to_send <= some_data; // some_data 是要發(fā)送的數(shù)據(jù)

end

end

end

always @(posedge clk or posedge rst) begin

if (rst) begin

tx_udp_payload_axis_tvalid <= 0;

tx_udp_payload_axis_tlast <= 0;

end else begin

if (send_data && tx_udp_payload_axis_tready) begin

tx_udp_payload_axis_tvalid <= 1;

tx_udp_payload_axis_tdata <= data_to_send;

if (is_last_data) begin // is_last_data 代表是否是最后一個(gè)數(shù)據(jù)的判斷

tx_udp_payload_axis_tlast <= 1;

end

end else begin

tx_udp_payload_axis_tvalid <= 0;

tx_udp_payload_axis_tlast <= 0;

end

end

end

在這段代碼里,當(dāng)滿足發(fā)送條件somecondition時(shí),準(zhǔn)備好要發(fā)送的數(shù)據(jù)datatosend并拉高senddata。然后當(dāng)txudppayloadaxistready為 1 時(shí),發(fā)送數(shù)據(jù),并在判斷是最后一個(gè)數(shù)據(jù)時(shí),拉高txudppayloadaxistlast。99338f82-3e09-11f1-90a1-92fbcf53809c.jpg

總的來(lái)說(shuō),基于 Xilinx K7 325t 實(shí)現(xiàn)的這個(gè)千兆網(wǎng) UDP 協(xié)議模塊,雖然功能類似透?jìng)?,但在?shù)據(jù)收發(fā)的細(xì)節(jié)處理上還是有不少需要注意的地方,希望我的這些分享能給大家?guī)?lái)一些幫助和啟發(fā)。

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

    關(guān)注

    1664

    文章

    22509

    瀏覽量

    639538
  • Xilinx
    +關(guān)注

    關(guān)注

    73

    文章

    2208

    瀏覽量

    131977
  • UDP協(xié)議
    +關(guān)注

    關(guān)注

    0

    文章

    71

    瀏覽量

    13775
  • 千兆網(wǎng)
    +關(guān)注

    關(guān)注

    0

    文章

    37

    瀏覽量

    9999

原文標(biāo)題:基于 Xilinx K7 325t 的千兆網(wǎng) UDP 協(xié)議實(shí)現(xiàn)小記

文章出處:【微信號(hào):gh_9d70b445f494,微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    K7 325T 的 SRIO核 有哪位用過(guò)?。?/a>

    如題 K7 的 SRIO(GEN2 V1.2 其他版本應(yīng)該差不多)核有哪位大神用過(guò)?。课以谫愳`思的網(wǎng)站上申請(qǐng)了license 導(dǎo)入后 license manager中顯示我的核到11月到期從ISE
    發(fā)表于 08-31 09:44

    基于Xilinx Kintex-7 FPGA K7 XC7K325T PCIeX8 四路光纖卡

    基于Xilinx Kintex-7 FPGA K7 XC7K325T PCIeX8 四路光纖卡1. 板卡概述   板卡主芯片采用Xilinx
    發(fā)表于 01-28 15:48

    請(qǐng)教一個(gè)關(guān)于Xilinx pcie的問(wèn)題

    最近在調(diào)pcie 2.0,用的是Xilinx k7 325t的片子,之前用4x、2.5g的時(shí)候工作正常,現(xiàn)在將速度提升至5.0g,但是一直識(shí)別不到設(shè)備。用chipscope抓信號(hào),現(xiàn)象如下:1
    發(fā)表于 01-29 14:24

    233-基于TMS320C6678+XC7K325T的CPCIe開(kāi)發(fā)平臺(tái)

    為標(biāo)準(zhǔn)6U CPCIe 。[img][/img]二、技術(shù)指標(biāo)以xilinx 公司K7系列FPGA XC72K325T和TI公司的TMS320C6678為主芯片。具有千兆以太
    發(fā)表于 09-21 14:25

    237-基于Xilinx Kintex-7 XC7K325T 的FMC/千兆以太網(wǎng)/SATA/四路光纖數(shù)據(jù)轉(zhuǎn)發(fā)卡

    本帖最后由 一只耳朵怪 于 2018-5-24 17:29 編輯 基于Xilinx Kintex-7 XC7K325T 的FMC/千兆以太網(wǎng)
    發(fā)表于 05-24 17:20

    基于TI DSP TMS320C6657、XC7K325T的高速數(shù)據(jù)處理核心板 解決法案

    XC7K325T-1FFG900。包含1個(gè)千兆網(wǎng)口,1個(gè)FMC HPC接口??纱钆涫褂肁D FMC子卡、圖像FMC子卡等,用于軟件無(wú)線電系統(tǒng),基帶信號(hào)處理,無(wú)線仿真平臺(tái),高速圖像采集、處理等。 [img=0,30][/img
    發(fā)表于 06-14 14:54

    與PCI Express端點(diǎn)相關(guān)的定時(shí)故障,K7 325T與160T相關(guān)

    我正在使用Vivado 2018.1,System Verilog,帶有325T FPGA的KC705開(kāi)發(fā)板,以及帶有160T FPGA,Xillybus和PCI Express端點(diǎn)v3.3的自定義
    發(fā)表于 11-09 11:38

    Xlinx K7 千兆網(wǎng)口數(shù)據(jù)傳輸項(xiàng)目請(qǐng)大神出手搭救,急急急!

    將圖像及數(shù)據(jù)組幀后,按照1024Byte幀格式,通過(guò)千兆網(wǎng)口傳輸給ARM單元。若網(wǎng)口傳輸過(guò)程中有丟幀情況,進(jìn)行丟幀重傳;FPGA硬件平臺(tái)采用K7系列XC
    發(fā)表于 04-05 15:01

    請(qǐng)問(wèn)如何在K7 325T實(shí)現(xiàn)BUFPLL的功能?

    大家好: 如何在K7 325T中遷移BUFPLL的功能? 有任何例外嗎?
    發(fā)表于 07-26 19:59

    JFM7K325T的JTAG識(shí)別連接問(wèn)題

    Xilinx同款XC7K325T芯片經(jīng)過(guò)impact軟件識(shí)別成功,換成JFM7K325T就遇到識(shí)別問(wèn)題,希望各位大神幫助一下。
    發(fā)表于 09-17 11:09

    325T/410T PCIe2.0×8千兆網(wǎng) 信號(hào)處理設(shè)計(jì)

    )FPGA: 國(guó)產(chǎn)7K325T7K325T、7K410T可選配2)DDR3: 64bit位寬,速率1066Mb/s,2GB、4GB可選配3)GPS/BD定位:支持時(shí)統(tǒng)、秒脈沖輸出4)千兆
    發(fā)表于 05-09 20:07

    Kintex-7 325T FPGA DDR3控制器和接口演示

    使用中速Kintex-7 325T FPGA演示DDR3控制器和接口,運(yùn)行速度高于1866 Mbps數(shù)據(jù)速率。
    的頭像 發(fā)表于 11-30 06:21 ?6566次閱讀
    Kintex-<b class='flag-5'>7</b> <b class='flag-5'>325T</b> FPGA DDR3控制器和接口演示

    Xilinx A7 K7 V7系列Cadence符號(hào)庫(kù)及PCB庫(kù)免費(fèi)下載

    Xilinx_A7_K7_V7系列Cadence符號(hào)庫(kù)及PCB庫(kù),包含的型號(hào)有XC7A100T-1FGG484I;XC7A200T-1FBG676I;XC7K325T-2FFG900I
    發(fā)表于 01-26 09:51 ?158次下載
    <b class='flag-5'>Xilinx</b> A<b class='flag-5'>7</b> <b class='flag-5'>K7</b> V<b class='flag-5'>7</b>系列Cadence符號(hào)庫(kù)及PCB庫(kù)免費(fèi)下載

    明德?lián)PXILINX-K7核心板7K325 410T工業(yè)級(jí)

    明德?lián)PMP5650核心板-工業(yè)級(jí) KINTEX-7 FPGA 芯片325T/410T 相對(duì)較低的成本實(shí)現(xiàn)超高的性能
    的頭像 發(fā)表于 07-02 11:43 ?5976次閱讀
    明德?lián)P<b class='flag-5'>XILINX-K7</b>核心板<b class='flag-5'>7K325</b> 410<b class='flag-5'>T</b>工業(yè)級(jí)

    6678板卡設(shè)計(jì)原理圖:基于TI DSP TMS320C6678、Xilinx K7 FPGA XC7K325T的高速數(shù)據(jù)處理核心板

    該DSP+FPGA高速信號(hào)采集處理板由我公司自主研發(fā),包含一片TI DSP TMS320C6678和一片Xilinx FPGA K7 XC72K325T-1ffg900。包含1個(gè)千兆
    的頭像 發(fā)表于 08-15 10:43 ?4936次閱讀
    6678板卡設(shè)計(jì)原理圖:基于TI DSP TMS320C6678、<b class='flag-5'>Xilinx</b> <b class='flag-5'>K7</b> FPGA XC<b class='flag-5'>7K325T</b>的高速數(shù)據(jù)處理核心板
    仪陇县| 宝鸡市| 清镇市| 庆元县| 彭泽县| 金华市| 尚志市| 和政县| 安多县| 图木舒克市| 淮阳县| 汕头市| 东山县| 桃园市| 南溪县| 合山市| 遂宁市| 云浮市| 嘉祥县| 常德市| 定结县| 肥东县| 蓝田县| 云霄县| 晋宁县| 潜山县| 五峰| 天镇县| 辉南县| 藁城市| 湟中县| 迁西县| 安多县| 临武县| 临沭县| 额敏县| 漳平市| 从化市| 松潘县| 新竹县| 盐亭县|