基于FPGA的可重構(gòu)系統(tǒng)及其結(jié)構(gòu)分析
3 基于FPGA的可重構(gòu)系統(tǒng)結(jié)構(gòu)分析
由于可重構(gòu)系統(tǒng)的研究歷史很短,目前尚未形成標(biāo)準(zhǔn)的結(jié)構(gòu)形式,在此僅根據(jù)已有的應(yīng)用做初步分析。
按重構(gòu)的粒度和方式,可重構(gòu)系統(tǒng)可以粗略地分為兩種。一種是粗粒度重構(gòu)單元的模塊級(jí)重構(gòu),即重構(gòu)時(shí)改變某一個(gè)或若干個(gè)子模塊的結(jié)構(gòu)。此時(shí)不僅電路邏輯改變,連線資源也重新分配。重構(gòu)所需的電路輸出配置信息事先由編譯軟件生成。通常重構(gòu)時(shí)系統(tǒng)需要暫停工作,待重構(gòu)完成后再繼續(xù)。這種重構(gòu)系統(tǒng)設(shè)計(jì)簡(jiǎn)單,但靈活性不足,且有時(shí)不能完全發(fā)揮出硬件運(yùn)算的效率。較適合應(yīng)用于嵌入式系統(tǒng)中。
另一種細(xì)粒度的重構(gòu)單元的元件級(jí)重構(gòu),即重構(gòu)時(shí)僅改變?nèi)舾稍倪壿嫻δ?。通常情況下重構(gòu)時(shí)連線資源的分配狀況不作修改,重構(gòu)所需的電路配置信息在系統(tǒng)運(yùn)行過(guò)程中動(dòng)態(tài)產(chǎn)生。重構(gòu)時(shí)系統(tǒng)可以邊重構(gòu)邊工作。這種重構(gòu)系統(tǒng)設(shè)計(jì)復(fù)雜,但靈活性大,能充分發(fā)揮出硬件運(yùn)算的效率,較適合高速數(shù)字濾波器、演化計(jì)算、定制計(jì)算等方面的應(yīng)用。
從現(xiàn)有的可重構(gòu)系統(tǒng)組織結(jié)構(gòu)看,可以根據(jù)應(yīng)用類型加以區(qū)分,在中低端應(yīng)用中,主要采用通用微處理器MPU(MCU/DSP)+FPGA形式;在高端應(yīng)用中,主要采用處理器集成型,即將處理器、存儲(chǔ)器、I/O口、LVDS、CDR等系統(tǒng)設(shè)計(jì)需要的資源集成到一個(gè)FPGA芯片上,構(gòu)建成一個(gè)可編程的片上系統(tǒng)SoPC(System on Programmable Chip)。
3.1 MPU+FPGA結(jié)構(gòu)的可重構(gòu)系統(tǒng)的結(jié)構(gòu)特點(diǎn)
通用微處理器具有良好的接口功能,便于構(gòu)建可重構(gòu)系統(tǒng)。按照MPU與FPGA之間的相互關(guān)系以及在系統(tǒng)中所起的作用,主要可以分為兩類:MPU控制FPGA工作的可重構(gòu)系統(tǒng)和MPU協(xié)同F(xiàn)PGA工作的可重構(gòu)系統(tǒng)。
3.1.1 MPU控制FPGA工作的可重構(gòu)系統(tǒng)
這類系統(tǒng)采用MPU作為系統(tǒng)的控制核心,在FPGA中實(shí)現(xiàn)控制器的外設(shè)電路功能。實(shí)質(zhì)上,這是傳統(tǒng)MPU控制系統(tǒng)的繼承與發(fā)展,根據(jù)系統(tǒng)需要,在FPGA中定制實(shí)現(xiàn)各分立的外部設(shè)備與接口,如SRAM、鍵盤(pán)與顯示接口以及總線的擴(kuò)展等應(yīng)用。
例如在某多通道超聲信號(hào)高速采集處理系統(tǒng)中,所需處理的數(shù)據(jù)流龐大,對(duì)它的處理是計(jì)算密集型任務(wù)。采用DSP+FPGA結(jié)構(gòu)模式,以FPGA作為DSP的協(xié)處理器,能夠以硬件的速度進(jìn)行并行計(jì)算,同時(shí)利用其在線可重構(gòu)特性,靈活地改變內(nèi)部邏輯配置來(lái)完成多種不同算法的任務(wù)。
由于主要控制任務(wù)在MPU上實(shí)現(xiàn),系統(tǒng)邏輯實(shí)現(xiàn)的重點(diǎn)在編制MPU程序上,而FPGA則更多地使用IP (Intellectual Property)核實(shí)現(xiàn)基本功能模塊,軟件開(kāi)發(fā)在整個(gè)系統(tǒng)設(shè)計(jì)過(guò)程中所占比重較大。
3.1.2 MPU協(xié)同F(xiàn)PGA工作的可重構(gòu)系統(tǒng)
這類系統(tǒng)通常以可編程邏輯器件為核心,在其內(nèi)部實(shí)現(xiàn)面向應(yīng)用的邏輯控制功能(通常以狀態(tài)機(jī)FSM實(shí)現(xiàn)),而MPU則占據(jù)次要地位(充當(dāng)FPGA控制器的外設(shè))。應(yīng)該說(shuō),這類系統(tǒng)充分利用了可編程邏輯器件和MCU的特點(diǎn),實(shí)現(xiàn)了優(yōu)勢(shì)互補(bǔ)。它主要應(yīng)用在面向?qū)崟r(shí)性應(yīng)用、并行處理以及高速等環(huán)境中。例如,使用高密度FPGA進(jìn)行多路A/D高速采樣,經(jīng)內(nèi)部處理模塊處理后,并行輸出結(jié)果,整個(gè)過(guò)程的時(shí)序控制在FPGA內(nèi)部實(shí)現(xiàn);而MPU只負(fù)責(zé)對(duì)FPGA各功能模塊的參數(shù)裝載、啟動(dòng)命令發(fā)送及FPGA工作狀態(tài)監(jiān)控等外圍任務(wù)。
這類系統(tǒng)的開(kāi)發(fā)重點(diǎn)主要在FPGA邏輯功能的硬件實(shí)現(xiàn)上,而MPU的控制軟件比較簡(jiǎn)單。
在實(shí)際應(yīng)用中,系統(tǒng)的特點(diǎn)并不像以上兩種類型這么明顯,普遍存在的是兼具以上特點(diǎn)的系統(tǒng),只是所占比重不同而已。
3.2 單片F(xiàn)PGA上的SoC—SoPC
將片上系統(tǒng)SOC和FPGA各自的優(yōu)點(diǎn)相結(jié)合,實(shí)現(xiàn)現(xiàn)場(chǎng)可編程、可重構(gòu)的新型SoC就是片上系統(tǒng)SoPC。
以Altera Stratix FPGA器件為例,Stratix體系把硬件、軟件和IP功能從技術(shù)上融合到基于模塊的設(shè)計(jì)中。這個(gè)新的體系結(jié)構(gòu)采用CPU軟核Nios和DirectDriveTM的MultiTrackTM互聯(lián)布線結(jié)構(gòu)。Nios II系列32位嵌入式處理器是一款通用的RISC結(jié)構(gòu)的CPU,它定位于廣泛的嵌入式應(yīng)用??删幊痰腘iosII核含有許多可配置的接口模塊,用戶可根據(jù)設(shè)計(jì)要求,利用Altera的Quartus II軟件以及SoPC Builder工具,允許設(shè)計(jì)者輕松地將Nios II處理器嵌入到他們的系統(tǒng)中。用戶還可通過(guò)Matlab和DSP Builder,或直接用VHDL等硬件描述語(yǔ)言,為NiosII嵌入式處理器設(shè)計(jì)各類硬件模塊,并以指令的形式加入到NiosII的指令系統(tǒng)中,使其成為NiosII系統(tǒng)的一個(gè)接口設(shè)備,與整個(gè)片內(nèi)嵌入式系統(tǒng)融為一體,而不是直接下載到FPGA中生成龐大的硬件系統(tǒng)。正是NiosII所具有的這些重要特點(diǎn),使得可重構(gòu)SoPC的設(shè)計(jì)成為可能。市場(chǎng)上流行的SoPC器件廠商Xilinx和Altera都提供功能強(qiáng)大的SoPC設(shè)計(jì)平臺(tái),并提供大量的IP核和參考設(shè)計(jì),這是SoPC的一大優(yōu)勢(shì)。
當(dāng)然,可重構(gòu)系統(tǒng)的形式并沒(méi)有完全定型,各類型間的分界是非常模糊的,甚至是交叉重合的??梢灶A(yù)見(jiàn),隨著可重構(gòu)技術(shù)的發(fā)展,還會(huì)有新的系統(tǒng)結(jié)構(gòu)出現(xiàn)。
4 基于FPGA的可重構(gòu)系統(tǒng)的應(yīng)用簡(jiǎn)析
基于FPGA的可重構(gòu)系統(tǒng)優(yōu)越的應(yīng)用性能主要體現(xiàn)在:①能以硬件的速度執(zhí)行算法,同時(shí)又具有靈活的可配置性;②當(dāng)作緩存邏輯,在不同的時(shí)間段向FPGA加載不同的邏輯配置,實(shí)現(xiàn)硬件復(fù)用,提高資源利用率,減小系統(tǒng)規(guī)模功耗;③可構(gòu)造主動(dòng)式數(shù)字容錯(cuò)系統(tǒng),在系統(tǒng)發(fā)生故障時(shí)重新配置FPGA達(dá)到自修復(fù);④實(shí)現(xiàn)可進(jìn)化的硬件,對(duì)不斷變化的環(huán)境能迅速適配;⑤可使設(shè)計(jì)者用更為簡(jiǎn)單的硬件和更短的設(shè)計(jì)周期來(lái)實(shí)現(xiàn)更多的功能,降低系統(tǒng)的成本。因此,基于FPGA的可重構(gòu)系統(tǒng)在軍事目標(biāo)匹配、聲納波束合成、基因組匹配、圖像紋理填充、遺傳學(xué)方面基因組分析、集成電路的計(jì)算機(jī)輔助設(shè)計(jì)、網(wǎng)絡(luò)安全、光互連、高速數(shù)字濾波器、圖像壓縮、嵌入式系統(tǒng)等方面,都有著廣泛的應(yīng)用前景。相信隨著FPGA技術(shù)的發(fā)展,該技術(shù)將進(jìn)入更多應(yīng)用領(lǐng)域,為人類帶來(lái)更多的便利。
評(píng)論