91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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)絡(luò)接口到 DMA,一套面向工程師的 FPGA 網(wǎng)絡(luò)開發(fā)框架

FPGA技術(shù)江湖 ? 來源:FPGA技術(shù)江湖 ? 2026-02-12 11:28 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在高性能網(wǎng)絡(luò)、數(shù)據(jù)中心和智能網(wǎng)卡加速領(lǐng)域,硬件與軟件協(xié)同設(shè)計(jì)已成為提升網(wǎng)絡(luò)處理效率的關(guān)鍵。Liberouter 提供的 Network Development Kit(NDK) 就是這樣一套專門用來快速開發(fā) FPGA 加速網(wǎng)絡(luò)應(yīng)用的開源框架,是連接高速網(wǎng)絡(luò)接口、FPGA 邏輯與主機(jī)處理器的工程級(jí)利器。

f3416a0a-07a7-11f1-90a1-92fbcf53809c.png

什么是 Liberouter NDK?

NDK 全稱 Network Development Kit,是由 Liberouter 研究團(tuán)隊(duì)開發(fā)的一套框架,用于在 FPGA 加速卡上快速實(shí)現(xiàn)高性能網(wǎng)絡(luò)應(yīng)用。它并不是一個(gè)簡單的示例或庫,而是一個(gè) 可直接用來推進(jìn)復(fù)雜網(wǎng)絡(luò)硬件開發(fā)的平臺(tái)。

這個(gè)套件支持包括 10 GbE、100 GbE 和 400 GbE 在內(nèi)的高速以太網(wǎng)標(biāo)準(zhǔn),同時(shí)提供了配套的 Linux 驅(qū)動(dòng)、用戶態(tài)庫、示例程序等工具,大幅降低了網(wǎng)絡(luò)加速 FPGA 設(shè)計(jì)的門檻。

核心功能和特點(diǎn)

基于標(biāo)準(zhǔn)以太網(wǎng)硬IP的網(wǎng)絡(luò)模塊,支持10 GbE、100 GbE、400 GbE等速度。

基于 PCIe Gen5 x16 或 2x PCIe Gen4 x16 接口的超高速 DMA 模塊,吞吐量達(dá) 400 Gbps。

易于使用的內(nèi)存接口,可對(duì)卡進(jìn)行單獨(dú)的讀取/寫入操作。

用于完整設(shè)計(jì)綜合的自動(dòng)化腳本。只需運(yùn)行一條 make 命令即可創(chuàng)建整個(gè) FPGA 比特流。

Linux 內(nèi)核驅(qū)動(dòng)程序、DPDK 支持、用戶空間庫和配置工具。

通過用戶友好的 API 輕松創(chuàng)建自定義應(yīng)用程序,實(shí)現(xiàn)組件訪問和 DMA 傳輸。

f3416a0a-07a7-11f1-90a1-92fbcf53809c.png

用戶應(yīng)用程序

NDK 專為創(chuàng)建具有深度流水線式高速數(shù)據(jù)包處理的新型網(wǎng)絡(luò)應(yīng)用而設(shè)計(jì)。應(yīng)用核心是 FPGA 芯片上專用于用戶應(yīng)用的區(qū)域,它可以利用 NDK 從網(wǎng)絡(luò)接口捕獲數(shù)據(jù)包,并通過超高速 DMA 傳輸將數(shù)據(jù)發(fā)送到主機(jī) CPU。網(wǎng)絡(luò)模塊(NDK 的一部分)負(fù)責(zé)網(wǎng)絡(luò)數(shù)據(jù)包的接收和發(fā)送。網(wǎng)絡(luò)模塊通過數(shù)據(jù)流總線(兼容 AXI4-Stream/Avalon-ST)將接收到的數(shù)據(jù)包發(fā)送到應(yīng)用核心。然后,同一數(shù)據(jù)總線用于將數(shù)據(jù)傳輸?shù)街鳈C(jī) CPU。整個(gè) NDK 的可擴(kuò)展性從數(shù)十 Gbps 到數(shù)百 Gbps 不等。它的設(shè)計(jì)目標(biāo)是在每個(gè)時(shí)鐘周期內(nèi)發(fā)送和處理多個(gè)數(shù)據(jù)包。NDK 的標(biāo)準(zhǔn)數(shù)據(jù)總線經(jīng)過優(yōu)化,可以同時(shí)傳輸大量數(shù)據(jù)包,從而進(jìn)一步提高吞吐量。上述數(shù)據(jù)總線包括 MFB (多幀總線)和MVB(多值總線)。就吞吐量而言,幾乎唯一的限制是可用的 FPGA 資源。

