在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

如何用FPGA實現網絡相關的功能

OpenFPGA ? 來源:OpenFPGA ? 作者:OpenFPGA ? 2022-09-05 09:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

《優秀的IC/FPGA開源項目》是新開的系列,旨在介紹單一項目,會比《優秀的 Verilog/FPGA開源項目》內容介紹更加詳細,包括但不限于綜合、上板測試等。兩者相輔相成,互補互充~

這幾年DPU的概念越來越火,有和CPUGPU并駕齊驅的勢頭,通俗的講DPU分擔的工作為虛擬化、網絡、存儲以及安全。

從上面的工作可以看出DPU的核心是:網絡。所以我們今天講一個未來的發展核心之一:用FPGA實現NIC(network interface controller,網絡接口控制器),從該項目出發可以實現數據可控制化,進而實現DPU功能。

當然,本項目的基本就是一個NIC、router、switch等子項目的集合,可以看做目前ASIC-Intel 82580、BCM8724、BCM5396的功能的FPGA實現。

基于Intel 82580網卡 25d8cc52-2cb3-11ed-ba43-dac502259ad0.png BCM8724特點 25eaf2c4-2cb3-11ed-ba43-dac502259ad0.png BCM5396內部架構圖

今天項目的核心項目地址如下:

https://github.com/NetFPGA

www.netfpga.org

這個項目已經發展了很多年了,從V5 FPGA到現在V7 FPGA,從官方板卡到各種自制板卡,應有盡有。

netfpga官方V7 板卡

核心的架構都可以在上面的板卡上實現。

整個項目包括如下幾個平臺的子項目:

26329926-2cb3-11ed-ba43-dac502259ad0.png

上面的項目是根據不同板卡實現的功能類似的項目。

接下來我們以AMD Xilinx VC709位核心,簡單說明一下怎么移植NetFPGA到我們的板卡上,本次實現的參考項目為NetFPGA-SUME(架構類似)。

NetFPGA移植

開發環境:

win10+Ubuntu虛擬機

vivado 2016.4

第一步在下面鏈接下載源碼:

https://github.com/junganghu/NetFPGA-SUME-live

可以使用下面命令:

gitclonehttps://github.com/junganghu/NetFPGA-SUME-live

PS:是不是覺得奇怪,為啥不是官方源碼?這是因為官方庫是私有庫,需要通過官網申請,上面鏈接應該源開發者上傳的,能使用。

第二步修改/NetFPGA-SUME-live/tools/settings.sh:

主要修改一些路徑,方便調用工具,主要修改SUME_FOLDER(庫的路徑)、XILINX_PATH(vivado的安裝路徑)、NF_PROJECT_NAME(測試的demo,可選nic,route,swich)

進入$SUME_FOLDER(庫的路徑)執行:

make

如果使用上面的版本vivado,應該不會出什么問題,其他版本需要修改tcl里的IP版本(出錯命令行會詳細提示問題,按照提示修改即可,但是IP間的差異會導致綜合失敗,建議先按照源vivado版本編譯,后續GUI界面再修改)。

上面步驟時間較久,根據電腦性能需要一個小時左右。

第三步進入Reference_nic目錄再次執行下面命令:

make

就會生成reference_nic.bit

PS:SDK部分官方提供了源碼,可以自己新建SDK工程,把源碼拷貝進去也是可以的。

第四步固化文件到FPGA。

第五步就是將板卡插到測試主板上,在主板主控上加載驅動。

