當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]基于FPGA的可重構(gòu)系統(tǒng)及其結(jié)構(gòu)分析

 1 引言

電子系統(tǒng)功能實現(xiàn)的模式不外硬件和軟件兩種?;隈T.諾依曼或者哈佛體系結(jié)構(gòu)的通用微處理器(MPU、MCU、DSP等)系統(tǒng)是軟件實現(xiàn)模式,其硬件電路結(jié)構(gòu)固定,通過串行執(zhí)行指令實現(xiàn)功能。軟件設計靈活、易升級,但執(zhí)行速度慢、效率低;而專用集成電路(ASIC)采用硬件模式,通過固化的特定運算和單元電路完成功能。指令并行執(zhí)行,執(zhí)行速度快、效率高,但開發(fā)周期長、缺乏靈活性。在一些實時性和靈活性要求都比較高的場合,采用通用微處理器或者ASIC效果都欠佳。

大規(guī)模的電子系統(tǒng)是各種邏輯功能模塊的組合。從時間軸上來看,系統(tǒng)中的各個功能模塊并不是任何時刻都在工作,而是根據(jù)系統(tǒng)外部的整體要求,輪流或循環(huán)地激活或工作。隨著系統(tǒng)規(guī)模的擴大,各功能模塊電路的資源利用率反而下降。因此,系統(tǒng)設計要從傳統(tǒng)的追求大規(guī)模、高密度的方向,轉(zhuǎn)向如何提高資源利用率上來,充分利用有限的資源去實現(xiàn)更大規(guī)模的邏輯設計。

基于大規(guī)??删幊唐骷?strong>FPGA的可重構(gòu)系統(tǒng)(Reconfigurable System),就是利用FPGA可以多次重復編程配置的特點,實現(xiàn)實時電路重構(gòu)(Reconfiguration of circuitry at runtime,簡稱RCR),即在電子系統(tǒng)的工作狀態(tài)下,動態(tài)改變電路的結(jié)構(gòu),其實質(zhì)是實現(xiàn)FPGA內(nèi)部全部或部分邏輯資源的時分復用,使在時間上離散的邏輯電路功能能在同一FPGA中順序?qū)崿F(xiàn)。

雖然可重構(gòu)系統(tǒng)的概念早在1960年就已經(jīng)提出來,但由于沒有理想的可重構(gòu)器件等原因,這方面的研究一直沒有很大突破。1990年以來,隨著大規(guī)模集成電路的迅速發(fā)展,尤其是大規(guī)??删幊唐骷﨔PGA的出現(xiàn),研制可重構(gòu)電子系統(tǒng)的硬件條件已基本具備,實時電路重構(gòu)的思想逐漸引起了學術(shù)界的注意,從而引發(fā)了對可重構(gòu)系統(tǒng)的研究熱潮。自從2000年以來,基于FPGA的重構(gòu)在國際上得到了越來越多的關(guān)注和研究。

2 FPGA可重構(gòu)設計的基礎

2.1 FPGA可重構(gòu)設計的結(jié)構(gòu)基礎

可重構(gòu)設計是指利用可重用的軟、硬件資源,根據(jù)不同的應用需求,靈活地改變自身體系結(jié)構(gòu)的設計方法。FPGA器件可多次重復配置邏輯的特性使可重構(gòu)系統(tǒng)成為可能,使系統(tǒng)兼具靈活、便捷、硬件資源可復用等性能。

FPGA器件的結(jié)構(gòu)主要有兩種:一是基于反熔絲技術(shù),二是基于SRAM或FLASH編程。用反熔絲開關(guān)作基本元件,具有非易失性,編程完成后,F(xiàn)PGA的配置數(shù)據(jù)不再變化,無法重構(gòu)。而基于SRAM或FLASH編程的FPGA通過陣列中的SRAM或FLASH單元對FPGA進行編程。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在許多新領域獲得廣泛應用的關(guān)鍵,尤其成為可重構(gòu)系統(tǒng)發(fā)展的持續(xù)驅(qū)動力。

2.2 FPGA的重構(gòu)方式