許多網(wǎng)絡(luò)應(yīng)用需要大型數(shù)據(jù)結(jié)構(gòu)或緩沖區(qū)。因此,NDK 提供了一個(gè)易于使用的接口,用于與外部存儲(chǔ)器(通常是 DRAM通信。用戶可以使用該接口快速開發(fā)連接跟蹤表、流緩存或數(shù)據(jù)緩沖區(qū)。

在FPGA中實(shí)現(xiàn)的用戶應(yīng)用程序可以通過對(duì)指定地址范圍的讀/寫請(qǐng)求進(jìn)行控制。這些請(qǐng)求通過與Intel Avalon-MM兼容的CSR總線從軟件傳輸?shù)綉?yīng)用程序核心。軟件用戶應(yīng)用程序可以通過簡單的軟件API生成這些讀/寫請(qǐng)求。

超高速DMA傳輸(DMA Medusa IP)

提供與廠商無關(guān)的FPGA架構(gòu)和開源Linux驅(qū)動(dòng)程序,用于采用逐包方式的高速DMA傳輸。該DMA設(shè)計(jì)吞吐量為400 Gbps,并采用多通道架構(gòu)以支持CPU內(nèi)核間的數(shù)據(jù)分發(fā)。該架構(gòu)具有高度靈活性,支持各種高端FPGA系列和PCIe總線配置(最高可達(dá)PCIe Gen5 x16)。DMA IP可以利用更多PCI端點(diǎn)模塊,將吞吐量擴(kuò)展到100、200和400 Gbps。

f4180e02-07a7-11f1-90a1-92fbcf53809c.png

已在 Intel Stratix 10 DX 開發(fā)套件上演示了 DMA 架構(gòu)的 400 Gb 吞吐量。然而,同樣的 DMA 引擎也能為 Xilinx UltraScale+ 和 Intel Agilex 器件提供極高的吞吐量。NDK Linux 驅(qū)動(dòng)程序允許單獨(dú)控制所有 DMA 通道。它還提供了一個(gè)用戶友好的 API,可將應(yīng)用程序內(nèi)核直接連接到 DMA IP。此外,還可以通過 DPDK 驅(qū)動(dòng)程序處理 DMA 傳輸。

示例設(shè)計(jì)

作為 NDK 的一部分,該項(xiàng)目提供了一個(gè)最小化(參考)應(yīng)用程序的示例設(shè)計(jì),該設(shè)計(jì)可以輕松擴(kuò)展,為用戶應(yīng)用程序提供硬件加速。該示例設(shè)計(jì)基于 NDK 框架構(gòu)建。由于架構(gòu)設(shè)計(jì)精良,最小化應(yīng)用程序核心僅包含連接網(wǎng)絡(luò)接口和 DMA 模塊所需的連接線。此外,最小化示例設(shè)計(jì)還包含一個(gè)用于向 DMA 通道分發(fā)數(shù)據(jù)的單元。

實(shí)施、驗(yàn)證和運(yùn)行

示例設(shè)計(jì)可作為創(chuàng)建目標(biāo)應(yīng)用程序的靈感來源。可以輕松地使用加速引擎或其他獨(dú)特功能擴(kuò)展應(yīng)用程序核心。提供NDK Minimal(參考)應(yīng)用程序的文檔,其中包含應(yīng)用程序接口的詳細(xì)描述??梢詫W⒂趹?yīng)用程序核心,并利用 NDK 控制網(wǎng)絡(luò)接口和 PCIe,實(shí)現(xiàn)快速 DMA 傳輸。

所有網(wǎng)絡(luò)應(yīng)用都需要進(jìn)行精確的驗(yàn)證和測試。因此,NDK 提供了一個(gè) UVM 驗(yàn)證環(huán)境,用于檢查應(yīng)用的功能是否正常。該驗(yàn)證環(huán)境包含一組適用于所有應(yīng)用接口的總線功能模型 (BFM)。所有 BFM 和整個(gè)驗(yàn)證環(huán)境的詳細(xì)描述請(qǐng)參見 NDK Minimal App 文檔。成功驗(yàn)證應(yīng)用核心后,可以通過一條 make 命令生成新的 FPGA 比特流,并在 FPGA 卡上運(yùn)行該應(yīng)用。

