基于模塊化設計方法實現(xiàn)FPGA動態(tài)部分重構(gòu)
按照模塊化設計流程,分別對固定模塊fix和可重構(gòu)模塊reconfig_a和reconfig_b進行設計綜合,再將兩個可重構(gòu)模塊分別和固定模塊進行組合,完成整體設計。此過程中可重構(gòu)模塊和FPGA的整個設計分別生成配置比特流。
圖3和圖4是FPGA部分重構(gòu)前后的整個設計的物理實現(xiàn),圖中左半部分為固定模塊區(qū)域,右半部分為可重構(gòu)模塊區(qū)域。從兩圖中可知在部分重構(gòu)前后可重構(gòu)模塊區(qū)域內(nèi)布線發(fā)生變化,而固定模塊區(qū)域內(nèi)布線沒有發(fā)生變化。
圖3 fix和reconfig_a整體設計的物理實現(xiàn)結(jié)果
圖4 fix和reconfig_b整體設計的物理實現(xiàn)結(jié)果
FPGA動態(tài)部分重構(gòu)時首先須將整個配置文件下載到器件中,重構(gòu)時系統(tǒng)根據(jù)運行的需要選擇適合的部分重構(gòu)配置比特流。Virtex-E XCV600E配置比特流的大小為495204個字節(jié),而可重構(gòu)模塊reconfig_a和reconfig_b配置比特流的大小分別為93324個字節(jié)和111868個字節(jié),因此采用部分重構(gòu)不僅能夠在運行不間斷的情況下更新可重構(gòu)模塊區(qū)域內(nèi)的邏輯功能,而且也能使重構(gòu)配置時間大大減少。
3 結(jié)論
本文以Xilinx FPGA為研究對象,介紹了采用模塊化設計實現(xiàn)FPGA動態(tài)部分重構(gòu)功能的方法。FPGA的動態(tài)部分重構(gòu)功能使硬件設計更加靈活,可以將不同設計定位到芯片內(nèi)同一邏輯資源部分,重構(gòu)此部分邏輯資源,同時保持其他部分電路功能正常,從而靈活快速的改變系統(tǒng)設計,能夠減少器件的花費,降低功耗、更有效的利用電路板空間,可以應用于系統(tǒng)實時容錯、自適應硬件算法等。
本文作者創(chuàng)新點:基于FPGA動態(tài)可重構(gòu)技術將設計從一個純空間的數(shù)字邏輯系統(tǒng)轉(zhuǎn)換為在時間、空間混合構(gòu)建的數(shù)字邏輯系統(tǒng)。這種技術是數(shù)字系統(tǒng)設計方法、設計思想的變革,使FPGA資源利用率成倍提高。目前我國在FPGA可重構(gòu)技術方面開展的研究很少。本論文闡述了采用模塊化設計實現(xiàn)FPGA動態(tài)部分重構(gòu)的方法,能夠使FPGA部分邏輯功能重新配置過程中,其余部分邏輯功能正常運行,即實現(xiàn)了FPGA邏輯功能的動態(tài)部分重構(gòu)
評論