電子系統(tǒng)功能實現(xiàn)的模式不外硬件和軟件兩種。基于馮.諾依曼或者哈佛體系結(jié)構(gòu)的通用微處理器(MPU、MCU、DSP等)系統(tǒng)是軟件實現(xiàn)模式,其硬件電路結(jié)構(gòu)固定,通過串行執(zhí)行指令實現(xiàn)功能。軟件設(shè)計靈活、易升級,但執(zhí)行速度慢、效率低;而專用集成電路(ASIC)采用硬件模式,通過固化的特定運算和單元電路完成功能。指令并行執(zhí)行,執(zhí)行速度快、效率高,但開發(fā)周期長、缺乏靈活性。在一些實時性和靈活性要求都比較高的場合,采用通用微處理器或者ASIC效果都欠佳。大規(guī)模的電子系統(tǒng)是各種邏輯功能模塊的組合。從時間軸上來看,系統(tǒng)中的各個功能模塊并不是任何時刻都在工作,而是根據(jù)系統(tǒng)外部的整體要求,輪流或循環(huán)地或工作。隨著系統(tǒng)規(guī)模的擴大。
各功能模塊電路的資源利用率反而下降。因此,系統(tǒng)設(shè)計要從傳統(tǒng)的追求大規(guī)模、高密度的方向,轉(zhuǎn)向如何提高資源利用率上來,充分利用有限的資源去實現(xiàn)更大規(guī)模的邏輯設(shè)計。基于大規(guī)模可編程器件FPGA的可重構(gòu)系統(tǒng)(ReconfigurableSystem),就是利用FPGA可以多次重復(fù)編程配置的特點,實現(xiàn)實時電路重構(gòu)(Reconfigurationofcircuitryatruntime,簡稱RCR),即在電子系統(tǒng)的工作狀態(tài)下,動態(tài)改變電路的結(jié)構(gòu),其實質(zhì)是實現(xiàn)FPGA內(nèi)部全部或部分邏輯資源的時分復(fù)用,使在時間上離散的邏輯電路功能能在同一FPGA中順序?qū)崿F(xiàn)。雖然可重構(gòu)系統(tǒng)的概念早在1960年就已經(jīng)提出來,但由于沒有理想的可重構(gòu)器件等原因。
這方面的研究一直沒有很大突破。1990年以來,隨著大規(guī)模集成電路的迅速發(fā)展,尤其是大規(guī)模可編程器件FPGA的出現(xiàn),研制可重構(gòu)電子系統(tǒng)的硬件條件已基本具備,實時電路重構(gòu)的思想逐漸引起了學(xué)術(shù)界的注意,從而引發(fā)了對可重構(gòu)系統(tǒng)的研究熱潮。自從2000年以來,基于FPGA的重構(gòu)在國際上得到了越來越多的關(guān)注和研究。可重構(gòu)設(shè)計是指利用可重用的軟、硬件資源,根據(jù)不同的應(yīng)用需求,靈活地改變自身體系結(jié)構(gòu)的設(shè)計方法。FPGA器件可多次重復(fù)配置邏輯的特性使可重構(gòu)系統(tǒng)成為可能,使系統(tǒng)兼具靈活、便捷、硬件資源可復(fù)用等性能。FPGA器件的結(jié)構(gòu)主要有兩種:一是基于反熔絲技術(shù),二是基于SRAM或FLASH編程。用反熔絲開關(guān)作基本元件。
具有非易失性,編程完成后,F(xiàn)PGA的配置數(shù)據(jù)不再變化,無法重構(gòu)。而基于SRAM或FLASH編程的FPGA通過陣列中的SRAM或FLASH單元對FPGA進(jìn)行編程。SRAM單元由一個RAM和一個PIP晶體管組成,RAM中儲存著PIP晶體管的通斷信息,系統(tǒng)上電時,這些信息碼由外部電路寫入到FPGA內(nèi)部的RAM中,電源斷開后,RAM中的數(shù)據(jù)將丟失。因此SRAM或FLASH編程型FPGA是易失性的,每次重新加電,F(xiàn)PGA都要重新加載數(shù)據(jù)。這樣,運行中的FPGA功能系統(tǒng)在掉電后可以重新下載新的配置數(shù)據(jù),以實現(xiàn)不同的功能。這一特點成為FPGA在許多新領(lǐng)域獲得廣泛應(yīng)用的關(guān)鍵,尤其成為可重構(gòu)系統(tǒng)發(fā)展的持續(xù)驅(qū)動力。
根據(jù)重構(gòu)的方法不同,F(xiàn)PGA的重構(gòu)可分為靜態(tài)重構(gòu)和動態(tài)重構(gòu)兩種,前者是指在系統(tǒng)空閑期間進(jìn)行在線編程,即斷開先前的電路功能后,重新下載存貯器中不同的目標(biāo)數(shù)據(jù)來改變目標(biāo)系統(tǒng)邏輯功能。常規(guī)SRAMFPGA都可實現(xiàn)靜態(tài)重構(gòu)。后者則是指在系統(tǒng)實時運行中對FPGA芯片進(jìn)行動態(tài)配置(即在改變電路功能的同時仍然保持電路的工作狀態(tài)),使其全部或部分邏輯資源實現(xiàn)在系統(tǒng)的高速的功能變換和時分復(fù)用。動態(tài)重構(gòu)技術(shù)需要特定的基于SRAM或FLASH結(jié)構(gòu)的新型FPGA的支持。隨著其產(chǎn)品和技術(shù)的相對成熟,動態(tài)重構(gòu)FPGA的設(shè)計理論和設(shè)計方法已經(jīng)逐漸成為新的研究熱點。根據(jù)實現(xiàn)重構(gòu)的面積不同,可重構(gòu)FPGA又可以分為全局重構(gòu)和局部重構(gòu)。