根據(jù)重構(gòu)的方法不同,F(xiàn)PGA的重構(gòu)可分為靜態(tài)重構(gòu)和動態(tài)重構(gòu)兩種,前者是指在系統(tǒng)空閑期間進行在線編程,即斷開先前的電路功能后,重新下載存貯器中不同的目標數(shù)據(jù)來改變目標系統(tǒng)邏輯功能。常規(guī)SRAM FPGA都可實現(xiàn)靜態(tài)重構(gòu)。后者則是指在系統(tǒng)實時運行中對FPGA芯片進行動態(tài)配置(即在改變電路功能的同時仍然保持電路的工作狀態(tài)),使其全部或部分邏輯資源實現(xiàn)在系統(tǒng)的高速的功能變換和時分復用。動態(tài)重構(gòu)技術(shù)需要特定的基于SRAM或FLASH結(jié)構(gòu)的新型FPGA的支持。隨著其產(chǎn)品和技術(shù)的相對成熟,動態(tài)重構(gòu)FPGA的設計理論和設計方法已經(jīng)逐漸成為新的研究熱點。

根據(jù)實現(xiàn)重構(gòu)的面積不同,可重構(gòu)FPGA又可以分為全局重構(gòu)和局部重構(gòu)。

(1)全局重構(gòu):對FPGA器件或系統(tǒng)能且只能進行全部的重新配置,在配置過程中,計算的中間結(jié)果必須取出存放在額外的存儲區(qū),直到新的配置功能全部下載完為止。重構(gòu)前后電路相互獨立,沒有關(guān)聯(lián)。通常,可以給FPGA串連一個EPROM來存儲配置數(shù)據(jù),實現(xiàn)前后功能的轉(zhuǎn)化。常規(guī)基于SRAM的FPGA的靜態(tài)重構(gòu)均為全局重構(gòu)。

(2)局部重構(gòu):對重構(gòu)器件或系統(tǒng)的一部分進行重新配置,重構(gòu)過程中,其余部分的工作狀態(tài)不受影響。這種重構(gòu)方式減小了重構(gòu)范圍和單元數(shù)目,F(xiàn)PGA的重構(gòu)時間大大縮短,占有相當?shù)乃俣葍?yōu)勢。應用FPGA動態(tài)部分重構(gòu)功能使硬件設計更加靈活,可用于硬件的遠程升級、系統(tǒng)容錯和演化硬件以及通信平臺設計等。動態(tài)部分重構(gòu)可以通過兩種方法實現(xiàn):基于模塊化的設計方法(Module-Based Partial Reconfiguration)和基于差別的設計方法(Difference-Based Partial Reconfiguration)。

顯然,動態(tài)重構(gòu)比靜態(tài)重構(gòu)優(yōu)越,因為靜態(tài)重構(gòu)將整個內(nèi)部的邏輯單元都重新配置,此時FPGA被掛起不能執(zhí)行正常操作,重構(gòu)完成后才能恢復工作,影響系統(tǒng)實時性。動態(tài)重構(gòu)在系統(tǒng)運行中能實時全部或部分重構(gòu),且不中斷正常邏輯輸出,因而更有靈活性和高速度。

大多數(shù)FPGA都是基于LUT查找表結(jié)構(gòu),它們只適用于靜態(tài)重構(gòu),通過向LUT一次下載全部配置數(shù)據(jù)而設定FPGA的邏輯功能。根據(jù)FPGA的容量不同、配置方式不同,全部重構(gòu)時間為幾ms到幾秒不等。

對于常規(guī)FPGA來說,重載方式多種多樣。在系統(tǒng)調(diào)試階段,一般是通過JTAG電纜從主機下載配置數(shù)據(jù),調(diào)試結(jié)束后正式運行時一般是將配置數(shù)據(jù)放在串行PROM中,上電時向FPGA加載邏輯。但對于系統(tǒng)實際運行還有一些更快更靈活的配置方式,可以縮短FPGA的重構(gòu)時間,實現(xiàn)靈活重構(gòu)。如ALTERA公司的FPGA可采用串行被動(PS)方式配置,對于2萬邏輯門規(guī)模的EP1K10配置數(shù)據(jù)為20KB,在30MHz的配置時鐘下只要5ms即可全部重構(gòu)。這個速度雖然比不上動態(tài)配置的FPGA,但也比JTAG下載、串行PROM配置方式快多了,姑且稱之為準動態(tài)重構(gòu)(bogus dynamic restructuring)。而且在許多系統(tǒng)中FPGA并不時刻都在工作,而是以一定的重復頻率執(zhí)行任務,只要在FPGA的空閑時間來得及對其進行重新配置,那么在系統(tǒng)宏觀的角度就可以認為是動態(tài)配置的,即實時重構(gòu)。

2.3 支持重構(gòu)的FPGA器件

