Xilinx FPGA部分重配置操作流程
部分重配置,既動態配置部分晶片時,晶片的其他部分可正常工作,且向晶片中下載部分
配置bit檔案時,晶片的DONE腳不被拉低。
使用FPGA的這一特性,可實現對晶片的分時複用。
首先做部分重配置的FPGA內部必須要有TBUF,因為在部分可重配置中,重配置模組和其它模組的連線要使用由TBUF構成的匯流排巨集(在設計中重配置模組不需要與其他模組連線的情況沒考慮過)。SpartanII, SpartanIIE, Virtex, Virtex2, Virtex2P, VirtexE 這些系列都可做部分重配置。
做部分重配置時生成的檔案很多,所以目錄的結構很重要。參考xilinx的應用文件,以只有一個重配置模組為例,實現部分重配置時使用如下目錄結構:
總目錄
|---ise_top 頂層設計的ISE工程
|---ise_top1 重配置後的頂層ISE工程
|---top
| |---initial 生成整體約束
| |---assemble 組合各個模組
|
|---top1
| |---initial
| |---assemble
|
|---pims 各模組啟用後釋出在pims資料夾裡
| |---子模組名
| |---.......
|
|---module 各模組啟用過程使用的目錄
|---子模組名
|---......
具體操作(基於模組的部分重配置):
1、在ise_top工程中輸入設計的頂層檔案top.vhd,各模組必須是以“黑盒子”的形式出現,既各模組只宣告埠,內部沒有具體實現。綜合生成 top.ngc檔案。
2、將上面生成的ngc檔案拷貝到top資料夾中的initial資料夾中,在cmd中執行ngdbuild -modular initial top.ngc生成ngd檔案,再執行floorplanner top.ngd用ISE中的工具floorplanner對top.ngd進行區域和管教約束。之後儲存為ucf檔案,在ucf檔案中手動加入對匯流排巨集的約束。執行ngdbuild -modular initial -p xc2s50-5tq144 -uc top.ucf top。
3、在ise_top中綜合各個模組,注意在綜合時將綜合屬性對話方塊process properties中的xilinx specific options選項卡的 add i/o buffers項後的鉤取掉。將生成的ngc檔案和做好的匯流排巨集檔案拷貝到目錄module下的相應的資料夾中,在相應的資料夾目錄下執行如下操作:
ngdbuild -p xc2s50-5tq144 -modular module -active 子模組名 -uc ../../top/initial/top.ucf ../../top/initial/top.ngo,生成ngd檔案。
map top.ngd,對映。
par -w top.ncd top_routed.ncd,佈局佈線。
pimcreate -ncd top_routed.ncd -ngm top.ngm ../../Pims,釋出到pims資料夾中。
如果是重配置模組還需執行bitgen -d -w -g ActiveReconfig:Yes top_routed.ncd,生成可重配置的bit檔案。
4、各模組釋出完之後進行組合。將匯流排巨集拷貝到top資料夾中的assemble資料夾中,在此資料夾中執行如下命令實現組合:
ngdbuild -p xc2s50-5tq144 -modular assemble -pimpath ../../Pims -uc ../../top/initial/top.ucf ../../top/initial/top.ngo,生成整體的ngd檔案。
map top.ngd,對映。
par -w top.ncd top_routed.ncd,佈局佈線。
bitgen -w top_routed.ncd,生成bit檔案。
5、實現另一個重配置後的整體設計操作步驟與上同。
下載片子時,先下載整體的bit檔案,之後再下載部分重配置的bit檔案。
我做部分重配置時的步驟如上,最後生成的部分重配置bit檔案竟然和整體bit檔案大小一樣(應該是部分重配置bit檔案小於整體bit檔案),且下載部分重配置bit檔案時DONE腳被拉低了,顯然是不對的,不知是哪裡出了問題。思考......
配置bit檔案時,晶片的DONE腳不被拉低。
使用FPGA的這一特性,可實現對晶片的分時複用。
首先做部分重配置的FPGA內部必須要有TBUF,因為在部分可重配置中,重配置模組和其它模組的連線要使用由TBUF構成的匯流排巨集(在設計中重配置模組不需要與其他模組連線的情況沒考慮過)。SpartanII, SpartanIIE, Virtex, Virtex2, Virtex2P, VirtexE 這些系列都可做部分重配置。
做部分重配置時生成的檔案很多,所以目錄的結構很重要。參考xilinx的應用文件,以只有一個重配置模組為例,實現部分重配置時使用如下目錄結構:
總目錄
|---ise_top 頂層設計的ISE工程
|---ise_top1 重配置後的頂層ISE工程
|---top
| |---initial 生成整體約束
| |---assemble 組合各個模組
|
|---top1
| |---initial
| |---assemble
|
|---pims 各模組啟用後釋出在pims資料夾裡
| |---子模組名
| |---.......
|
|---module 各模組啟用過程使用的目錄
|---子模組名
|---......
具體操作(基於模組的部分重配置):
1、在ise_top工程中輸入設計的頂層檔案top.vhd,各模組必須是以“黑盒子”的形式出現,既各模組只宣告埠,內部沒有具體實現。綜合生成 top.ngc檔案。
2、將上面生成的ngc檔案拷貝到top資料夾中的initial資料夾中,在cmd中執行ngdbuild -modular initial top.ngc生成ngd檔案,再執行floorplanner top.ngd用ISE中的工具floorplanner對top.ngd進行區域和管教約束。之後儲存為ucf檔案,在ucf檔案中手動加入對匯流排巨集的約束。執行ngdbuild -modular initial -p xc2s50-5tq144 -uc top.ucf top。
3、在ise_top中綜合各個模組,注意在綜合時將綜合屬性對話方塊process properties中的xilinx specific options選項卡的 add i/o buffers項後的鉤取掉。將生成的ngc檔案和做好的匯流排巨集檔案拷貝到目錄module下的相應的資料夾中,在相應的資料夾目錄下執行如下操作:
ngdbuild -p xc2s50-5tq144 -modular module -active 子模組名 -uc ../../top/initial/top.ucf ../../top/initial/top.ngo,生成ngd檔案。
map top.ngd,對映。
par -w top.ncd top_routed.ncd,佈局佈線。
pimcreate -ncd top_routed.ncd -ngm top.ngm ../../Pims,釋出到pims資料夾中。
如果是重配置模組還需執行bitgen -d -w -g ActiveReconfig:Yes top_routed.ncd,生成可重配置的bit檔案。
4、各模組釋出完之後進行組合。將匯流排巨集拷貝到top資料夾中的assemble資料夾中,在此資料夾中執行如下命令實現組合:
ngdbuild -p xc2s50-5tq144 -modular assemble -pimpath ../../Pims -uc ../../top/initial/top.ucf ../../top/initial/top.ngo,生成整體的ngd檔案。
map top.ngd,對映。
par -w top.ncd top_routed.ncd,佈局佈線。
bitgen -w top_routed.ncd,生成bit檔案。
5、實現另一個重配置後的整體設計操作步驟與上同。
下載片子時,先下載整體的bit檔案,之後再下載部分重配置的bit檔案。
我做部分重配置時的步驟如上,最後生成的部分重配置bit檔案竟然和整體bit檔案大小一樣(應該是部分重配置bit檔案小於整體bit檔案),且下載部分重配置bit檔案時DONE腳被拉低了,顯然是不對的,不知是哪裡出了問題。思考......
相關文章
- 基於XILINX FPGA的卷積神經網路(三)FPGA卷積神經網路
- Teamcenter 流程配置實現《部分發布功能附件》
- Xilinx FPGA採集ADS1675資料出現錯位FPGA
- FPGA的DAC轉換部分遇到的問題FPGA
- cuttag分析流程(部分存疑)
- SAP 跨公司採購操作流程及配置要點
- FPGA SelectMap介面配置設計FPGA
- 學點不一樣的技術:FPGA可重構技術——FPGA晶片FPGA晶片
- git操作流程Git
- React-Demo 部分重構React
- move表操作流程
- [php]mysql操作流程PHPMySql
- [php]mysqli操作流程PHPMySql
- FPGA基礎設計(7)雙口RAM乒乓操作FPGA
- Vivado使用技巧(11):設定FPGA配置模式FPGA模式
- MySQL:AHI 部分程式碼流程說明MySql
- DRF基礎操作流程
- InnoDB update操作流程圖流程圖
- Mybatis操作主體流程MyBatis
- HDFS讀寫流程(重點)
- 判斷元素是否有重疊部分
- FPGAFPGA
- Xilinx COE檔案生成
- Xilinx問題查詢
- 遠端控制的操作流程
- DNS平滑遷移操作流程DNS
- 流程辦理操作說明
- FPGA加密FPGA加密
- LDAP啟動TLS 完整操作流程LDATLS
- 初鏈TrueChain挖礦操作流程AI
- AltiumDesigner原理相簿修改操作流程
- 轉型大資料及操作流程大資料
- 聚類分析軟體操作流程聚類
- java資料庫操作基本流程Java資料庫
- msysgit——Git bash 入門操作流程Git
- 重溫手冊(四):流程控制
- IIS SSL認證流程& url重寫
- ERP與業務流程重組(轉)