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