国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

開源100 Gbps NIC Corundum環境的搭建

李繼明 ? 來源:中華鉛筆 ? 作者:h1654155275.6473 ? 2022-08-02 08:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、Corundum簡介

GitHub repository: https://github.com/corundum/corundum

GitHub wiki: https://github.com/corundum/corundum/wiki

Corundum是一個基于FPGA的開源原型平臺,用于高達100Gbps及更高的網絡接口開發。Corundum平臺包括一些用于實現實時,高線速操作的核心功能,包括:高性能數據路徑,10G/ 25G / 100G以太網MAC,PCIExpress第3代,自定義PCIeDMA引擎以及本機高精確的IEEE 1588 PTP時間戳。一個關鍵功能是可擴展隊列管理,它可以支持超過10,000個隊列以及可擴展的傳輸調度程序,從而可以對包傳輸進行細粒度的硬件控制。結合多個網絡接口,每個接口多個端口以及每個端口事件驅動的傳輸調度,這些功能可實現高級網絡接口,體系結構和協議的開發。這些硬件功能的軟件接口是Linux網絡協議棧的高性能驅動程序。該平臺還支持分散/聚集DMA,校驗和卸載,接收流散列和接收端縮放。一個全面的,基于Python的開放源代碼仿真框架促進了開發和調試,該框架包括整個系統,從驅動程序和PCIExpress接口的仿真模型到以太網接口。通過實現微秒級時分多址(TDMA)硬件調度程序,以100Gbps的線速執行TDMA調度,而沒有CPU開銷,證明了Corundum的強大功能和靈活性。

二、環境準備

2.1:Linux系統

本機為win10專業版,由于環境需要

在VMware虛擬機安裝Ubuntu 20.04 LTS系統供日常學習測試使用

安裝python庫

使用tox嘗試仿真

安裝雙系統Ubuntu 20.04 LTS

在Ubuntu系統上安裝vivado 2019.2

注意vivado 2019.2的license,基本組件的license會編譯出錯,需要添加IP license。

2.2:Obtaining the source code

直接從git地址下載zip壓縮包使用;

$ git clone https://github.com/corundum/corundum.git

2.3:FPGA仿真環境搭建
2.3.1 system packages
Python3.9;當前ubuntu 20.04自帶python3版本為python3.8,需要下載python3.9并配置系統python3為python3.9。其中遇到很多問題需要百度自行解決。。。

$ sudo apt-get install python3.9
$ sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1

$ sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 2
$ sudo update-alternatives --config python3
There are 2 choices for the alternative python3 (providing /usr/bin/python3).

Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/python3.8 2 auto mode
1 /usr/bin/python3.8 2 manual mode
2 /usr/bin/python3.9 1 manual mode

Press to keep the current choice[*], or type selection number: 2

測試python版本:

$ python3 -V
Python 3.9

安裝/升級pip

$ sudo apt-get install python3-pip
$ sudo pip3 install --upgrade pip

安裝python-dev

$ sudo apt install python3-dev

安裝Icarus Verilog

$ sudo apt-get install iverilog

安裝GTKWave

$ sudo apt-get install gtkwave

2.3.2 required python packages

cocotb

cocotb-bus

cocotb-test

cocotbext-axi

cocotbext-eth

cocotbext-pcie

pytest

scapy

Recommended additional python packages:

tox (to run pytest inside a python virtual environment)

pytest-xdist (to run tests in parallel with pytest -n auto)

pytest-sugar (makes pytest output a bit nicer)

$ pip3 install cocotb
$ pip3 install cocotb-bus
$ pip3 install cocotb-test
$ pip3 install cocotbext-axi
$ pip3 install cocotbext-eth
$ pip3 install cocotbext-pcie
$ pip3 install pytest
$ pip3 install scapy
$ pip3 install tox
$ pip3 install pytest-xdist
$ pip3 install pytest-sugar

注意:安裝完package可能會報warning提示package不在PATH內

pYYBAGGYHLSASbzdAAPio1RRXEw816.png

此時需要將package添加到系統PATH中

$ sudo gedit ~/.bashrc

在bashrc中添加

export PAT

然后在終端source

$ sudo source ~/.bashrc

