部分可重構技術是Xilinx FPGA的一項重要開發(fā)流程。本文結合Virtex5 FPGA,詳細講解在ISE + Planahead上完成部分可重構功能的流程和技術要點。
1.測試用例
本測試用例為驗證 Xilinx FPGA部分可重構功能而定制。
代碼整體結構如下:
主要功能是,內圖產(chǎn)生自測圖像,通過DVI接口輸出,并同時點亮3個LED燈。其中靜態(tài)邏輯(Static,灰色部分)負責頂層集成,時鐘處理,IIC輸出控制接口芯片,產(chǎn)生內部測試圖像并輸出顯示。彩色的部分是可重構邏輯,分別為Red,Blue,和Green三個模塊,代表對三個色彩通道分別進行處理的邏輯。
2. ISE流程
部分可重構開發(fā)流程會用到2個工具ISE和Planahead。其中ISE負責把靜態(tài)邏輯,和各個重構模塊,分別獨立綜合成網(wǎng)標文件,提供給Planahead使用。
綜合的時候要尤其注意,靜態(tài)邏輯Static是可以加管腳約束的,各個重構模塊邏輯綜合時,要選擇不添加IO buffer,如下圖所示:
各個模塊的ISE工程已經(jīng)在Synth文件夾下組織好了,可以直接用ISE14.7打開。
3.Planahead流程
部分可重構的主要工作都在Planahead下完成,大體分成4個步驟:
A.建立Planahead工程,導入Static靜態(tài)網(wǎng)表和約束文件
首先打開Planahead,選擇建立新網(wǎng)表工程,確定Enable PartialReconfiguration功能打開。
然后依次加入頂層Static網(wǎng)表和ucf約束文件:
B.導入Reconfiguration網(wǎng)表文件并設置Partition
創(chuàng)建完成Planahead工程后,在Flow Manager中,選擇Open SynthesizedDesign打開網(wǎng)表設計:
接下來,我們要添加各個可重構的網(wǎng)標文件。選中netlist列表中的某個可重構子Module(此時它是Black Box,什么都沒有),右鍵選擇Set Partition:
在彈出對話框中,設置比可重構Module某個實現(xiàn)的名字,Next后選擇對應網(wǎng)表:
接下來我們還可以在同一個Module下面,繼續(xù)添加其它不同實現(xiàn)的網(wǎng)表文件,也可以添加Black Box網(wǎng)表(即空網(wǎng)表):
依次把所有的網(wǎng)表都添加完畢,最終,在Source窗口,視圖如下:
C.設置Partition
接下來,我們給3個Partition,分別設置其物理區(qū)域。使用Set Pblock Size選項,在Device視圖中,劃定合適的物理區(qū)域即可:
物理區(qū)域中會包含多種資源,不需要的我們可以不勾選,這樣能減小最終bit文件的大?。?/p>
設置完所有的partition后,可以跑一下DRC檢查(Tools-》 ReportDRC),確保所有的設置都沒有問題:
DRC檢查結果:
D.創(chuàng)建Implementation Runs
最后我們創(chuàng)建ImplementationRuns,在此處可以創(chuàng)建不同的組合。
創(chuàng)建完成后,就可以跑Implementation布局布線了,跑完后每個run下都會生成多個bit文件,其中之一是全局的配置bit,另外多個是部分重構的bit文件。
-
FPGA
+關注
關注
1645文章
22050瀏覽量
618578 -
Virtex5
+關注
關注
0文章
6瀏覽量
8787
發(fā)布評論請先 登錄
賽靈思發(fā)布ISE12.2強化部分可重配置FPGA技術
支持重構的FPGA器件
誰有Virtex5 FPGA到TI公司64系列的EMIF設計文檔??
使用ISE處理Virtex 5 LX110T FPGA為什么ISE WebPack中沒有可用的選項?
IDDR最大速度為virtex5 sx95t
請問Xilinx FIFO支持virtex5嗎?
Virtex5無法正確讀取XCF32P是為什么?
數(shù)據(jù)是存儲在Virtex5部分還是存儲在板上的SRAM內存中?
ML561如何使用ISE
在Virtex5中清除部分配置存儲器時,請問DONE引腳的行為是什么?
求virtex5與部分重新配置教程?
以Virtex5開發(fā)板和SPI FLASH為基礎的FPGA多重配置分析

評論