f47ec5c0-07a7-11f1-90a1-92fbcf53809c.png

支持的FPGA卡

NDK 目前支持多種 FPGA 卡,并且可以輕松擴(kuò)展以支持任何其他帶有網(wǎng)絡(luò)接口和 PCIe 連接器的 FPGA 卡。NDK 中使用的絕大多數(shù)組件都已準(zhǔn)備好支持各種高端 FPGA,包括 Intel Agilex、Intel Stratix 10、Xilinx UltraScale+ 等。

f5024f44-07a7-11f1-90a1-92fbcf53809c.png

小結(jié)

Liberouter 的 NDK 是一套工程級(jí) FPGA 網(wǎng)絡(luò)加速開發(fā)框架,它把底層復(fù)雜的高速網(wǎng)絡(luò)收發(fā)、DMA 傳輸、 FPGA bitstream 生成等通用功能都封裝好,開發(fā)者可以更專注于業(yè)務(wù)邏輯和加速算法本身。

對(duì)從事 FPGA 網(wǎng)絡(luò)加速、智能 NIC 設(shè)計(jì)或高性能系統(tǒng)工程的開發(fā)者來說,NDK 提供了一條更快、更可靠、更可復(fù)用的硬件加速設(shè)計(jì)路線。

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

    關(guān)注

    1660

    文章

    22406

    瀏覽量

    636053
  • 網(wǎng)絡(luò)接口
    +關(guān)注

    關(guān)注

    0

    文章

    96

    瀏覽量

    18804
  • dma
    dma
    +關(guān)注

    關(guān)注

    3

    文章

    581

    瀏覽量

    105910
  • 網(wǎng)絡(luò)開發(fā)

    關(guān)注

    0

    文章

    15

    瀏覽量

    8901

原文標(biāo)題:從網(wǎng)絡(luò)接口到 DMA,一套面向工程師的 FPGA 網(wǎng)絡(luò)開發(fā)框架