2.4 安裝雙系統Ubuntu 20.04
在win10下的機械盤上分了一塊200G大小的空間用于安裝新系統,事實證明200G有點小。

安裝過程見:

https://www.jianshu.com/p/54d9a3a695cc
https://zhuanlan.zhihu.com/p/135953477
https://www.zhihu.com/question/34611974

注意分區時:/boot在UEFI上是非必要的,系統直接安在efi上即可。

將分區/:的空間設置足夠大,這是總目錄,以后安裝的軟件默認在此目錄下,vivado2019占用90多G,因此此塊空間或者/home的空間要足夠大。

安裝完系統配置環境,同時安裝vivado2019.2,裝在/opt/xilinx下即可。

三、Running test

單核的PC不建議(太慢了),建議上服務器跑。

確保Linux下所需要的package都安裝完畢。

在corundum根目錄下運行仿真。

$ cd /path/to/corundum-master
$ tox
py39 installed: apipkg==1.5,attrs==21.2.0,cocotb==1.5.2,cocotb-bus==0.1.1,cocotb-test==0.2.0,cocotbext-axi==0.1.12,cocotbext-eth==0.1.14,cocotbext-pcie==0.1.10,execnet==1.8.0,iniconfig==1.1.1,packaging==20.9,pluggy==0.13.1,py==1.10.0,pyparsing==2.4.7,pytest==6.2.4,pytest-forked==1.3.0,pytest-split==0.1.5,pytest-xdist==2.2.1,scapy==2.4.5,toml==0.10.2
py39 run-test-pre: PYTHONHASHSEED='438068548'
py39 run-test: commands[0] | pytest -n auto
============================= test session starts ==============================
platform linux -- Python 3.9.2, pytest-6.2.4, py-1.10.0, pluggy-0.13.1
cachedir: .tox/py39/.pytest_cache
rootdir: /path/to/corundum, configfile: tox.ini, testpaths: fpga/common/tb, fpga/mqnic, fpga/mqnic_tdma
plugins: xdist-2.2.1, forked-1.3.0, cocotb-test-0.2.0, split-0.1.5
gw0 [38] / gw1 [38] / gw2 [38] / gw3 [38] / gw4 [38] / gw5 [38] / gw6 [38] / gw7 [38] / gw8 [38] / gw9 [38] / gw10 [38] / gw11 [38] / gw12 [38] / gw13 [38] / gw14 [38] / gw15 [38] / gw16 [38] / gw17 [38] / gw18 [38] / gw19 [38] / gw20 [38] / gw21 [38] / gw22 [38] / gw23 [38] / gw24 [38] / gw25 [38] / gw26 [38] / gw27 [38] / gw28 [38] / gw29 [38] / gw30 [38] / gw31 [38] / gw32 [38] / gw33 [38] / gw34 [38] / gw35 [38] / gw36 [38] / gw37 [38] / gw38 [38] / gw39 [38] / gw40 [38] / gw41 [38] / gw42 [38] / gw43 [38] / gw44 [38] / gw45 [38] / gw46 [38] / gw47 [38] / gw48 [38] / gw49 [38] / gw50 [38] / gw51 [38] / gw52 [38] / gw53 [38] / gw54 [38] / gw55 [38] / gw56 [38] / gw57 [38] / gw58 [38] / gw59 [38] / gw60 [38] gw0 [38] / gw1 [38] / gw2 [38] / gw3 [38] / gw4 [38] / gw5 [38] / gw6 [38] / gw7 [38] / gw8 [38] / gw9 [38] / gw10 [38] / gw11 [38] / gw12 [38] / gw13 [38] / gw14 [38] / gw15 [38] / gw16 [38] / gw17 [38] / gw18 [38] / gw19 [38] / gw20 [38] / gw21 [38] / gw22 [38] / gw23 [38] / gw24 [38] / gw25 [38] / gw26 [38] / gw27 [38] / gw28 [38] / gw29 [38] / gw30 [38] / gw31 [38] / gw32 [38] / gw33 [38] / gw34 [38] / gw35 [38] / gw36 [38] / gw37 [38] / gw38 [38] / gw39 [38] / gw40 [38] / gw41 [38] / gw42 [38] / gw43 [38] / gw44 [38] / gw45 [38] / gw46 [38] / gw47 [38] / gw48 [38] / gw49 [38] / gw50 [38] / gw51 [38] / gw52 [38] / gw53 [38] / gw54 [38] / gw55 [38] / gw56 [38] / gw57 [38] / gw58 [38] / gw59 [38] / gw60 [38] / gw61 [38] / gw62 [38] / gw63 [38]
...................................... [100%]
======================== 38 passed in 792.90s (0:13:12) ========================
___________________________________ summary ____________________________________
py39: commands succeeded
congratulations :)