第六步加載驅動(驅動源文件在DRIVER_FOLDER目錄下,執行

makeall

makemakeinstall

修改驅動文件權限。

接下來:

lcpsi-vxx|grepXilinx

查找系統有沒有找到PCIe設備,正常會出現下面:

265fece6-2cb3-11ed-ba43-dac502259ad0.png

注意ID:7028 0007,如果不是證明FPGA下載的文件有問題。

載入sume_riffa模塊

modprobesume_riffa

查看有沒有加載成功

lsmod

查看有沒有識別到網卡:

ifconfig-a
2681e88c-2cb3-11ed-ba43-dac502259ad0.png

接下來就按照自己需求進行測試了。

最后總結一下這個架構:

sume_riffa的這個nic架構PCIe部分使用了基于Scatter-Gather DMA的riffa PCIe開源模塊,其他IP基本都是xilinx官方IP,使用AXI-stream和AXI-lite的比較廣泛的架構,值得學習。

26c38ecc-2cb3-11ed-ba43-dac502259ad0.png

總結

今天的項目簡單優化后基本就可以應用到項目里了,開頭說的可能比較“繞”,簡單說就是如果你想用FPGA實現網絡相關的功能(包括但不局限于NIC、Route、Swich、OSNT等),那么你就可以到這個項目里找一個相接近的子項目移植即可,這樣這個項目的功能就清晰明了了。

最后說一下,項目整體移植非常非常簡單,幾天時間就能讓你快速實現一個網絡相關項目的功能驗證,同時這個該項目的架構也是比較先進的,也是值得學習的。還想什么?動手干吧~

最后,還是感謝各個大佬開源的項目,讓我們受益匪淺。后面如果大家想要分享什么項目,可以在后臺留言或者加微信留言,溝通轉載事宜。今天就到這,我是爆肝的碎碎思,期待下期文章與你相見。

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

    關注

    1644

    文章

    22001

    瀏覽量

    615904
  • cpu
    cpu
    +關注

    關注

    68

    文章

    11057

    瀏覽量

    216378
  • 虛擬化
    +關注

    關注

    1

    文章

    399

    瀏覽量

    30149

原文標題:為你的FPGA設計加加速,NIC、Router、Switch任意實現

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    FPGA 實現小波變換

    何用FPGA實現97整型小波變換,各位有相關的資料嗎?
    發表于 10-15 09:34

    FPGA實現網絡抓包怎么實現

    各位高手,小弟想實現FPGA下的網絡數據包抓取,應該怎么實現?功能與Sniffer相似!
    發表于 01-22 06:54

    lvds如何用fpga或是matlab實現

    求助lvds如何用fpga或是matlab實現
    發表于 01-15 15:18

    lvds如何用fpga或是matlab實現

    lvds如何用fpga或是matlab實現
    發表于 01-15 15:20

    何用FPGA實現FFT算法?

    請問一下如何用FPGA實現FFT算法?
    發表于 04-08 06:06

    何用PowerPC860實現FPGA配置?

    Xilinx FPGA的配置方式何用PowerPC860實現FPGA配置
    發表于 04-08 06:46

    何用FPGA實現DVB碼流分析功能的嵌入式設計方案?

    何用FPGA實現DVB碼流分析功能的嵌入式設計方案?
    發表于 04-28 06:19

    何用中檔FPGA實現多相濾波器?

    何用中檔FPGA實現多相濾波器?
    發表于 04-29 06:30

    何用FPGA實現數字電視條件接收系統?

    何用FPGA實現數字電視條件接收系統?
    發表于 04-29 06:57

    何用FPGA實現下行擾碼?

    下行擾碼的生成過程是怎樣的?如何用FPGA實現下行擾碼?
    發表于 04-30 07:24

    何用手機實現CAN網絡的監控?

    何用手機實現CAN網絡的監控?常見的汽車總線通信有哪幾種?
    發表于 05-18 06:11

    何用FPGA實現FIR濾波器

    何用FPGA實現FIR濾波器 你接到要求用FPGA實現FIR濾波器的任務時,也許會想起在學校里所學的FIR基礎知識,但是下一步該做什么
    發表于 03-30 12:25 ?4792次閱讀
    如<b class='flag-5'>何用</b>用<b class='flag-5'>FPGA</b><b class='flag-5'>實現</b>FIR濾波器

    何用FPGA實現嵌入式系統

    何用FPGA實現嵌入式系統 一、概述 ??? 在許多領域中廣泛應用的嵌入式計算系統(簡稱為嵌入式系統),是在更大的電子器
    發表于 04-02 23:48 ?7878次閱讀
    如<b class='flag-5'>何用</b><b class='flag-5'>FPGA</b><b class='flag-5'>實現</b>嵌入式系統

    基于FPGA技術的數字相關器的設計與實現

    基于FPGA技術的數字相關器的設計與實現
    發表于 12-16 22:23 ?14次下載

    何用OpenCL實現FPGA上的大型卷積網絡加速?

    Xilinx zynq系列FPGA實現神經網絡評估 本篇目錄 1. 內存占用 1.1 FPGA程序中內存的實現方式 1.2 Zynq的BRA
    的頭像 發表于 04-19 11:12 ?2870次閱讀
    如<b class='flag-5'>何用</b>OpenCL<b class='flag-5'>實現</b><b class='flag-5'>FPGA</b>上的大型卷積<b class='flag-5'>網絡</b>加速?
    主站蜘蛛池模板: 国产乱码1卡一卡二卡 | 色视频色露露永久免费观看 | 97影院理论片手机在线观看 | 国产精品香蕉成人网在线观看 | 国产jzjzjz免费大全视频 | 欧洲性开放大片免费观看视频 | 日韩欧美中文在线 | 大象焦伊人久久综合网色视 | 色老头网址 | 天天干小说 | 中文字幕亚洲一区二区三区 | 久久看免费视频 | 69久久夜色精品国产69 | 最新仑乱免费视频 | 亚洲午夜小视频 | 午夜香蕉网 | 天天躁夜夜躁狠狠躁2021西西 | 日本一区高清视频 | 免费a级网站 | 国产男人女人做性全过程视频 | 亚洲免费成人 | 香港三级理论在线观看网站 | 天天干天天曰天天操 | 人人做人人干 | 国产一级做a爰片久久毛片男 | 日本高清色视频在线观看免费 | 国产做爰一区二区 | 男女爱爱爽爽福利免费视频 | 久久久久毛片成人精品 | 精品国产污网站在线观看15 | 黄色伊人 | 韩国理论片2023现在观看 | 曰本女人色黄网站 | 91男人| 久青草国产手机在线视频 | 夜夜操夜夜爽 | 禁h粗大太大好爽好涨受不了了 | 久草在线资源网 | 老逼影院 | 最近最新中文字幕6页 | 福利天堂|