近年來,隨著FPGA技術(shù)的發(fā)展,支持重構(gòu)的FPGA器件新品迭現(xiàn)。Xilinx、Altera、Lattice的FPGA器件都是SRAM查找表結(jié)構(gòu)。Xilinx支持模塊化動態(tài)部分重構(gòu)的器件族有XC6200系列,90nm工藝Spartan-3和Virtex-4 、Virtex-II-E和Virtex-II Pro [7]。Acmel公司的AT6000系列同樣基于SRAM結(jié)構(gòu),只是SRAM的各單元能夠單獨訪問配置,即支持部分重構(gòu)。Lattice公司的基于Flash的FPGA通過在Flash上存儲多種邏輯功能的配置數(shù)據(jù)流,經(jīng)過配置實現(xiàn)不同邏輯功能,嚴格意義上講屬于靜態(tài)可重構(gòu)技術(shù)。Altera公司的Flex系列、ACEX、APEX、Cyclone系列也是基于SRAM的可重構(gòu)邏輯。支持重構(gòu)的FPGA器件有數(shù)量逐漸增加的趨勢。但目前價格相對偏高。[!--empirenews.page--]

3 基于FPGA的可重構(gòu)系統(tǒng)結(jié)構(gòu)分析

由于可重構(gòu)系統(tǒng)的研究歷史很短,目前尚未形成標準的結(jié)構(gòu)形式,在此僅根據(jù)已有的應用做初步分析。

按重構(gòu)的粒度和方式,可重構(gòu)系統(tǒng)可以粗略地分為兩種。一種是粗粒度重構(gòu)單元的模塊級重構(gòu),即重構(gòu)時改變某一個或若干個子模塊的結(jié)構(gòu)。此時不僅電路邏輯改變,連線資源也重新分配。重構(gòu)所需的電路輸出配置信息事先由編譯軟件生成。通常重構(gòu)時系統(tǒng)需要暫停工作,待重構(gòu)完成后再繼續(xù)。這種重構(gòu)系統(tǒng)設計簡單,但靈活性不足,且有時不能完全發(fā)揮出硬件運算的效率。較適合應用于嵌入式系統(tǒng)中。

另一種細粒度的重構(gòu)單元的元件級重構(gòu),即重構(gòu)時僅改變?nèi)舾稍倪壿嫻δ?。通常情況下重構(gòu)時連線資源的分配狀況不作修改,重構(gòu)所需的電路配置信息在系統(tǒng)運行過程中動態(tài)產(chǎn)生。重構(gòu)時系統(tǒng)可以邊重構(gòu)邊工作。這種重構(gòu)系統(tǒng)設計復雜,但靈活性大,能充分發(fā)揮出硬件運算的效率,較適合高速數(shù)字濾波器、演化計算、定制計算等方面的應用。

從現(xiàn)有的可重構(gòu)系統(tǒng)組織結(jié)構(gòu)看,可以根據(jù)應用類型加以區(qū)分,在中低端應用中,主要采用通用微處理器MPU(MCU/DSP)+FPGA形式;在高端應用中,主要采用處理器集成型,即將處理器、存儲器、I/O口、LVDS、CDR等系統(tǒng)設計需要的資源集成到一個FPGA芯片上,構(gòu)建成一個可編程的片上系統(tǒng)SoPC(System on Programmable Chip)。

3.1 MPU+FPGA結(jié)構(gòu)的可重構(gòu)系統(tǒng)的結(jié)構(gòu)特點

通用微處理器具有良好的接口功能,便于構(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中實現(xiàn)控制器的外設電路功能。實質(zhì)上,這是傳統(tǒng)MPU控制系統(tǒng)的繼承與發(fā)展,根據(jù)系統(tǒng)需要,在FPGA中定制實現(xiàn)各分立的外部設備與接口,如SRAM、鍵盤與顯示接口以及總線的擴展等應用。

例如在某多通道超聲信號高速采集處理系統(tǒng)中,所需處理的數(shù)據(jù)流龐大,對它的處理是計算密集型任務。采用DSP+FPGA結(jié)構(gòu)模式,以FPGA作為DSP的協(xié)處理器,能夠以硬件的速度進行并行計算,同時利用其在線可重構(gòu)特性,靈活地改變內(nèi)部邏輯配置來完成多種不同算法的任務。

由于主要控制任務在MPU上實現(xiàn),系統(tǒng)邏輯實現(xiàn)的重點在編制MPU程序上,而FPGA則更多地使用IP (Intellectual Property)核實現(xiàn)基本功能模塊,軟件開發(fā)在整個系統(tǒng)設計過程中所占比重較大。

3.1.2 MPU協(xié)同F(xiàn)PGA工作的可重構(gòu)系統(tǒng)

這類系統(tǒng)通常以可編程邏輯器件為核心,在其內(nèi)部實現(xiàn)面向應用的邏輯控制功能(通常以狀態(tài)機FSM實現(xiàn)),而MPU則占據(jù)次要地位(充當FPGA控制器的外設)。應該說,這類系統(tǒng)充分利用了可編程邏輯器件和MCU的特點,實現(xiàn)了優(yōu)勢互補。它主要應用在面向?qū)崟r性應用、并行處理以及高速等環(huán)境中。例如,使用高密度FPGA進行多路A/D高速采樣,經(jīng)內(nèi)部處理模塊處理后,并行輸出結(jié)果,整個過程的時序控制在FPGA內(nèi)部實現(xiàn);而MPU只負責對FPGA各功能模塊的參數(shù)裝載、啟動命令發(fā)送及FPGA工作狀態(tài)監(jiān)控等外圍任務。