poYBAGGYHLaAUcU8AALnyCQhuUw511.png

我在虛擬機里面跑的大概時間37分鐘。。。

$ cd /path/to/corundum-master
$ pytest -n auto (多核)
$ pytest (單核)

$ cd /path/to/corundum/
$ pytest -n auto
Test session starts (platform: linux, Python 3.9.2, pytest 6.2.2, pytest-sugar 0.9.4)
rootdir: /path/to/corundum, configfile: tox.ini, testpaths: fpga/common/tb, fpga/mqnic, fpga/mqnic_tdma
plugins: parallel-0.1.0, cocotb-test-0.2.0, split-0.1.6.dev1+g97d96c2, sugar-0.9.4, xdist-2.2.1, forked-1.3.0, metadata-1.11.0, html-3.1.1, flake8-1.0.7, cov-2.11.1
gw0 [38] / gw1 [38] / gw2 [38] / gw3 [38] / gw4 [38] / gw5 [38] / gw6 [38] / gw7 [38] / gw8 [38] / gw9 [38] / gw10 [38] / gw11 [38] / gw12 [38] / gw13 [38] / gw14 [38] / gw15 [38] / gw16 [38] / gw17 [38] / gw18 [38] / gw19 [38] / gw20 [38] / gw21 [38] / gw22 [38] / gw23 [38] / gw24 [38] / gw25 [38] / gw26 [38] / gw27 [38] / gw28 [38] / gw29 [38] / gw30 [38] / gw31 [38] / gw32 [38] / gw33 [38] / gw34 [38] / gw35 [38] / gw36 [38] / gw37 [38] / gw38 [38] / gw39 [38] / gw40 [38] / gw41 [38] / gw42 [38] / gw43 [38] / gw44 [38] / gw45 [38] / gw46 [38] / gw47 [38] / gw48 [38] / gw49 [38] / gw50 [38] / gw51 [38] / gw52 [38] / gw53 [38] / gw54 [38] / gw55 [38] / gw56 [38] / gw57 [38] / gw58 [38] / gw59 [38] / gw60 [38] gw0 [38] / gw1 [38] / gw2 [38] / gw3 [38] / gw4 [38] / gw5 [38] / gw6 [38] / gw7 [38] / gw8 [38] / gw9 [38] / gw10 [38] / gw11 [38] / gw12 [38] / gw13 [38] / gw14 [38] / gw15 [38] / gw16 [38] / gw17 [38] / gw18 [38] / gw19 [38] / gw20 [38] / gw21 [38] / gw22 [38] / gw23 [38] / gw24 [38] / gw25 [38] / gw26 [38] / gw27 [38] / gw28 [38] / gw29 [38] / gw30 [38] / gw31 [38] / gw32 [38] / gw33 [38] / gw34 [38] / gw35 [38] / gw36 [38] / gw37 [38] / gw38 [38] / gw39 [38] / gw40 [38] / gw41 [38] / gw42 [38] / gw43 [38] / gw44 [38] / gw45 [38] / gw46 [38] / gw47 [38] / gw48 [38] / gw49 [38] / gw50 [38] / gw51 [38] / gw52 [38] / gw53 [38] / gw54 [38] / gw55 [38] / gw56 [38] / gw57 [38] / gw58 [38] / gw59 [38] / gw60 [38] / gw61 [38] / gw62 [38] / gw63 [38]

