0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于PCIE(mcap)的部分可重構(gòu)實(shí)現(xiàn)方案

電子設(shè)計(jì) ? 來源:CSDN 博主 ? 作者:向前行 ? 2021-01-03 09:20 ? 次閱讀

本博文主要是對基于PCIE(mcap)的部分可重構(gòu)實(shí)現(xiàn)的步驟做一個(gè)簡單的演示,如有錯(cuò)誤之處,歡迎批評指正。值得說明的是,基于PCIE的部分可重構(gòu)需在ultrascale系列及ultrascale+芯片才能實(shí)現(xiàn),具體哪些系列能實(shí)現(xiàn)哪種配置方式如下圖所示:

o4YBAF9uJsSADE5RAAFmTD1i1do111.png

圖1

本質(zhì)上來說,無論是JTAG還是ICAP或者M(jìn)CAP以及其它FPGA的配置方式,目的都是配置FPGA的邏輯。MCAP是通過PCIE來實(shí)現(xiàn)對FPGA的燒寫,最終結(jié)果和使用JTAG進(jìn)行FPGA燒寫沒有區(qū)別,而使用PCIE對FPGA燒寫有更好的靈活性,在某些需求場合是必不可缺的,譬如在數(shù)據(jù)加速的部署,F(xiàn)PGA加速板卡是位于服務(wù)器端,在服務(wù)上線之后修改FPGA業(yè)務(wù)邏輯的話如果使用JTAG燒寫,一方面操作十分不便,可行性極低,另一方面,重新燒寫FPGA會(huì)導(dǎo)致原FPGA的PCIE設(shè)備從服務(wù)器中刪除,需要重新啟動(dòng)服務(wù)器枚舉設(shè)備(目前本人沒有找到可以進(jìn)入系統(tǒng)后重新枚舉設(shè)備的方法),對于已經(jīng)上線的服務(wù)器,在每次切換FPGA業(yè)務(wù)邏輯后重啟服務(wù)器是無法接受的,因此,使用PCIE對FPGA的部分重配置就十分必要,部分重配置能夠在保持FPGA靜態(tài)邏輯(PCIE部分和其他非業(yè)務(wù)邏輯)正常工作的情況下動(dòng)態(tài)修改某個(gè)區(qū)域的邏輯(業(yè)務(wù)邏輯)。使用這種技術(shù)能夠不重啟服務(wù)器情況下快速切換業(yè)務(wù)邏輯。

本文的實(shí)現(xiàn)基于Xilinx的VCU1525加速板卡實(shí)現(xiàn),VCU1525的FPGA是一顆ultrascale+的VU9P,由上圖可以知道UltraScale+系列的FPGA支持MCAP配置模式。下面由一個(gè)簡單的例程實(shí)現(xiàn)MCAP部分重配置。

1.新建一個(gè)空白工程。

o4YBAF9uJsaAT3qxAAEIahP0tvk791.png

圖2

2.因?yàn)槭褂肕CAP的配置方式,而MCAP集成于PCIE硬核中,因此需要例化一個(gè)PCIE相關(guān)的IP,這里使用XDMA進(jìn)行本次例程(裸PCIE硬核也可以),該例程沒有XDMA進(jìn)行數(shù)據(jù)DMA搬運(yùn)的相關(guān)內(nèi)容,僅僅是借用XDMA中的MCAP功能,本人目前也有一個(gè)比較痛苦的地方,就是XDMA的上位機(jī)驅(qū)動(dòng)怎么和MCAP的驅(qū)動(dòng)整合在一起,不懂上位機(jī)驅(qū)動(dòng)開發(fā)表示很迷茫,有大佬懂這個(gè)可以探討下。

3.在Board選項(xiàng)中(在建立工程時(shí)選擇Xilinx官方板卡才有這個(gè)選項(xiàng))選擇如下。

pIYBAF9uJseAWkrKAACwWZmMLXU305.png

圖3

4.在Basic選項(xiàng)中,把圖中紅色框中的Mode設(shè)置成Advanced。

pIYBAF9uJsmAJfrsAAEHcKEsmbc366.png

圖4

5.在Basic選項(xiàng)中,在最底部的Tandem Configuration or Partial Reconfiguration中選擇PR over PCIE。

o4YBAF9uJsuAeXFVAAED12L25Fo564.png

圖5

6.在Pcie ID選項(xiàng)的Device ID中設(shè)置成8011(因?yàn)閄ilinx提供的驅(qū)動(dòng)支持8011,8038,506F)

pIYBAF9uJsyADitNAADp_pK0xfE244.png

圖6

7.其它按照默認(rèn)選項(xiàng),生成該IP。

pIYBAF9uJs6AKeWaAACQPZzfmtk607.png

圖7

