優(yōu)秀的 Verilog/FPGA開源項(xiàng)目介紹(一)-PCIe通信
今天開始會(huì)陸續(xù)介紹一些優(yōu)秀的開源項(xiàng)目,項(xiàng)目基本都是和FPGA或HDL相關(guān)的。對(duì)于一些找工作或者急需項(xiàng)目經(jīng)驗(yàn)的人來說,這些項(xiàng)目都有一定的參考價(jià)值。
這里再介紹一下開源協(xié)議的區(qū)別,方便大家在閱讀使用這些開源項(xiàng)目時(shí)尊重規(guī)則。
詳情查看:https://suisuisi.blog.csdn.net/article/details/120660472
RIFFA項(xiàng)目
RIFFA(FPGA 加速器的可重用集成框架)是一個(gè)簡(jiǎn)單的框架,用于通過 PCI Express 總線將數(shù)據(jù)從主機(jī) CPU 傳送到 FPGA。該框架需要支持 PCIe 的工作站和帶有 PCIe 連接器的板上的 FPGA。RIFFA 支持 Windows 和 Linux、Altera 和 Xilinx,具有 C/C++、Python、MATLAB 和 Java 的綁定。適配Xilinx和Intel的FPGA,支持PCIe 2.0設(shè)計(jì)中對(duì)底層硬件進(jìn)行了抽象,用戶使用的過程中無需關(guān)注底層的硬件,同時(shí)上層軟件將PCIe的操作抽象為讀和寫操作,用戶直接調(diào)用函數(shù)即可。公眾號(hào):OpenFPGA
方便軟件工程師使用:
在軟件方面有兩個(gè)主要功能:數(shù)據(jù)發(fā)送和數(shù)據(jù)接收。這些函數(shù)通過 C/C++、Python、MATLAB 和 Java 中的用戶庫(kù)公開。該驅(qū)動(dòng)程序支持一個(gè)系統(tǒng)中最多5個(gè) FPGA。軟件適用于 Linux 和 Windows 操作系統(tǒng)。用戶只需編寫幾行代碼即可與 FPGA IP 核進(jìn)行通信。
方便硬件工程師使用:
在硬件方面,用戶訪問一個(gè)獨(dú)立的發(fā)送和接收信號(hào)的接口。這些信號(hào)提供事務(wù)握手和通過 FIFO 接口讀取/寫入數(shù)據(jù)。不需要了解總線地址、緩沖區(qū)大小或 PCIe 數(shù)據(jù)包格式。只需在 FIFO 接口上發(fā)送數(shù)據(jù)并在 FIFO 接口上接收數(shù)據(jù)。
RIFFA 不依賴于 PCIe 橋接器,因此不受橋接器實(shí)現(xiàn)的限制。相反,RIFFA 直接與 PCIe 端點(diǎn)配合使用,運(yùn)行速度足以使 PCIe 鏈路飽和。軟件和硬件接口都得到了極大的簡(jiǎn)化。詳細(xì)信息可以在硬件接口頁面上找到。公眾號(hào):OpenFPGA
RIFFA 使用直接內(nèi)存訪問 (DMA) 傳輸和中斷信號(hào)傳輸數(shù)據(jù)。這實(shí)現(xiàn)了 PCIe 鏈路上的高帶寬。在我們的測(cè)試中,我們能夠使所有測(cè)試中的鏈路飽和(或接近飽和)。我們已經(jīng)在 AVNet Spartan LX150T、Xilinx ML605 和 Xilinx VC707 以及 Altera DE5-Net、DE4 和 DE2i 板上實(shí)現(xiàn)了 RIFFA。RIFFA 發(fā)行版包含在上面列出的三個(gè)開發(fā)板上設(shè)置設(shè)計(jì)的示例和指南。
此外,該網(wǎng)站還提供了如何從所有軟件綁定訪問您的設(shè)計(jì)的示例。RIFFA 已經(jīng)在 Fedora 13 和 17(32/64 位版本)和 Ubuntu Desktop 10.04 LTS 和 12.04 LTS(32/64 位版本)上進(jìn)行了測(cè)試。RIFFA 依賴于 Linux 內(nèi)核 2.6.27+(在 2.6.32 - 3.3.0 之間的版本上測(cè)試)支持的自定義 Linux 內(nèi)核驅(qū)動(dòng)程序。公眾號(hào):OpenFPGA
其中FPGA文件夾是我們關(guān)心的部分,里面包含了ALtera和XIlinx兩大主流FPGA廠家的幾款主要板卡的DEMO,如下:
Altera文件夾下:
Xilinx文件夾下:
有興趣的可以自己查看使用,項(xiàng)目地址:
https://github.com/KastnerRG/riffa
Alex的眾多項(xiàng)目
Alex的項(xiàng)目可以用驚艷來形容,絕大部分都是個(gè)人開發(fā)的,都是非常專業(yè)的代碼,非常敬佩其專業(yè)能力和分享精神,或許這才是真正的詩(shī)和遠(yuǎn)方。公眾號(hào):OpenFPGA
Alex Forencich主要項(xiàng)目
包含網(wǎng)絡(luò)和PCIe相關(guān),其中cocotbext-xxx是仿真測(cè)試模型(cocotb is a coroutine based cosimulation library for writing VHDL and Verilog testbenches in Python.cocotb是一套基于python的用于構(gòu)建仿真及測(cè)試用例的lib庫(kù))。
其中cocotbext-axi也是一個(gè)非常出名的項(xiàng)目。
有興趣的可以自己查看使用,項(xiàng)目地址:
https://github.com/alexforencich
個(gè)人感覺Alex Forencich的PCIe項(xiàng)目完成度不如RIFFA,前者目前僅支持與 Xilinx UltraScale 和 UltraScale+ PCIe 硬核 IP 核配合使用,接口介于 64 位和 512 位之間。而后者在Altera及Xilinx很多主要平臺(tái)經(jīng)過驗(yàn)證,同時(shí)配備上位機(jī)驅(qū)動(dòng),方便使用。但是后者的仿真理論(包括使用cocotbext-pcie和 cocotbext- axi 的完整 cocotb 測(cè)試平臺(tái) 。)更加充實(shí),適合研究總線接口。以上僅代表個(gè)人愚見,我讀書少,噴我你就是對(duì)的!
本文為OpenFPGA作者原創(chuàng),未經(jīng)本人授權(quán)禁止轉(zhuǎn)載!
編輯:jq
-
FPGA
+關(guān)注
關(guān)注
1630文章
21797瀏覽量
606017 -
PCIe
+關(guān)注
關(guān)注
15文章
1260瀏覽量
83193 -
C++
+關(guān)注
關(guān)注
22文章
2114瀏覽量
73857 -
代碼
+關(guān)注
關(guān)注
30文章
4827瀏覽量
69054 -
python
+關(guān)注
關(guān)注
56文章
4807瀏覽量
85039
原文標(biāo)題:Alex的眾多項(xiàng)目
文章出處:【微信號(hào):Open_FPGA,微信公眾號(hào):OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
使用IP核和開源庫(kù)減少FPGA設(shè)計(jì)周期
![使用IP核和<b class='flag-5'>開源</b>庫(kù)減少<b class='flag-5'>FPGA</b>設(shè)計(jì)周期](https://file1.elecfans.com/web3/M00/06/04/wKgZPGeHIiKAD4NPAAAcUU1jJLI249.jpg)
Verilog 測(cè)試平臺(tái)設(shè)計(jì)方法 Verilog FPGA開發(fā)指南
開源ISP(Infinite-ISP)介紹
![<b class='flag-5'>開源</b>ISP(Infinite-ISP)<b class='flag-5'>介紹</b>](https://file1.elecfans.com/web1/M00/F5/43/wKgZoWc6pTiAWJGhAAAbAwGsS-s794.jpg)
Verilog vhdl fpga
FPGA加速深度學(xué)習(xí)模型的案例
ElfBoard開源項(xiàng)目|“智慧光伏”開源項(xiàng)目技術(shù)文檔
![ElfBoard<b class='flag-5'>開源</b><b class='flag-5'>項(xiàng)目</b>|“智慧光伏”<b class='flag-5'>開源</b><b class='flag-5'>項(xiàng)目</b>技術(shù)文檔](https://file1.elecfans.com/web1/M00/F2/B6/wKgaoWcI2SSAFRNUAABO9ZkKdKE843.png)
怎么樣提高verilog代碼編寫水平?
FPGA芯片架構(gòu)和資源有深入的理解,精通Verilog HDL、VHDL
【招聘】verilog vhdl FPGA
哪有FPGA的verilog編程基礎(chǔ)知識(shí)?
優(yōu)秀的Verilog/FPGA開源項(xiàng)目-浮點(diǎn)運(yùn)算器(FPU)介紹
![<b class='flag-5'>優(yōu)秀</b>的<b class='flag-5'>Verilog</b>/<b class='flag-5'>FPGA</b><b class='flag-5'>開源</b><b class='flag-5'>項(xiàng)目</b>-浮點(diǎn)運(yùn)算器(FPU)<b class='flag-5'>介紹</b>](https://file1.elecfans.com/web2/M00/DA/FB/wKgZomYrH4yASZLlAAAfzlUnCNg147.png)
FPGA開源項(xiàng)目:Verilog常用可綜合IP模塊庫(kù)
![<b class='flag-5'>FPGA</b><b class='flag-5'>開源</b><b class='flag-5'>項(xiàng)目</b>:<b class='flag-5'>Verilog</b>常用可綜合IP模塊庫(kù)](https://file1.elecfans.com/web2/M00/C6/33/wKgZomYGNnuAbbSXAAA_WJWORoY479.png)
fpga是用c語言還是verilog
優(yōu)秀的Verilog/FPGA開源項(xiàng)目開發(fā)-CAN通信篇
![<b class='flag-5'>優(yōu)秀</b>的<b class='flag-5'>Verilog</b>/<b class='flag-5'>FPGA</b><b class='flag-5'>開源</b><b class='flag-5'>項(xiàng)目</b>開發(fā)-CAN通信篇](https://file1.elecfans.com/web2/M00/C0/85/wKgZomXWpLOARvSQAAAd1wJeCkY972.png)
評(píng)論