fpga/common/tb/tdma_scheduler/test_tdma_scheduler.py ? 3% ▍
fpga/common/tb/tdma_ber/test_tdma_ber.py ? 5% ▌
fpga/common/tb/queue_manager/test_queue_manager.py ? 8% ▊
fpga/common/tb/cpl_queue_manager/test_cpl_queue_manager.py ? 11% █▏
fpga/common/tb/rx_checksum/test_rx_checksum.py ?? 18% █▉
fpga/common/tb/rx_hash/test_rx_hash.py ?? 24% ██▍
fpga/common/tb/tdma_ber_ch/test_tdma_ber_ch.py ? 21% ██▏
fpga/common/tb/tx_checksum/test_tx_checksum.py ?? 29% ██▉
fpga/mqnic/VCU108/fpga_10g/tb/fpga_core/test_fpga_core.py ? 32% ███▎
fpga/mqnic/ExaNIC_X10/fpga/tb/fpga_core/test_fpga_core.py ? 34% ███▌
fpga/mqnic/AU50/fpga_100g/tb/fpga_core/test_fpga_core.py ? 37% ███▊

######## SNIP ########

fpga/mqnic/fb2CG/fpga_25g/tb/fpga_core/test_fpga_core.py ? 92% █████████▎
...ic/ADM_PCIE_9V3/fpga_25g/tb/fpga_core/test_fpga_core.py ? 95% █████████▌
...nic_tdma/VCU118/fpga_10g/tb/fpga_core/test_fpga_core.py ? 97% █████████▊
...ma/ADM_PCIE_9V3/fpga_10g/tb/fpga_core/test_fpga_core.py ? 100% ██████████

Results (797.62s):
38 passed

電腦還在跑。。。

poYBAGGYHLeAICgMAAZkxO9ufEk614.png

pYYBAGGYHLmAWB9jAAYK5AtHLTM845.png

