FPGA PCIE加速卡開源硬件介紹
硬件介紹
基于Xilinx Artix-7系列FPGA芯片設計的M.2 M-Key FPGA加速卡,引出Artix7-484腳芯片的4條高速GT,最高支持PCIE2.0*4速率。高功率12A核心電源設計,可支持Artx7-XC7A35T,Artx7-XC7A50T,Artx7-XC7A75T,Artx7-XC7A100T 和Artx7-XC7A200T芯片。
加速卡板載硬件資源如圖1-2所示。
圖1-2 加速器板載硬件資源圖
由于本PCIE加速卡只是將GT收發器以M2接口形式引出,所以可以通過M2接口座子轉接出不同類型的應用底板,不局限于PCIE應用。例如SFP,USB3.0或者HDMI等。所以設計并制作了如圖1-3所示的4路SFP光通信底板,可搭配用于光通信測試或是用于FPGA加速卡的供電。
例程介紹
例程沒有一些低速IO口測試,主要涉及到PCIE XDMA、RIFFA(開源PCIe)、光口、SDI(規劃中)、HDMI(規劃中)等通過GT接口出來的高速接口測試,作者也是對例程step by step寫了詳細文檔。下面是RIFFA的例程的摘抄:
RIFFA體系結構
RIFFA體系結構如圖3-2所示。
圖3-2 RIFFA體系結構
在硬件方面,簡化了接口,以便通過FIFO簡便的將數據取出和存入。數據的傳輸由RIFFA的RX和TX DMA Engine模塊用分散收集聚合方法來實現.RX Engin模塊收集上位機傳來的有效數據,收集完成發給Channel模塊,TX Engin收集Channel模塊傳來的數據,打包發給PCI Express端點。根據PCIe鏈路配置,RIFFA接口支持32位,64位和128位寬度,計劃為PCle Gen3端點的256位接口提供支持。
PC 接收 FPGA板卡數據是用戶應用程序調用庫函數 fpga_recv,然后由FPGA端啟動。用戶應用程序線程進入內核驅動程序,然后開始接收上游FPGA的讀請求,將數據分包發送,如果沒收到請求,將會等待它達到。
啟動發送函數后,服務器將建立一個散列收集元素的列表,將數據存儲地址和長度等信息放入其中,將其寫入共享緩沖區。用戶應用程序將緩沖區地址和數據長度等信息發送給FPGA。FPGA讀取散射收集數據,然后發出相應地址的數據寫入請求,如果散列收集元素列表的地址有多個,FPGA將通過中斷發出多次請求。
TX搬移的數據全部寫入緩存區后,驅動程序讀取FPGA寫入的字節數,確認是否與發送數據長度一致。這樣就完成了傳輸。其過程如圖3-3所示。
圖3-3 FPGA傳輸到PC流程
PC 機發送數據到 FPGA 板卡過程與 PC 機接收 FPGA 板卡數據過程相似,如圖3-4所示。剛開始也是用戶應用程序調用庫函數fpga_send,傳輸線程進入內核驅動程序,然后FPGA 啟動傳輸。
啟動fpga_send,服務器將申請一些空間,將要發送的數據寫入其中,然后建立一個分散收集列表,將存儲數據的地址和長度放入其中,并將分散收集列表的地址和要發生的數據長度等信息發給FPGA。FPGA收到列表地址后,讀取該列表的信息,然后發出相應地址和長度的讀請求,然后將數據存儲,最后一起發給FPGA板卡。
當然后續還有光口等測試例程,就不一一展示了。
審核編輯:劉清
-
HDMI
+關注
關注
32文章
1734瀏覽量
152393 -
SFP
+關注
關注
4文章
140瀏覽量
35408 -
PCIe
+關注
關注
15文章
1260瀏覽量
83192 -
FPGA芯片
+關注
關注
3文章
246瀏覽量
39869 -
加速卡
+關注
關注
1文章
61瀏覽量
10991
原文標題:【開源硬件】FPGA PCIe加速卡開源硬件及例程(RIFFAXDMAHDMISDI)介紹
文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論