文章出處:【微信號(hào):HXSLH1010101010,微信公眾號(hào):FPGA技術(shù)江湖】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    北京鼎普誠聘windows內(nèi)核開發(fā)工程師

    :2377183341windows內(nèi)核開發(fā)工程師所需技能:1. 精通C/C+語言2. 熟悉Windows系統(tǒng)驅(qū)動(dòng)編程3. 熟悉windbg常用的調(diào)試技巧。4. 了解WINDOWS文件系統(tǒng)、設(shè)備、TDI層網(wǎng)絡(luò)
    發(fā)表于 01-07 11:29

    【成都】【招聘】誠聘FPGA工程師、 windows設(shè)備驅(qū)動(dòng)開發(fā)工程師、嵌入式軟件開發(fā)工程師、硬件工程師

    工程師(3人)崗位職責(zé):1.承擔(dān)通信中數(shù)字信號(hào)處理算法設(shè)計(jì)及FPGA實(shí)現(xiàn)工作,完成FPGA的編碼、測試、聯(lián)調(diào);2.負(fù)責(zé)在方案論證階段,協(xié)助硬件設(shè)計(jì)完成
    發(fā)表于 05-31 15:30

    明德?lián)P——點(diǎn)?撥FPGA課程之網(wǎng)絡(luò)

    海思資深FPGA/ASIC工程師-潘老師主講,課程中我們將講解利用FPGA進(jìn)行數(shù)字電路以及邏輯設(shè)計(jì)中的設(shè)計(jì)技巧,提供一套完整的明德?lián)P設(shè)計(jì)方法和思路,糾正設(shè)計(jì)中不規(guī)范、不清晰的做法,并通
    發(fā)表于 06-01 16:39

    泰禾光電(合肥)硬件工程師/軟件工程師招聘

    泰禾光電(合肥)硬件工程師/軟件工程師招聘()硬件工程師1)電子相關(guān)專業(yè),本科及以上學(xué)歷;2)精通數(shù)字電路和模擬電路,精通FPGA電路設(shè)計(jì)
    發(fā)表于 06-20 22:05

    【成都】獵頭職位:FPGA工程師/軟件工程師-國內(nèi)某上市公司

    。5. 熟練掌握verilog語言,熟練掌握邏輯設(shè)計(jì)。職位3:FPGA工程師(偏算法邏輯方向)崗位要求:1、負(fù)責(zé)實(shí)施通信收發(fā)機(jī)調(diào)制解調(diào)系統(tǒng)邏輯開發(fā),包括收發(fā)調(diào)制解調(diào)及信道編解碼;2、有至少
    發(fā)表于 06-22 17:10

    【上?!空\聘FPGA研發(fā)工程師

    獵頭職位:FPGA研發(fā)工程師(年薪:35-60W)工作職責(zé):1.配合軟件工程師進(jìn)行產(chǎn)品設(shè)計(jì)過程中的軟硬件聯(lián)調(diào)和驗(yàn)證;2.負(fù)責(zé)根據(jù)系統(tǒng)設(shè)計(jì)要求進(jìn)行FPGA代碼的設(shè)計(jì)、
    發(fā)表于 07-31 15:03

    誠招“FPGA工程師、嵌入式系統(tǒng)開發(fā)工程師

    納睿達(dá)科技有限公司誠招“FPGA工程師、嵌入式系統(tǒng)開發(fā)工程師”【FPGA工程師】學(xué)歷要求:研究生
    發(fā)表于 01-13 14:17

    FPGA開發(fā)工程師、硬件開發(fā)工程師

    FPGA開發(fā)工程師崗位職責(zé):1、根據(jù)系統(tǒng)需求,完成FPGA器件選型和方案設(shè)計(jì);2、負(fù)責(zé)FPGA的Verilog語言編寫、仿真、調(diào)試;3、負(fù)責(zé)
    發(fā)表于 10-22 11:03

    嵌入式工程師需要哪些技能書/技能加點(diǎn)

    嵌入式硬件工程師通用技能樹軟件C/C++語言編程經(jīng)驗(yàn)、編程能力、應(yīng)用開發(fā)、OOP面向對(duì)象編程方式、軟件框架、C指針、文件IO、進(jìn)程線程、高級(jí)IO、對(duì)C++中的智能指針、多線程、
    發(fā)表于 08-06 09:46

    嵌入式軟件開發(fā)工程師FPGA開發(fā)工程師 精選資料分享

    我是名初入職場的萌新,工作不久嵌入式軟件工程師轉(zhuǎn)到了FPGA工程師,這篇文章簡單講講兩者的區(qū)別。嵌入式軟件
    發(fā)表于 08-18 06:37

    嵌入式軟件開發(fā)工程師FPGA開發(fā)工程師的區(qū)別是什么?

    嵌入式軟件開發(fā)工程師FPGA開發(fā)工程師的區(qū)別是什么?
    發(fā)表于 11-22 06:11

    FPGA工程師需要具備哪些技能?

    、設(shè)計(jì)思路 FPGA芯片是開發(fā)高速數(shù)字電路設(shè)計(jì)的理想解決方案之FPGA芯片基于HDL的設(shè)計(jì)方法允許工程師使用高級(jí)語言進(jìn)行設(shè)計(jì)。因此,
    發(fā)表于 11-09 11:03

    什么是網(wǎng)絡(luò)工程師

    什么是網(wǎng)絡(luò)工程師網(wǎng)絡(luò)工程師就是通過學(xué)習(xí)和訓(xùn)練,掌握了網(wǎng)絡(luò)技術(shù)的理論知識(shí)和操作技能的網(wǎng)絡(luò)技術(shù)人員。網(wǎng)絡(luò)工程師能夠從事計(jì)算機(jī)信息系統(tǒng)的設(shè)計(jì)、建
    的頭像 發(fā)表于 02-19 14:28 ?9032次閱讀

    解讀HarmonyOS如何實(shí)現(xiàn)一套網(wǎng)絡(luò)請(qǐng)求框架

    本期我們?yōu)榇蠹規(guī)淼氖?b class='flag-5'>開發(fā)者裴云飛投稿的“HarmonyOS網(wǎng)絡(luò)請(qǐng)求框架實(shí)現(xiàn)”,這個(gè)網(wǎng)絡(luò)請(qǐng)求框架被命名為“蒹葭(JianJia)”。其原理是
    的頭像 發(fā)表于 05-18 11:21 ?3701次閱讀

    Socket 網(wǎng)絡(luò)編程框架介紹

    一套面向 Socket 的網(wǎng)絡(luò)編程框架,并通過提供組標(biāo)準(zhǔn)的 System call APIs,使得開發(fā)
    的頭像 發(fā)表于 11-09 14:19 ?2343次閱讀
    Socket <b class='flag-5'>網(wǎng)絡(luò)</b>編程<b class='flag-5'>框架</b>介紹