審核編輯:郭婷

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

    關注

    1660

    文章

    22408

    瀏覽量

    636233
  • 接口
    +關注

    關注

    33

    文章

    9519

    瀏覽量

    157019
  • python
    +關注

    關注

    57

    文章

    4876

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    RK3568 Android11編譯環境搭建及報錯解決指南

    在嵌入式開發領域,RK3568 芯片憑借其出色的性能被廣泛應用。基于 RK3568 進行 Android11 系統的開發,首先要搭建好編譯環境。本文將詳細介紹在 Ubuntu20.04 系統上搭建 RK3568 Android1
    的頭像 發表于 02-04 17:37 ?1695次閱讀
    RK3568 Android11編譯<b class='flag-5'>環境</b><b class='flag-5'>搭建</b>及報錯解決指南

    AT32開源鴻蒙開發環境搭建

    本帖最后由 jf_77210199 于 2026-1-19 09:49 編輯 AT32開源鴻蒙開發環境搭建 主要介紹兩部分內容: 1、如何快速搭建起開源鴻蒙的開發
    發表于 01-16 13:56

    深度剖析DS42MB100:4.25 - Gbps 2:1/1:2 CML MUX/Buffer的卓越性能與應用

    深度剖析DS42MB100:4.25 - Gbps 2:1/1:2 CML MUX/Buffer的卓越性能與應用 在高速數據傳輸的領域中,信號的質量和穩定性是至關重要的。今天我們要詳細探討
    的頭像 發表于 12-27 10:45 ?731次閱讀

    探索DS80EP100:5至12.5Gbps背板和電纜的節能均衡器

    探索DS80EP100:5至12.5Gbps背板和電纜的節能均衡器 在高速數據傳輸的領域中,背板和電纜的信號傳輸質量至關重要。而德州儀器(TI)的DS80EP100 5至12.5Gbps
    的頭像 發表于 12-27 09:25 ?596次閱讀

    經驗分享 | eclipse搭建先楫開發環境

    最近有小伙伴留言,想在eclipse平臺下開發先楫的MCU,但是苦于沒有工程模板,自己折騰了半天又遇到一堆報錯,很費時間。基于此需求,筆者基于HPM6E00EVK一步一步搭建在eclipse下的開發環境,可以順利實現仿真和調試,并提供模版工程作為拋磚引玉,用戶可以自由發揮
    的頭像 發表于 12-19 08:32 ?871次閱讀
    經驗分享 | eclipse<b class='flag-5'>搭建</b>先楫開發<b class='flag-5'>環境</b>

    廣凌智慧實訓室核心設備匯總與環境搭建指南

    在教育數字化轉型的浪潮中,智慧多功能實訓室已成為高校和職業院校培養高素質應用型人才的核心載體。它通過虛實融合、智能管理、數據驅動等技術手段,為學生提供安全、高效、個性化的實踐學習環境。智慧實訓室怎么建?一起來看看智慧實訓室建設的設備和實訓環境
    的頭像 發表于 09-28 09:49 ?737次閱讀
    廣凌智慧實訓室核心設備匯總與<b class='flag-5'>環境</b><b class='flag-5'>搭建</b>指南

    什么是NIC(網絡接口卡)?

    網絡接口卡(NIC)是一種基本的硬件組件,它使計算機或設備能夠連接到網絡。它可以集成到主板中,也可以作為擴展卡安裝在計算機上,這標志著它在計算機網絡中不可或缺的作用。NIC管理網絡和計算機之間的數據
    的頭像 發表于 09-22 14:54 ?1159次閱讀
    什么是<b class='flag-5'>NIC</b>(網絡接口卡)?

    ESP32-S3的MicroPython開發環境搭建

    本文通過搭建Thonny IDE開發環境,了解了如何給ESP32-S3燒錄MircoPython固件和MircoPython應用程序。
    的頭像 發表于 09-11 16:02 ?1629次閱讀
    ESP32-S3的MicroPython開發<b class='flag-5'>環境</b><b class='flag-5'>搭建</b>

    【匯思博SEEK100開發板試用體驗】開發環境安裝配置

    以下文字,基于SEEK100開發板試用經驗,詳細梳理OpenHarmony開發環境搭建的關鍵步驟與避坑要點: 一、開發工具部署:DevEco Studio精準安裝 ??核心版本選擇?? 必須下載
    發表于 08-20 21:43

    開發環境一鍵部署 | 如何搭建Docker環境編譯ARM程序?

    智能化科技領域,嵌入式系統開發占據著極為重要的地位。瑞迅科技RK3568、RK3588主板及核心板以其卓越的性能,為眾多應用場景賦能。基于Linux系統搭建其開發環境,為用戶開啟高效開發的大門。Q痛
    的頭像 發表于 08-15 11:06 ?956次閱讀
    開發<b class='flag-5'>環境</b>一鍵部署 | 如何<b class='flag-5'>搭建</b>Docker<b class='flag-5'>環境</b>編譯ARM程序?

    100%開源!行業首個企業級智能體

    近日,京東云正式開源JoyAgent智能體。作為行業首個100%開源的企業級智能體,實現了產品級開源,包括前端、后端、框架、引擎和核心子智能體。開源
    的頭像 發表于 07-26 09:26 ?1180次閱讀

    【Banana Pi BPI-RV2開發板試用體驗】開發環境搭建及編譯

    BPI-RV2 RISC-V開源路由器之開發環境搭建及編譯 背景 BPI-RV2 RISC-V開源路由器相關的資料文檔很少,需要自己慢慢摸索。 前面已經下載了開發板的BSP,今天來
    發表于 07-14 23:05

    迅為RK3576開發板NPUrknn-toolkit2環境搭建和使用docker環境安裝

    迅為RK3576開發板NPUrknn-toolkit2環境搭建和使用docker環境安裝
    的頭像 發表于 06-18 15:22 ?1273次閱讀
    迅為RK3576開發板NPUrknn-toolkit2<b class='flag-5'>環境</b><b class='flag-5'>搭建</b>和使用docker<b class='flag-5'>環境</b>安裝

    聊聊高速PCB設計100Gbps信號的仿真

    今年開始其實我們已經圍繞100G的高速信號仿真寫了多篇文章啦,2025年高速先生第一篇文章就是和這個相關:當DEEPSEEK被問到:如何優化112GBPS信號過孔阻抗?(陳雅給鏈接),文章里面也介紹
    發表于 03-17 14:03

    愛普生實時時鐘與晶振技術賦能NIC網絡接口卡

    在網絡技術飛速發展的當下,NIC網絡接口卡(網卡)作為設備與網絡連接的關鍵橋梁,其時間同步精度直接決定了網絡性能的穩定性和效率。愛普生(EPSON)憑借其領先的實時時鐘(RTC)與晶振技術,為NIC
    的頭像 發表于 03-12 13:38 ?896次閱讀
    愛普生實時時鐘與晶振技術賦能<b class='flag-5'>NIC</b>網絡接口卡