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