部分可重構技術是Xilinx FPGA的一項重要開發流程。本文結合Virtex5 FPGA,詳細講解在ISE + Planahead上完成部分可重構功能的流程和技術要點。
1.測試用例
本測試用例為驗證 Xilinx FPGA部分可重構功能而定制。
代碼整體結構如下:
主要功能是,內圖產生自測圖像,通過DVI接口輸出,并同時點亮3個LED燈。其中靜態邏輯(Static,灰色部分)負責頂層集成,時鐘處理,IIC輸出控制接口芯片,產生內部測試圖像并輸出顯示。彩色的部分是可重構邏輯,分別為Red,Blue,和Green三個模塊,代表對三個色彩通道分別進行處理的邏輯。
2. ISE流程
部分可重構開發流程會用到2個工具ISE和Planahead。其中ISE負責把靜態邏輯,和各個重構模塊,分別獨立綜合成網標文件,提供給Planahead使用。
綜合的時候要尤其注意,靜態邏輯Static是可以加管腳約束的,各個重構模塊邏輯綜合時,要選擇不添加IO buffer,如下圖所示:
各個模塊的ISE工程已經在Synth文件夾下組織好了,可以直接用ISE14.7打開。
3.Planahead流程
部分可重構的主要工作都在Planahead下完成,大體分成4個步驟:
A.建立Planahead工程,導入Static靜態網表和約束文件
首先打開Planahead,選擇建立新網表工程,確定Enable PartialReconfiguration功能打開。
然后依次加入頂層Static網表和ucf約束文件:
B.導入Reconfiguration網表文件并設置Partition
創建完成Planahead工程后,在Flow Manager中,選擇Open SynthesizedDesign打開網表設計:
接下來,我們要添加各個可重構的網標文件。選中netlist列表中的某個可重構子Module(此時它是Black Box,什么都沒有),右鍵選擇Set Partition:
在彈出對話框中,設置比可重構Module某個實現的名字,Next后選擇對應網表:
接下來我們還可以在同一個Module下面,繼續添加其它不同實現的網表文件,也可以添加Black Box網表(即空網表):
依次把所有的網表都添加完畢,最終,在Source窗口,視圖如下:
C.設置Partition
接下來,我們給3個Partition,分別設置其物理區域。使用Set Pblock Size選項,在Device視圖中,劃定合適的物理區域即可:
物理區域中會包含多種資源,不需要的我們可以不勾選,這樣能減小最終bit文件的大小:
設置完所有的partition后,可以跑一下DRC檢查(Tools-》 ReportDRC),確保所有的設置都沒有問題:
DRC檢查結果:
D.創建Implementation Runs
最后我們創建ImplementationRuns,在此處可以創建不同的組合。
創建完成后,就可以跑Implementation布局布線了,跑完后每個run下都會生成多個bit文件,其中之一是全局的配置bit,另外多個是部分重構的bit文件。
-
FPGA
+關注
關注
1630文章
21796瀏覽量
605989 -
Virtex5
+關注
關注
0文章
6瀏覽量
8602
發布評論請先 登錄
相關推薦
評論