8.考慮到測試和實(shí)現(xiàn)的方便,使用XDMA的Example Design來修改例程,在XDMA綜合完成之后(記得選擇OOC),打開該IP的Example Design,在該工程上面做修改。

o4YBAF9uJs-Ad90sAACHcewbYo8071.png

圖8

9.Example Design如下圖。

o4YBAF9uJtGAP0lPAAEX9FDHH8o425.png

圖9

10.首先我們先修改XDC文件和工程頂層,主要是LED的管腳和電平約束。在這個(gè)例子中,我們將要實(shí)現(xiàn)使用兩個(gè)可重構(gòu)模塊,一個(gè)模塊用于控制VCU1525的LED燈亮,一個(gè)模塊用于控制VCU1525的LED燈滅,用這個(gè)簡單的例子來說明PR的實(shí)現(xiàn)步驟。

11.修改工程中的時(shí)鐘生成IP,此步驟不是必要,主要是指定輸入時(shí)鐘管腳,如果不是官方板子,在XDC里面約束即可。

pIYBAF9uJtKAI2D-AAA6agzhgkM642.png

圖10

12.新建兩個(gè)模塊,分別是LED_RM_0和LED_RM_1。其中LED_RM_0用于控制LED滅,LED_RM_1用于控制LED亮。兩個(gè)模塊的邏輯很簡單,只是做演示作用。代碼邏輯如下。

pIYBAF9uJtOAegZLAAAUfYudRF0028.png

圖11

13.在工程頂層例化其中一個(gè)RM模塊。

o4YBAF9uJtSAJX3JAABZFo0qvpQ903.png

圖12

14.完成上述步驟之后,選擇Tools->Enable Partial Reconfiguration...選項(xiàng),將工程轉(zhuǎn)換成支持PR類型的工程,在后續(xù)彈出的方框中選擇Convert。

pIYBAF9uJtaAK-zeAAGnqGdlWto916.png

圖13

15.此時(shí)工程已經(jīng)轉(zhuǎn)換完成,對比轉(zhuǎn)換之前,在Flow Navigator的PROJECT MANAGER會(huì)多出Partial Reconfiguration Wizard選項(xiàng)。

o4YBAF9uJtiARhkeAAHXfHmWZEI331.png

圖14

16.設(shè)置我們要進(jìn)行部分重構(gòu)的邏輯,即LED_RM_x模塊,如下圖所示,右鍵LED_RM_0,選擇Create Partition Definition...

o4YBAF9uJtqADs_JAAJLfvq1YPM045.png

圖15

17.在彈出的窗口中指定一個(gè)分區(qū)的名字,這里設(shè)置為LED_RM,點(diǎn)擊OK。

pIYBAF9uJtyACGCEAABr514vhIw718.png

圖16

18.完成上一步之后,LED_RM_0模塊變成了一個(gè)黃色的棱形標(biāo)志,如下圖所示。

o4YBAF9uJt2ABxcAAABDX9vSgG4805.png

圖17

19.打開Partial Reconfiguration wizard

pIYBAF9uJt-AOUEBAAENY1caBLY838.png

圖18

20.在Edit Reconfiguration Modules界面中,點(diǎn)擊“+”符號,把LED_RM_1添加進(jìn)來,表明有兩個(gè)重配置模塊,添加完成后如下圖所示,屬于LED_RM分區(qū)定義列表里面有LED_RM_0和LED_RM_1兩個(gè)重配置模塊。

o4YBAF9uJuCALcBDAACuSoPOiGs491.png

圖19

21.在Editing Configurations界面中,選擇automatically create configurations,并修改Configuration Name,如下圖所示。

pIYBAF9uJuGAOFjkAACwvEzVmTs034.png

圖20

22.在Edit Configuration Runs界面中,選擇automatically create configurations。

o4YBAF9uJuOAJncQAADab9KkXMo510.png

圖21

23.最后,點(diǎn)擊Finish,部分重配置的向?qū)гO(shè)置完成,然后點(diǎn)擊Run Synthesis綜合設(shè)計(jì)。

pIYBAF9uJuWABGFKAAKUBpw9QmY674.png

圖22

24.綜合完成之后打開綜合設(shè)計(jì)。

o4YBAF9uJueAB1mxAABLkjIWfhM374.png

圖23

25.在Floorplanning界面,右鍵LED_RM_0,選擇Floorplanning->Draw Pblock,給RM模塊劃分重配置的區(qū)域。

o4YBAF9uJumATQ2SAAFLFf2Cq_0987.png

圖24

26.在分配完重配置區(qū)域之后,保存相應(yīng)的約束到xdc文件中,然后做DRC檢查,檢查分配的區(qū)域是否符合要求。

pIYBAF9uJuqALTEaAAF6SVPdn3o389.png

圖25

