哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

3天內不再提示

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

FPGA設計論壇 ? 來源:FPGA設計論壇 ? 2026-04-27 15:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

這個實現(xiàn)基本就像是透傳一樣,只要設置好 IP 和端口,就能直接給數(shù)據(jù),底層協(xié)議不用我們太操心。

FPGA 實現(xiàn) udp 模塊說明

udp_protocol_top

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

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

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

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

下面簡單看一下代碼結構(這里只是示意,非完整代碼):

module udp_protocol_top (   // 各種信號聲明   input wire clk,   input wire rst,   // 與千兆網(wǎng)相關信號   wire [31:0] gig_ethernet_pcs_pma_sig,   // 接收數(shù)據(jù)相關信號   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ù)相關信號   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 ); // 這里面會實例化 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é)議相關邏輯等 endmodule

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

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

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

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

always @(posedge clk or posedge rst) begin

if (rst) begin

// 復位相關信號

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

上面這段代碼就是當接收數(shù)據(jù)有效且接收準備好的時候,把接收到的數(shù)據(jù)存到received_data這個變量里(實際應用可能會更復雜,比如存入 FIFO 等)。

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

發(fā)送數(shù)據(jù)也有講究,當txudppayloadaxistready=1的時候,拉高txudppayloadaxistvalid,這時的數(shù)據(jù)才有效。而且在發(fā)送完成以后,一定要發(fā)送一個txudppayloadaxistlast脈沖來指示這是最后一個數(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 代表是否是最后一個數(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

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

總的來說,基于 Xilinx K7 325t 實現(xiàn)的這個千兆網(wǎng) UDP 協(xié)議模塊,雖然功能類似透傳,但在數(shù)據(jù)收發(fā)的細節(jié)處理上還是有不少需要注意的地方,希望我的這些分享能給大家?guī)硪恍椭蛦l(fā)。

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

    關注

    1664

    文章

    22504

    瀏覽量

    639299
  • Xilinx
    +關注

    關注

    73

    文章

    2208

    瀏覽量

    131908
  • UDP協(xié)議
    +關注

    關注

    0

    文章

    71

    瀏覽量

    13770
  • 千兆網(wǎng)

    關注

    0

    文章

    37

    瀏覽量

    9995

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

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    K7 325T 的 SRIO核 有哪位用過???

    如題 K7 的 SRIO(GEN2 V1.2 其他版本應該差不多)核有哪位大神用過???我在賽靈思的網(wǎng)站上申請了license 導入后 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

    請教一個關于Xilinx pcie的問題

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

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

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

    237-基于Xilinx Kintex-7 XC7K325T 的FMC/千兆以太網(wǎng)/SATA/四路光纖數(shù)據(jù)轉發(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個千兆網(wǎng)口,1個FMC HPC接口??纱钆涫褂肁D FMC子卡、圖像FMC子卡等,用于軟件無線電系統(tǒng),基帶信號處理,無線仿真平臺,高速圖像采集、處理等。 [img=0,30][/img
    發(fā)表于 06-14 14:54

    與PCI Express端點相關的定時故障,K7 325T與160T相關

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

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

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

    請問如何在K7 325T實現(xiàn)BUFPLL的功能?

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

    JFM7K325T的JTAG識別連接問題

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

    325T/410T PCIe2.0×8千兆網(wǎng) 信號處理設計

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

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

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

    Xilinx A7 K7 V7系列Cadence符號庫及PCB庫免費下載

    Xilinx_A7_K7_V7系列Cadence符號庫及PCB庫,包含的型號有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符號庫及PCB庫免費下載

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

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

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

    該DSP+FPGA高速信號采集處理板由我公司自主研發(fā),包含一片TI DSP TMS320C6678和一片Xilinx FPGA K7 XC72K325T-1ffg900。包含1個千兆
    的頭像 發(fā)表于 08-15 10:43 ?4911次閱讀
    6678板卡設計原理圖:基于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ù)處理核心板
    攀枝花市| 武夷山市| 南木林县| 青龙| 建平县| 浦城县| 祁门县| 高安市| 福清市| 乌兰察布市| 丹江口市| 十堰市| 金门县| 黄浦区| 定州市| 盐池县| 北海市| 利津县| 普兰县| 新安县| 张家口市| 沧州市| 普安县| 云和县| 同德县| 远安县| 丰台区| 资源县| 伊春市| 勐海县| 闸北区| 桐柏县| 城市| 泰和县| 互助| 邛崃市| 灌南县| 潢川县| 扶绥县| 涞源县| 郯城县|