重構(gòu)技術(shù)介紹
重構(gòu)技術(shù)是一項(xiàng)非常實(shí)用的技術(shù),從比特屬性上來(lái)分類(lèi)可以分成全部重構(gòu)和局部重構(gòu)。全部重構(gòu)即在重構(gòu)時(shí)將配置整個(gè)FPGA器件的比特文件重新加載一次,對(duì)FPGA進(jìn)行一次完整的編程配置;局部重構(gòu)與全部重構(gòu)有所不同,局部重構(gòu)時(shí)加載的比特文件只是一個(gè)部分比特,該部分比特對(duì)特定區(qū)域進(jìn)行重新配置。
針對(duì)Xilinx不同系列的器件,進(jìn)行重構(gòu)的方式會(huì)有所區(qū)別,對(duì)于非Zynq系列的器件,重構(gòu)的實(shí)現(xiàn)需要借助FPGA器件之外的處理器來(lái)實(shí)現(xiàn),重構(gòu)接口為SelectMAP,非Zynq系列器件的重構(gòu)框圖如圖1所示;Zynq系列的由于自身嵌入了ARM處理器,可以無(wú)需借助其他處理器而實(shí)現(xiàn)重構(gòu)的功能,Zynq系列器件的PS側(cè)可以通過(guò)PCAP接口對(duì)PL側(cè)完成重構(gòu),但是Zynq7000和UltraScale+Mpsoc在具體實(shí)現(xiàn)時(shí)所使用的庫(kù)函數(shù)會(huì)有區(qū)別,兩者的重構(gòu)實(shí)現(xiàn)不能互用。
圖1非Zynq系列器件的重構(gòu)框圖
本文檔主要針對(duì)的器件為UltraScale+Mpsoc系列,通過(guò)PCAP接口對(duì)PL側(cè)進(jìn)行重構(gòu),重構(gòu)框圖如下所示:
圖2UltraScale+Mpsoc系列重構(gòu)框圖
重構(gòu)步驟
建立工程
詳細(xì)操作在此不做詳述,具體可以參考《Vivado Design Suite Tutorial Embedded Processor Hardware Design》,為了驗(yàn)證需要,硬件允許的情況下可以編寫(xiě)一段閃燈程序。
建立BlockDesign
詳細(xì)操作在此不做詳述,具體可以參考《Vivado Design Suite Tutorial Embedded Processor Hardware Design》,建立BlockDesign后,加入一個(gè)Zynq Mpsoc IP核,需要指出的是,為了能實(shí)現(xiàn)重構(gòu),需要在此IP核中使能SD卡,DDR以及UART(方便調(diào)試),并根據(jù)硬件的實(shí)際情況對(duì)它們的參數(shù)進(jìn)行設(shè)置。根據(jù)需要添加其他IP。
編寫(xiě)編譯代碼
完成前面的步驟之后就可以建立自己的用戶(hù)程序,主要是通過(guò)PS來(lái)實(shí)現(xiàn)對(duì)PL測(cè)邏輯的重構(gòu)
驗(yàn)證調(diào)試
在進(jìn)行驗(yàn)證調(diào)試前需要做好準(zhǔn)備工作,如前所述,PL側(cè)可以通過(guò)兩個(gè)實(shí)現(xiàn),生成兩個(gè)頻率不同的閃燈程序的bit文件,由于重構(gòu)時(shí)只能使用bin文件,所以需要將bit文件轉(zhuǎn)換成bin文件,在Vivado中的Tcl Console中使用write_cfgmem指令可以將bit轉(zhuǎn)換成bin文件,具體指令如下:
write_cfgmem -format BIN -interface SMAPx32 -disablebitswap -loadbit "up 0x0文件名.bit" "bin文件名"
生成好的bin文件需要拷貝到Memory中,通常都使用SD卡來(lái)存儲(chǔ)重構(gòu)的bin文件。
以上準(zhǔn)備工作就緒之后就可以Debug調(diào)試了,建議Debug調(diào)試時(shí)將啟動(dòng)模式設(shè)置成Jtag模式。
演示Demo
本章節(jié)通過(guò)搭建演示環(huán)境和工程對(duì)重構(gòu)的實(shí)現(xiàn)進(jìn)行板級(jí)驗(yàn)證。
演示環(huán)境
演示的軟件搭建包含兩個(gè)工程,一個(gè)用來(lái)采集和顯示攝像頭原圖,另外一個(gè)工程對(duì)攝像頭進(jìn)來(lái)的數(shù)據(jù)做了處理,將像素點(diǎn)中的一個(gè)顏色分量置為0,最終顯示的圖像前景色為綠色。
演示的硬件包含一塊5ev的板子,一塊圖像顯示的板子,一臺(tái)HDMI接口的顯示器,一臺(tái)電腦、一個(gè)攝像頭,一根fakra接口線、一個(gè)Xilinx下載器和一根串口線(非必須,具體的演示環(huán)境框圖如下:
圖4演示環(huán)境框圖
演示結(jié)果
在SDK中下載程序后,在line280行打上斷點(diǎn),如圖5所示,手動(dòng)控制程序的運(yùn)行,每運(yùn)行一次F8,重構(gòu)一次PL程序,可以看到顯示的圖像前景色會(huì)發(fā)生變化,具體運(yùn)行結(jié)果如圖6、圖7所示,以作參考。
圖5調(diào)試斷點(diǎn)設(shè)置
圖6Test1.bin運(yùn)行結(jié)果截圖
圖7Test2.bin運(yùn)行結(jié)果截圖
審核編輯:劉清
-
ARM處理器
+關(guān)注
關(guān)注
6文章
360瀏覽量
41667 -
FPGA器件
+關(guān)注
關(guān)注
1文章
22瀏覽量
11599 -
Zynq
+關(guān)注
關(guān)注
9文章
608瀏覽量
47128 -
PCAP
+關(guān)注
關(guān)注
0文章
12瀏覽量
12598
原文標(biāo)題:Xilinx FPGA全部重構(gòu)
文章出處:【微信號(hào):FPGA開(kāi)源工坊,微信公眾號(hào):FPGA開(kāi)源工坊】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論