27.DRC檢查沒有問題之后,點(diǎn)擊Generate Bitstream.

o4YBAF9uJuyADICoAABjhWgIfy4644.png

圖26

28.至此,部分重配置的工程就生成完畢,在生成出來的文件里面,在工程目錄下會(huì)有兩個(gè)imp的文件夾,里面會(huì)分別有靜態(tài)邏輯和各自的重配置邏輯,我們將靜態(tài)邏輯先燒寫進(jìn)去FPGA,之后就可以通過PCIE配置動(dòng)態(tài)邏輯,關(guān)于MCAP的驅(qū)動(dòng)的上位機(jī),在Xilinx_Answer_64761__UltraScale_Devices這份文檔中有詳細(xì)的說明。

pIYBAF9uJu2Afuy7AAEOH-Oh-Lo341.png

圖27

pIYBAF9uJvCAcYuhAAMhJGSXpUA661.png

圖28

編輯:hfy

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1624

    文章

    21573

    瀏覽量

    600655
  • Xilinx
    +關(guān)注

    關(guān)注

    71

    文章

    2152

    瀏覽量

    120726
  • JTAG
    +關(guān)注

    關(guān)注

    6

    文章

    395

    瀏覽量

    71524
  • PCIe
    +關(guān)注

    關(guān)注

    15

    文章

    1176

    瀏覽量

    82262