這類系統(tǒng)的開發(fā)重點主要在FPGA邏輯功能的硬件實現(xiàn)上,而MPU的控制軟件比較簡單。

在實際應用中,系統(tǒng)的特點并不像以上兩種類型這么明顯,普遍存在的是兼具以上特點的系統(tǒng),只是所占比重不同而已。

3.2 單片F(xiàn)PGA上的SoC—SoPC

將片上系統(tǒng)SOC和FPGA各自的優(yōu)點相結(jié)合,實現(xiàn)現(xiàn)場可編程、可重構(gòu)的新型SoC就是片上系統(tǒng)SoPC。

以Altera Stratix FPGA器件為例,Stratix體系把硬件、軟件和IP功能從技術(shù)上融合到基于模塊的設計中。這個新的體系結(jié)構(gòu)采用CPU軟核Nios和DirectDriveTM的MultiTrackTM互聯(lián)布線結(jié)構(gòu)。Nios II系列32位嵌入式處理器是一款通用的RISC結(jié)構(gòu)的CPU,它定位于廣泛的嵌入式應用??删幊痰腘iosII核含有許多可配置的接口模塊,用戶可根據(jù)設計要求,利用Altera的Quartus II軟件以及SoPC Builder工具,允許設計者輕松地將Nios II處理器嵌入到他們的系統(tǒng)中。用戶還可通過Matlab和DSP Builder,或直接用VHDL等硬件描述語言,為NiosII嵌入式處理器設計各類硬件模塊,并以指令的形式加入到NiosII的指令系統(tǒng)中,使其成為NiosII系統(tǒng)的一個接口設備,與整個片內(nèi)嵌入式系統(tǒng)融為一體,而不是直接下載到FPGA中生成龐大的硬件系統(tǒng)。正是NiosII所具有的這些重要特點,使得可重構(gòu)SoPC的設計成為可能。市場上流行的SoPC器件廠商Xilinx和Altera都提供功能強大的SoPC設計平臺,并提供大量的IP核和參考設計,這是SoPC的一大優(yōu)勢。

當然,可重構(gòu)系統(tǒng)的形式并沒有完全定型,各類型間的分界是非常模糊的,甚至是交叉重合的??梢灶A見,隨著可重構(gòu)技術(shù)的發(fā)展,還會有新的系統(tǒng)結(jié)構(gòu)出現(xiàn)。

4 基于FPGA的可重構(gòu)系統(tǒng)的應用簡析

基于FPGA的可重構(gòu)系統(tǒng)優(yōu)越的應用性能主要體現(xiàn)在:①能以硬件的速度執(zhí)行算法,同時又具有靈活的可配置性;②當作緩存邏輯,在不同的時間段向FPGA加載不同的邏輯配置,實現(xiàn)硬件復用,提高資源利用率,減小系統(tǒng)規(guī)模功耗;③可構(gòu)造主動式數(shù)字容錯系統(tǒng),在系統(tǒng)發(fā)生故障時重新配置FPGA達到自修復;④實現(xiàn)可進化的硬件,對不斷變化的環(huán)境能迅速適配;⑤可使設計者用更為簡單的硬件和更短的設計周期來實現(xiàn)更多的功能,降低系統(tǒng)的成本。因此,基于FPGA的可重構(gòu)系統(tǒng)在軍事目標匹配、聲納波束合成、基因組匹配、圖像紋理填充、遺傳學方面基因組分析、集成電路的計算機輔助設計、網(wǎng)絡安全、光互連、高速數(shù)字濾波器、圖像壓縮、嵌入式系統(tǒng)等方面,都有著廣泛的應用前景。相信隨著FPGA技術(shù)的發(fā)展,該技術(shù)將進入更多應用領域,為人類帶來更多的便利。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