基于FPGA的動態(tài)可重構(gòu)系統(tǒng)設(shè)計與實現(xiàn)
(2)SPARTEN3AN系列的FPGA,是基于非易失性存儲的FPGA,主要作為PCI總線和ARM處理器之間的雙端口;放置Spw IP核、UART IP核、1553 IP核;模擬JTAG口;
(3)兩個XCVSX55的FPGA專用JTAG,進(jìn)行配置文件的下載。Xilinx FPGA基于SRAM技術(shù),因此是易失性的。如果關(guān)掉器件的電源,其配置就會丟失。在生產(chǎn)型環(huán)境中,F(xiàn)PGA通常使用外部存儲器件(如PROM)防止停電時丟失配置數(shù)據(jù);
(4)FLASH存儲器容量為16 M×32 b,用于處理器的上電引導(dǎo)和存放多個用于模塊級FPGA重構(gòu)方案;
(5)兩個PROM-XCF32P。Virtex4系列XC4-VSX55FPGA,其配置PROM為XCF32P,32 Mb存儲容量。利用XCF32P的設(shè)計修訂(Design.Revisiorling)功能將FPGA多種配置存儲為不同的修訂版本,從而簡化FPGA配置更改。上電時,由配置PROM的內(nèi)部邏輯對設(shè)計修訂版本選擇輸入(引腳或控制位)進(jìn)行采樣;
(6)兩組測試線,每組4根,cl_Test[3..O]和C2-Testl[3..O]分別測試兩個XCVSX55系列FPGA的重構(gòu)和反饋重構(gòu)結(jié)果;
(7)兩通道的PROM控制信號線,C1(C2)_PROG,C1(C2)_DIN,C1(C2)_DONE,C1(C2)_INT,C1(C2)_CCLK用于實現(xiàn)兩個XCVSX55系列FPGA的PROM方式的下載。由于JTAG(邊界掃描)鏈在其中一個部件發(fā)生故障時會影響整個JTAG鏈的正常功能,因此多使用:PROM的下載方式備用;
(8)一路RS-232驅(qū)動接收器,實現(xiàn)和外部通信的接口;
(9)PCI總線,通過該總線實現(xiàn)計算機(jī)與外界交互的外部接口。
3.2 演示驗證系統(tǒng)的工作原理
3.2.1 上電復(fù)位
在上電復(fù)位時,要確保ARM和FPGA同步復(fù)位。Xilinx公司的FPGA上電時需要200 ms左右的配置時間,在此期間I/O引腳處于三態(tài)狀態(tài),因此對關(guān)鍵的輸入/輸出信號(如IRQx,NWAIT,2.56兆輸出數(shù)據(jù)及輸出時鐘)有必要采取的上下拉,以確保ARM及外圍接口信號處于正常的狀態(tài),避免信號沖突。
3.2.2 初始化
主要的初始化工作有2部分,分別由ARM和FPGA完成。
(1)ARM執(zhí)行的初始化工作。包括監(jiān)控程序自舉→監(jiān)控程序執(zhí)行ARM內(nèi)部寄存器初始化→硬件自檢→加載標(biāo)志檢測→(軟件更新加載)→FPGA參數(shù)設(shè)定→用戶軟件加載及完整性正確性校驗→控制權(quán)叫用戶軟件→用戶軟件初始化→用戶軟件運(yùn)行。
(2)FPGA執(zhí)行的初始化工作。主要有FPGA內(nèi)部寄存器和邏輯狀態(tài)的初始值、內(nèi)部緩沖區(qū)數(shù)據(jù)清零依靠復(fù)位信號來完成。其中的“FPGA參數(shù)設(shè)定”由監(jiān)控程序負(fù)責(zé)執(zhí)行或由FPGA使用缺省參數(shù)完成。數(shù)據(jù)融合格式、輸入/輸出碼速率等FPGA參數(shù)存儲在ARM的片內(nèi)FLASH中的FPGA參數(shù)區(qū)中,上電或復(fù)位時有監(jiān)控軟件負(fù)責(zé)加載和初始化。
3.2.3 重構(gòu)過程
可重構(gòu)演示驗證系統(tǒng)的結(jié)構(gòu)如圖4所示,當(dāng)出現(xiàn)錯誤和發(fā)生故障時,由ARM處理器讀取FLASH存儲器中的重構(gòu)方案。但是,F(xiàn)LASH存儲器取舍眾多重構(gòu)方案卻是受外部1553B,Spw,UART的控制。由ARM處理器更新FLASH存儲器或給完成并/串轉(zhuǎn)換的FPGA發(fā)出控制命令來對可重構(gòu)應(yīng)用單元進(jìn)行操作。模擬JTAG口的FPGA與兩個應(yīng)用FPGA的JTAG口邊界掃描鏈(Boundary-Scan Chain),在ARM處理器的控制下,對被重構(gòu)的FPGA進(jìn)行重構(gòu)。FPGA的主要任務(wù)是通過ARM控制器將事先存入FLASH中邏輯系統(tǒng)的不同功能配置信息,按用戶的系統(tǒng)時序要求和外部控制,逐一下載到SRAM編程的FPGA之中,以實現(xiàn)系統(tǒng)功能的動態(tài)局部重構(gòu)。在系統(tǒng)工作過程中,F(xiàn)PGA將根據(jù)不同的要求,在處理器的控制下,不斷重構(gòu)其邏輯功能,通過模板級重構(gòu),滿足不同數(shù)字圖像處理和其他邏輯運(yùn)算的要求。
3.3 實現(xiàn)局部動態(tài)可重構(gòu)的FPGA的選型和配置模式
3.3.1 Xilinx公司的Virtex-4系列FPGA
在選擇器件時,必須保證器件資源留有一定余量,這樣不僅可以避免布線擁擠,也便于測試修改和功能擴(kuò)展。根據(jù)系統(tǒng)的需求和擴(kuò)展性,選擇Virtex-4系列FPGA。它是Xilinx公司推出的一系列實現(xiàn)動態(tài)局部重構(gòu)的FPGA芯片,也是基于查找表的。Virtex-4系列芯片將高級硅片組合模塊(ASMBL)架構(gòu)與種類繁多的靈活功能相結(jié)合,大大提高了可編程邏輯設(shè)計能力,從而成為替代ASIC技術(shù)的強(qiáng)有力產(chǎn)品。采用Virtex-4選用Xilinx公司的Virtex-4系列產(chǎn)品XC4VSX55。XC4VSX55具有128列×48行陣列,55 296個邏輯單元,24 576個Slice,最大分布式RAM384 KB,512個XtremeDSPSlice),320個18 KB塊RAM,最大塊RAM存儲容量5 760 KB,8個DCM,4個相位匹配時鐘分頻器(PMCD),13個I/O組,最大用戶I/O數(shù)640個。根據(jù)目前已有的算法,其性能和資源可以較好地滿足圖像匹配算法和目標(biāo)識別算法對硬件資源(邏輯門數(shù)、RAM大小、乘法加法器等)的需求。Virtex-4硬IP核塊的龐大陣列包括PowerPC處理器(帶有新型APU接口)、三態(tài)以太網(wǎng)MAC,622 Mb/s到6.5 Gb/s串行收發(fā)器、專用DSP S1ice、高速時鐘管理電路和源同步接口塊。
評論