收藏 人收藏

    評論

    相關(guān)推薦

    Cadence展示完整的PCIe 7.0 IP解決方案

    十多年來,Cadence 對 PCIe 技術(shù)的堅(jiān)定承諾和支持,在業(yè)界有目共睹。我們深知強(qiáng)大 PCIe 生態(tài)系統(tǒng)的重要性,并感謝 PCI-SIG 提供的平臺(tái)。在 PCI-SIG 開發(fā)者大會(huì)迎來 32 周年之際,Cadence 宣布面向 HPC/AI 市場推出完整的
    的頭像 發(fā)表于 08-29 09:14 ?323次閱讀
    Cadence展示完整的<b class='flag-5'>PCIe</b> 7.0 IP解決<b class='flag-5'>方案</b>

    PCIe 5.0 SerDes 測試

    #01 PCIe Gen 5 簡介 PCIe 是用于硬盤、固態(tài)硬盤 (SSD)、圖形卡、Wi-Fi 和內(nèi)部以太網(wǎng)連接的先進(jìn)互連 I/O 技術(shù)。PCIe 由一組快速、擴(kuò)展且可靠的 I/
    的頭像 發(fā)表于 08-16 09:33 ?500次閱讀
    <b class='flag-5'>PCIe</b> 5.0 SerDes 測試

    實(shí)測952Mbps!四路千兆網(wǎng)PCIe拓展方案,國產(chǎn)工業(yè)級!

    /4路千兆網(wǎng)口模塊方案:無錫沐創(chuàng)N500L-AM2C-DD、N500L-AM4C-QD測試工具:iperf3創(chuàng)龍科技已基于瑞芯微RK3588J、RK3568J處理器實(shí)現(xiàn)PCIe拓展多路千兆網(wǎng)口
    發(fā)表于 07-25 14:57

    新思科技PCIe 7.0驗(yàn)證IP(VIP)的特性

    在近期的博文《新思科技率先推出PCIe 7.0 IP解決方案,加速HPC和AI等萬億參數(shù)領(lǐng)域的芯片設(shè)計(jì)》中,新思科技宣布推出綜合全面的PCIe Express Gen 7(PCIe 7
    的頭像 發(fā)表于 07-24 10:11 ?455次閱讀
    新思科技<b class='flag-5'>PCIe</b> 7.0驗(yàn)證IP(VIP)的特性

    pcie4.0和pcie3.0接口兼容嗎

    PCIe 4.0和PCIe 3.0接口在多個(gè)方面實(shí)現(xiàn)了兼容性,PCIe 4.0和PCIe 3.0接口兼容性問題是一個(gè)廣泛討論的話題。
    的頭像 發(fā)表于 07-10 10:12 ?5243次閱讀

    麥格納為中國本土汽車制造商提供重構(gòu)座椅系統(tǒng)

    技術(shù)提供了與長滑軌配套的完全旋轉(zhuǎn)的前排座椅,從而實(shí)現(xiàn)靈活布局,擴(kuò)展座艙空間。 車內(nèi)的靈活布局和擴(kuò)展的座艙空間 不要讓人來適應(yīng)車,而是讓車來適應(yīng)人的需求,是麥格納
    的頭像 發(fā)表于 06-18 17:13 ?1784次閱讀

    重構(gòu)柔性裝配產(chǎn)線:AI邊緣控制技術(shù)的嶄新探索

    在信息化和智能化浪潮的推動(dòng)下,制造業(yè)正面臨著前所未有的轉(zhuǎn)型升級挑戰(zhàn)。其中,重構(gòu)柔性裝配產(chǎn)線以其獨(dú)特的AI邊緣控制技術(shù),為制造業(yè)的智能化轉(zhuǎn)型提供了新的解決方案
    的頭像 發(fā)表于 04-30 16:11 ?329次閱讀
    <b class='flag-5'>可</b><b class='flag-5'>重構(gòu)</b>柔性裝配產(chǎn)線:AI邊緣控制技術(shù)的嶄新探索

    重構(gòu)柔性裝配產(chǎn)線整體解決方案,智能化生產(chǎn)轉(zhuǎn)型的引領(lǐng)者

    在當(dāng)今數(shù)字化時(shí)代,智能制造已成為企業(yè)提升生產(chǎn)效率和降低成本的關(guān)鍵。而重構(gòu)柔性裝配產(chǎn)線基于富唯智能AI工業(yè)控制與決策平臺(tái)打造,通過一臺(tái)AI邊緣控制器即可控制整個(gè)系統(tǒng),實(shí)現(xiàn)跨品類產(chǎn)品的數(shù)控自動(dòng)化
    的頭像 發(fā)表于 04-29 16:29 ?816次閱讀
    <b class='flag-5'>可</b><b class='flag-5'>重構(gòu)</b>柔性裝配產(chǎn)線整體解決<b class='flag-5'>方案</b>,智能化生產(chǎn)轉(zhuǎn)型的引領(lǐng)者

    PCIe-AXI-Cont用戶手冊

    Transaction layer的所有功能特性,不僅內(nèi)置DMA控制器,而且具備AXI4用戶接口,提供一個(gè)高性能,易于使用,定制化的PCIe-AXI互連解決方案,同時(shí)適用于ASIC和FPGA。
    發(fā)表于 02-22 09:15 ?3次下載

    PCIe控制器(FPGA或ASIC),PCIe-AXI-Controller

    Transaction Layer的所有功能特性,不僅內(nèi)置DMA控制器,而且具備AXI4用戶接口,提供一個(gè)高性能,易于使用,定制化的PCIe-AXI互連解決方案,同時(shí)適用于ASIC和FPGA。
    的頭像 發(fā)表于 02-21 15:15 ?741次閱讀
    <b class='flag-5'>PCIe</b>控制器(FPGA或ASIC),<b class='flag-5'>PCIe</b>-AXI-Controller

    【正運(yùn)動(dòng)】高速高精,超高實(shí)時(shí)性的PCIe EtherCAT實(shí)時(shí)運(yùn)動(dòng)控制卡 | PCIE464

    產(chǎn)品摘要正運(yùn)動(dòng)技術(shù)PCIE464運(yùn)動(dòng)控制卡,提供高效的工業(yè)運(yùn)動(dòng)控制解決方案。用戶可直接將PCIE464嵌入標(biāo)準(zhǔn)PC機(jī)快速實(shí)現(xiàn)高性能的EtherCAT運(yùn)動(dòng)控制功能。在“PC+運(yùn)動(dòng)控制卡”
    發(fā)表于 01-24 09:48

    一種重構(gòu)的莫爾相干納米激光陣列

    ,展示了納米激光能夠以“P”“K”“U”和“中”“國”等圖形生成重構(gòu)的陣列化相干激射。研究成果以《相位同步重構(gòu)莫爾納米激光陣列》(“Reconfigurable moiré nan
    的頭像 發(fā)表于 12-16 11:42 ?579次閱讀
    一種<b class='flag-5'>可</b><b class='flag-5'>重構(gòu)</b>的莫爾相干納米激光陣列

    為什么PCIe Retimer芯片成為未來主流解決方案呢?

    PCIe協(xié)議持續(xù)更新?lián)Q代,每代升級傳輸速率翻倍。** 總線是為服務(wù)器主板上不同的硬件進(jìn)行互相數(shù)據(jù)通信的“道路”,單位時(shí)間內(nèi)數(shù)據(jù)傳輸量被稱為帶寬,即每秒傳輸?shù)谋忍財(cái)?shù)。
    的頭像 發(fā)表于 12-06 16:45 ?3550次閱讀
    為什么<b class='flag-5'>PCIe</b> Retimer芯片<b class='flag-5'>可</b>成為未來主流解決<b class='flag-5'>方案</b>呢?

    體驗(yàn)紫光PCIE之使用WinDriver驅(qū)動(dòng)紫光PCIE

    紫光的logos系列的PGL50H/PGL100H、logos-2全系列都集成gen2×4的PCIE硬核,且官方也提供了例程。 紫光的PCIE用起來還是挺方便的,生成IP的同時(shí)生成了對應(yīng)的PCIE
    發(fā)表于 11-17 14:35