文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.190480
中文引用格式: 徐偉杰,謝永樂,彭禮彪,等. 基于SRAM型FPGA的實(shí)時容錯自修復(fù)系統(tǒng)設(shè)計方法[J].電子技術(shù)應(yīng)用,2019,45(7):50-55.
英文引用格式: Xu Weijie,Xie Yongle,Peng Libiao,et al. SRAM based FPGA system capable of runtime fault tolerance and recovery[J]. Application of Electronic Technique,2019,45(7):50-55.
0 引言
隨著航天技術(shù)的發(fā)展,空間任務(wù)日益復(fù)雜化、多樣化,未來航天系統(tǒng)對處理器的性能要求越來越高。在一些航天設(shè)備如星載ATP等系統(tǒng)的電子模塊設(shè)計中,基于SRAM的現(xiàn)場可編程門陣列(FPGA)得到了日益廣泛的應(yīng)用。空間環(huán)境中的電子系統(tǒng)設(shè)計,不僅要滿足高性能,而且其數(shù)據(jù)處理、傳輸和控制的準(zhǔn)確性和可靠性也必須得到保證。對于機(jī)載、星載、空間武器和其他空間應(yīng)用電子系統(tǒng),往往暴露在形形色色的電磁輻射環(huán)境中,如α粒子、宇宙射線、外太空強(qiáng)輻射等等惡劣環(huán)境,加之一些電子系統(tǒng)工作在地面的高電磁輻射環(huán)境中,這些輻射環(huán)境中充滿了各種高能粒子,高能粒子撞擊工作中的電子器件會引發(fā)輻射效應(yīng),如單粒子翻轉(zhuǎn)(SEU)等,并導(dǎo)致器件發(fā)生故障,由輻射效應(yīng)引起的軟錯誤是導(dǎo)致空間環(huán)境中電子系統(tǒng)失效的重要原因之一[1]。
在提高系統(tǒng)可靠性與安全性方面,避錯與容錯技術(shù)是常用的兩種關(guān)鍵技術(shù)。微電子抗輻射加固技術(shù)[2],通過對材料選取、工藝結(jié)構(gòu)設(shè)計等方面進(jìn)行加固設(shè)計,在物理層消除導(dǎo)致?lián)p傷的各類寄生參數(shù), 能有效提高電子器件的抗輻射能力。但是僅在物理層上對系統(tǒng)進(jìn)行故障防護(hù)不能滿足惡劣環(huán)境中的系統(tǒng)可靠性要求,還需要從電路設(shè)計方面對系統(tǒng)功能進(jìn)行保護(hù)。運(yùn)用錯誤校正碼(ECC)技術(shù)[3],在數(shù)據(jù)包的后端添加額外的校驗(yàn)數(shù)據(jù)位,來實(shí)現(xiàn)讀取/寫入數(shù)據(jù)的準(zhǔn)確性,能在一定程度上對存儲器進(jìn)行檢錯和糾錯。容錯設(shè)計技術(shù),如采用冗余設(shè)計來“屏蔽”或“隔離”故障,如信息冗余[4]、硬件冗余[5]等,進(jìn)而在一定時期內(nèi)將故障的影響掩蓋起來,使發(fā)生故障的電子系統(tǒng)在一定時期內(nèi)仍能正常工作,但這種方式并未排除故障,隨著故障的累積和疊加,系統(tǒng)仍然可能失效,所以賦予系統(tǒng)故障自修復(fù)能力能有效減少故障累積,提高系統(tǒng)的可靠性。
本文從故障容錯和故障自修復(fù)角度對系統(tǒng)進(jìn)行芯片級的可靠性設(shè)計,提出了一種基于SRAM型FPGA的實(shí)時容錯自修復(fù)系統(tǒng)結(jié)構(gòu),并將該設(shè)計結(jié)構(gòu)在Xilinx Virtex-6 FPGA上進(jìn)行了設(shè)計驗(yàn)證。
1 基于動態(tài)部分重構(gòu)的模塊修復(fù)
FPGA的配置可分為靜態(tài)配置和動態(tài)配置,靜態(tài)配置通常對整個FPGA模塊進(jìn)行重新配置,系統(tǒng)功能在配置過程時中斷,并在配置結(jié)束后改變系統(tǒng)功能。動態(tài)配置,又稱為動態(tài)部分重構(gòu),能夠在不干擾FPGA內(nèi)部其他模塊工作的同時動態(tài)地對部分區(qū)域的邏輯功能進(jìn)行修改。其核心思想是將FPGA內(nèi)部的邏輯資源從物理布局上劃分為靜態(tài)區(qū)域和若干個動態(tài)區(qū)域。每個動態(tài)區(qū)域可以對應(yīng)有多個配置文件,以實(shí)現(xiàn)不同的功能,將這些配置文件事先存放在片外存儲器中。在系統(tǒng)運(yùn)行的不同時刻,根據(jù)系統(tǒng)的實(shí)際需求加載不同的配置文件到同一個動態(tài)區(qū)域來實(shí)現(xiàn)相應(yīng)的邏輯功能。在某一動態(tài)區(qū)域進(jìn)行功能切換時,不影響靜態(tài)區(qū)域和其他動態(tài)區(qū)域的邏輯功能,系統(tǒng)依然處于連續(xù)運(yùn)行狀態(tài)。
動態(tài)部分重構(gòu)技術(shù)能對FPGA的部分資源實(shí)現(xiàn)分時復(fù)用,使芯片能夠在不同時刻實(shí)現(xiàn)不同的功能,提高了芯片資源的利用率,已廣泛應(yīng)用于工業(yè)系統(tǒng)設(shè)計中,如文獻(xiàn)[6]中結(jié)合動態(tài)部分重構(gòu)技術(shù)對工業(yè)傳感器數(shù)據(jù)采集系統(tǒng)進(jìn)行設(shè)計,針對不同的傳感器切換不同的功能。該技術(shù)還可應(yīng)用于可重構(gòu)計算[7]、可進(jìn)化硬件[8-9]、容錯設(shè)計[10-14]等方面。將動態(tài)部分重構(gòu)技術(shù)和冗余技術(shù)結(jié)合,即將冗余設(shè)計中各冗余模塊分別置于一動態(tài)區(qū)域中,在故障發(fā)生時通過動態(tài)重構(gòu)對故障模塊進(jìn)行修復(fù),可以避免故障的累積和疊加,在容錯的同時賦予系統(tǒng)故障自修復(fù)能力。
2 粗粒度和細(xì)粒度的三模冗余自修復(fù)結(jié)構(gòu)
2.1 粗粒度的三模冗余設(shè)計結(jié)構(gòu)
典型的模塊冗余技術(shù)——N模冗余設(shè)計:將功能模塊復(fù)制為N份,N個模塊具有相同的輸入,N個模塊的輸出經(jīng)過多數(shù)表決器表決輸出。N模冗余系統(tǒng)在工作過程中能同時容忍不超過半數(shù)的冗余模塊發(fā)生故障而不影響最終的系統(tǒng)輸出。隨著冗余模塊的數(shù)量增加,系統(tǒng)的容錯能力提高,但同時系統(tǒng)的硬件資源開銷和功耗增大,綜合考慮容錯能力和資源開銷,三模冗余(TMR)技術(shù)具有最高的性能表現(xiàn)。
FPGA的系統(tǒng)通常可以分為多個功能模塊,粗粒度的三模冗余設(shè)計結(jié)構(gòu)以整個功能模塊為單位進(jìn)行冗余設(shè)計,如圖1所示,即將整個功能模塊作為一個冗余單位,將整個功能模塊復(fù)制三份,將每個功能單元模塊FU1~FU3配置到單獨(dú)的部分重構(gòu)模塊(PRM)中,使得每個冗余模塊都可以獨(dú)立被修復(fù)。表決器選擇多數(shù)的輸入結(jié)果進(jìn)行輸出。在粗粒度的三模冗余設(shè)計結(jié)構(gòu)中,只要兩個冗余模塊的輸出結(jié)果正確,就能保證整個模塊輸出正常,當(dāng)其中任意模塊發(fā)生故障時,通過系統(tǒng)的故障檢測機(jī)制可進(jìn)行故障定位,隔離故障區(qū)域并進(jìn)行自修復(fù)操作。
2.2 細(xì)粒度的三模冗余設(shè)計結(jié)構(gòu)
采用粗粒度設(shè)計結(jié)構(gòu)能有效提高系統(tǒng)的可靠度,但其仍然存在一些不足,一是當(dāng)多數(shù)表決器出現(xiàn)故障時整個自修復(fù)結(jié)構(gòu)本身不可靠;二是由于模塊粒度較大,一些不能導(dǎo)致模塊功能失效的隱性故障持續(xù)累積,容易導(dǎo)致多個模塊同時故障,使得防護(hù)結(jié)構(gòu)失效。本文中細(xì)粒度的三模冗余設(shè)計結(jié)構(gòu)能有效減少故障累積,該設(shè)計結(jié)構(gòu)將一功能模塊拆分為若干個獨(dú)立的時序元件和組合邏輯部分,本文將該設(shè)計結(jié)構(gòu)利用圖形化表示來說明,將功能單元模塊中的組合邏輯表示為CG,時序元件表示為SE,則利用有向圖表示方法可以將圖2(a)電路表示為圖2(b)。
細(xì)粒度的三模冗余容錯自修復(fù)結(jié)構(gòu)建立在有向圖表示方法基礎(chǔ)之上,其核心思想是,將電路分割為邏輯電路和時序電路,在時序電路輸出插入多數(shù)表決器,然后再對原始電路進(jìn)行三模冗余設(shè)計,使得此自修復(fù)結(jié)構(gòu)具有三個表決器,因此加強(qiáng)了此結(jié)構(gòu)的故障容錯能力,同時減輕了時序電路引起的錯誤累積,可以成功避免域交叉錯誤的出現(xiàn)。圖2(a)表示的原始電路,利用有向圖表示方法將原始電路分割開來如圖2(b)所示,利用TMR三模冗余技術(shù)將其容錯化如圖2(c)所示。MV表示多數(shù)表決器(Multiple Voter)在電路時序元件輸出之后插入,利用其三模冗余結(jié)構(gòu),增強(qiáng)了電路容錯能力。當(dāng)D1模塊的組合、時序電路以及表決器出現(xiàn)故障時,D2模塊和D3模塊通過多數(shù)表決器可以檢測到此類故障,并經(jīng)中斷喚醒處理器進(jìn)行部分動態(tài)重構(gòu)處理,使得D1部分重構(gòu)區(qū)域得以自修復(fù)。
細(xì)粒度的三模冗余容錯自修復(fù)結(jié)構(gòu)同時降低了時序電路引起的錯誤累積的概率,可以成功避免域交叉錯誤的產(chǎn)生。當(dāng)D1模塊的SE2電路和D3模塊的CG4電路同時出現(xiàn)故障的時候,由于在時序電路的輸出端用表決器成功地將SE2故障進(jìn)行檢測和隔離,不會傳遞積累影響下一級的CG4錯誤,因此可以成功避免域交叉錯誤的產(chǎn)生。
2.3 可靠度對比
功能模塊在FPGA內(nèi)部的實(shí)現(xiàn)可以用邏輯資源來表示,如查找表(LUTs)、觸發(fā)器(Flip-Flops)、塊存儲器(BRAM)等。而各邏輯資源的連接和使用通過比特流文件配置來實(shí)現(xiàn)。比特流文件由若干個配置幀(frame)組成,配置幀又包含若干個表示配置信息的比特位。在輻射環(huán)境中,當(dāng)FPGA中的電路模塊發(fā)生單粒子翻轉(zhuǎn)效應(yīng)時,并不是模塊任意比特位發(fā)生翻轉(zhuǎn)就會導(dǎo)致模塊功能失效,該模塊功能往往由一些關(guān)鍵比特位所決定。考慮該粗粒度的三模冗余設(shè)計結(jié)構(gòu)的容錯能力,討論馬爾科夫模型下的三模冗余結(jié)構(gòu)[15],假設(shè)功能模塊在時間t內(nèi)功能正常的可靠度隨著時間的推移呈指數(shù)遞減,其可靠度可以表示為:
其中λm表示功能模塊m的故障率,其由比特位在單位時間內(nèi)的翻轉(zhuǎn)速率和模塊對應(yīng)的關(guān)鍵比特位數(shù)量所決定。對于一個三模冗余系統(tǒng)來說只有當(dāng)兩個或者兩個以上的模塊發(fā)生錯誤時系統(tǒng)防護(hù)功能才會失效,假設(shè)三模冗余系統(tǒng)表決邏輯功能正常,那么對于該粗粒度的三模冗余設(shè)計結(jié)構(gòu)其可靠度可以表示為:
將提出的細(xì)粒度的三模冗余結(jié)構(gòu)和粗粒度的三模冗余結(jié)構(gòu)的可靠度進(jìn)行比較,其可靠度示意圖如圖3所示。細(xì)粒度的三模冗余結(jié)構(gòu)容錯可靠度相對于粗粒度的可靠度有顯著的提高,但同時細(xì)粒度的三模冗余結(jié)構(gòu)會引入額外表決器和故障檢測邏輯,導(dǎo)致額外資源開銷的增加。細(xì)粒度的三模冗余結(jié)構(gòu)更適用于對故障率高的電路模塊進(jìn)行防護(hù)。
3 實(shí)時故障自修復(fù)系統(tǒng)設(shè)計
3.1 實(shí)時故障自修復(fù)系統(tǒng)整體設(shè)計結(jié)構(gòu)
圖4給出了一種基于Xilinx FPGA實(shí)現(xiàn)的故障自修復(fù)系統(tǒng)整體結(jié)構(gòu)設(shè)計方案。整個系統(tǒng)實(shí)現(xiàn)基于MicroBlaze軟核的片上微處理器系統(tǒng),主要劃分為兩個部分:靜態(tài)區(qū)域和動態(tài)部分重構(gòu)區(qū)域。靜態(tài)區(qū)域主要包括:軟核MicroBlaze、串口控制器、Flash控制器等,這部分區(qū)域包括了整個關(guān)鍵處理模塊不適于動態(tài)重構(gòu)的模塊,主要負(fù)責(zé)運(yùn)行低優(yōu)先級程序和檢測動態(tài)重構(gòu)區(qū)域的正常運(yùn)行。動態(tài)部分重構(gòu)區(qū)域是整個電子系統(tǒng)自修復(fù)的基礎(chǔ),所有的自修復(fù)操作都在其他模塊監(jiān)測、控制下有序地進(jìn)行,保證整個電子系統(tǒng)不間斷正常的工作,其中各個冗余模塊的標(biāo)準(zhǔn)配置文件存放于片外Flash中。當(dāng)系統(tǒng)收到重構(gòu)請求時,由Flash控制器讀取片外存儲器中對應(yīng)模塊的比特流文件并通過內(nèi)部配置訪問端口(ICAP)寫入重構(gòu)區(qū)域。動態(tài)部分重構(gòu)區(qū)域結(jié)合上文提出的容錯方案進(jìn)行容錯設(shè)計,同時MicroBlaze負(fù)責(zé)控制和監(jiān)測每個動態(tài)重構(gòu)單元的工作情況:比如當(dāng)設(shè)計動態(tài)重構(gòu)單元為三模冗余故障容錯模塊時,當(dāng)此模塊內(nèi)部故障檢測單元檢測到發(fā)生故障時,通過中斷的形式將信息發(fā)送到MicroBlaze中,MicroBlaze讀取此模塊的狀態(tài)寄存器以判明故障類型和區(qū)域,根據(jù)應(yīng)用場合不同選擇不同的故障自修復(fù)策略將此模塊進(jìn)行有序的自重構(gòu),實(shí)現(xiàn)故障自修復(fù)的同時并不影響系統(tǒng)正常運(yùn)行。
3.2 內(nèi)嵌式故障檢測結(jié)構(gòu)
采用一內(nèi)嵌式故障檢測結(jié)構(gòu)對冗余模塊進(jìn)行故障檢測,該方案將故障檢測單元嵌入到冗余模塊中。圖5(a)所示為三模冗余容錯自修復(fù)結(jié)構(gòu)中以邏輯門描述的故障檢測單元示意圖,該故障檢測單元由多數(shù)表決器和異或非門構(gòu)成,將多數(shù)表決器的輸出和檢測的冗余模塊的輸出接到異或非門的輸入端,多數(shù)表決器的輸出作為錯誤標(biāo)志信號FLAG。當(dāng)檢測的冗余模塊的輸出和表決器的輸出相同,則異或門輸出為邏輯1,表示該檢測的冗余模塊無故障發(fā)生,若異或門輸出邏輯為0,則表明檢測的冗余模塊發(fā)生故障或故障檢測單元自身發(fā)生故障。具有該故障檢測單元的三模冗余結(jié)構(gòu)如圖5(b)所示。
功能模塊在FPGA內(nèi)部的實(shí)現(xiàn)可以用邏輯資源來表示,如查找表(LUTs)、觸發(fā)器(Flip-Flops)、塊存儲器(BRAM)等。而各邏輯資源的連接和使用通過比特流文件(Bitstream)配置來實(shí)現(xiàn)。比特流文件由若干個配置幀(frame)組成,功能模塊大小也可通過配置幀的數(shù)量來表示。
該檢測單元從細(xì)粒度的角度對電路輸出的每一位進(jìn)行比較,也就是說對于一個輸出信號為N位的功能模塊來說,采用該故障檢測單元會對每一個冗余模塊會產(chǎn)生N個故障標(biāo)志信號。然而對于一個冗余模塊來說只需要一個標(biāo)志信號來表明該模塊是否發(fā)生故障。對此提出了一種將標(biāo)志信號進(jìn)行融合的邏輯結(jié)構(gòu),該融合邏輯結(jié)構(gòu)采用FPGA片內(nèi)進(jìn)位鏈邏輯來實(shí)現(xiàn)。如圖6所示,以4位的輸出信號為例,故障檢測單元對TR1模塊的輸出位進(jìn)行檢測,將故障標(biāo)志信號分別接入進(jìn)位鏈的C0~C3端口。進(jìn)位鏈CIN端口輸入邏輯1,當(dāng)無故障發(fā)生時進(jìn)位鏈輸出邏輯1,當(dāng)其中一位或者多位錯誤發(fā)生時,進(jìn)位鏈中的二選一選擇器選擇故障標(biāo)志信號進(jìn)行傳遞,進(jìn)位鏈輸出邏輯0,表示TR1模塊發(fā)生故障。對于模塊輸出信號位數(shù)少于4位的情況,可以將進(jìn)位鏈空閑的輸入端輸入邏輯1即可。對于模塊輸出信號位數(shù)大于4位的情況,可以將前一進(jìn)位鏈的標(biāo)志輸出FLAG接入后一進(jìn)位鏈的CIN輸入端,將進(jìn)位鏈串行連接。
4 實(shí)驗(yàn)設(shè)計與分析
本節(jié)中將上文提出的故障自修系統(tǒng)在Xilinx XC6VLX240T-1FF1156 FPGA上進(jìn)行設(shè)計實(shí)現(xiàn),實(shí)驗(yàn)中靜態(tài)區(qū)域包含了一基于MicroBlaze核的片上微處理器系統(tǒng),該微處理器系統(tǒng)主要負(fù)責(zé)與上位機(jī)進(jìn)行交互、響應(yīng)重構(gòu)請求、控制片外存儲器讀取比特文件數(shù)據(jù)和控制內(nèi)部配置訪問端口(ICAP)對重構(gòu)區(qū)域進(jìn)行重配置等任務(wù)。動態(tài)區(qū)域中將ITC99 benchmark電路中8個不同粒度的標(biāo)準(zhǔn)電路進(jìn)行冗余設(shè)計,以分析不同粒度模塊的故障自修復(fù)時間。
4.1 FPGA系統(tǒng)設(shè)計流程
實(shí)驗(yàn)中對系統(tǒng)進(jìn)行設(shè)計實(shí)現(xiàn)采用的是基于Xilinx ISE開發(fā)工具的設(shè)計流程,設(shè)計流程如圖7所示。在ISE頂層設(shè)計規(guī)劃中對系統(tǒng)各模塊進(jìn)行劃分,定義系統(tǒng)中的各靜態(tài)模塊和動態(tài)模塊,并對動態(tài)模塊進(jìn)行冗余保護(hù)設(shè)計。片上微處理器系統(tǒng)在Xilinx的XPS設(shè)計工具中進(jìn)行設(shè)計搭建,并在SDK設(shè)計工具中對微處理器系統(tǒng)進(jìn)行軟件功能編譯,PlanAhead設(shè)計工具可通過圖形界面(GUI)對FPGA進(jìn)行早期分析和布局規(guī)劃功能,施加物理約束,分析布線和時序的結(jié)果。實(shí)驗(yàn)中各動態(tài)模塊的區(qū)域劃分在PlanAhead中進(jìn)行設(shè)計。PlanAhead中比特流文件生成完成后,需要進(jìn)行軟硬件協(xié)同處理,即將XPS生成的塊存儲器映射文件(*.bmm)、SDK生成的可執(zhí)行文件(*.elf)和PlanAhead生成的全局比特流文件合為一個新的比特流文件,借助Xilinx命令行工具ISE Design Suite Command Prompt,通過命令指令合成最終的比特流文件。
4.2 實(shí)驗(yàn)結(jié)果分析
實(shí)驗(yàn)中各動態(tài)模塊的區(qū)域劃分如圖8所示,動態(tài)區(qū)域內(nèi)的邏輯資源能夠滿足各模塊功能實(shí)現(xiàn)。各動態(tài)模塊的資源開銷如表1所示,由實(shí)驗(yàn)結(jié)果可知,模塊粒度越小其冗余設(shè)計中表決器和故障檢測結(jié)構(gòu)所占的資源比例則越大,即系統(tǒng)模塊粒度劃分越小、重構(gòu)區(qū)域劃分越多,則容錯自修復(fù)設(shè)計所帶來的額外資源開銷越大。
各動態(tài)模塊重構(gòu)時間花費(fèi)表2所示。實(shí)驗(yàn)中所采取的故障注入方式同樣采取動態(tài)重構(gòu)方式,即通過FPGA的內(nèi)部配置訪問通道(ICAP)動態(tài)地對各模塊進(jìn)行錯誤配置來實(shí)現(xiàn)。實(shí)驗(yàn)中故障檢測方案采用上文所提出的內(nèi)嵌式故障檢測結(jié)構(gòu),其故障檢測延遲與信號在進(jìn)位鏈中的傳播延遲相關(guān),即和進(jìn)位鏈的串聯(lián)個數(shù)相關(guān),而進(jìn)位鏈中信號傳播延遲為納秒級,遠(yuǎn)小于模塊重構(gòu)時間,可認(rèn)為模塊的自修復(fù)時間近似于模塊的重構(gòu)時間。由實(shí)驗(yàn)結(jié)果可看出模塊重構(gòu)時間與模塊占用資源數(shù)和模塊重構(gòu)區(qū)域大小成正比,即模塊占用資源數(shù)越多,其劃分的最小重構(gòu)區(qū)域則越大,模塊重構(gòu)時間花費(fèi)越大。而同時,功能模塊劃分越小,其進(jìn)行冗余設(shè)計時所帶來的額外資源開銷比例則越大。故在系統(tǒng)設(shè)計時,需要綜合考慮資源分配情況和故障修復(fù)時間要求,合理地進(jìn)行模塊粒度劃分,實(shí)現(xiàn)粗粒度和細(xì)粒度的靈活組合。
5 結(jié)論
本文提出了一種基于SRAM型FPGA的實(shí)時容錯自修復(fù)系統(tǒng)結(jié)構(gòu)和設(shè)計方法。該設(shè)計方法將系統(tǒng)分為若干功能模塊,采用粗粒度三模冗余結(jié)構(gòu)和細(xì)粒度三模冗余結(jié)構(gòu)并結(jié)合動態(tài)重構(gòu)對系統(tǒng)進(jìn)行容錯自修復(fù)設(shè)計,實(shí)驗(yàn)結(jié)果表明該設(shè)計結(jié)構(gòu)下故障修復(fù)時間短,系統(tǒng)的可靠性得到有效提高。在系統(tǒng)設(shè)計時,可以綜合考慮資源分配情況和故障修復(fù)時間要求,合理進(jìn)行模塊粒度劃分,實(shí)現(xiàn)粗粒度和細(xì)粒度的靈活組合。
參考文獻(xiàn)
[1] 潘雄,鄧威,苑政國,等.SRAM型FPGA單粒子隨機(jī)故障注入模擬與評估[J].微電子學(xué)與計算機(jī),2018,35(7):29-33.
[2] 馮彥君,華更新,劉淑芬.航天電子抗輻射研究綜述[J].宇航學(xué)報,2007,28(5):1071-1080.
[3] DEMIRCI M,REVIRIEGO P,MAESTRO J A.Implementing double error correction orthogonal latin squares codes in SRAM-based FPGAs[J].Microelectronics Reliability,2016,56:221-227.
[4] KOESTER M,LUK W,HAGEMEYER J,et al.Design optimizations for tiled partially reconfigurable systems[J].IEEE Transactions on Very Large Scale Integration Systems,2011,19(6):1048-1061.
[5] KOREN I,KRISHNA C M.Fault-tolerant systems[M].Morgan Kaufmann Publishers Inc.,2007.
[6] BAO S,YAN H,CHI Q,et al.A FPGA-Based reconfigurable data acquisition system for industrial sensors[J].IEEE Transactions on Industrial Informatics,2017,13(4):1503-1512.
[7] 鄔貴明.FPGA矩陣計算并行算法與結(jié)構(gòu)[D].長沙:國防科學(xué)技術(shù)大學(xué),2011.
[8] 姚睿,王友仁,于盛林,等.具有在線修復(fù)能力的強(qiáng)容錯三模冗余系統(tǒng)設(shè)計及實(shí)驗(yàn)研究[J].電子學(xué)報,2010,38(1):177-183.
[9] 王宏宇.基于FPGA的片上電路進(jìn)化設(shè)計研究[D].石家莊:河北師范大學(xué),2017.
[10] KONDELOVA A,CUNTALA J.Time models of dynamic and static reconfiguration in FPGAs[C].Proceedings of ELEKTRO,2014:451-454.
[11] RODRIGUES T,VESTIAS M.Using dynamic reconfiguration to reduce the area of a JPEG decoder on FPGA[C].Proceedings of 2015 Euromicro Conference on Digital System Design,2015:65-71.
[12] 張小林,丁磊,顧黎明.基于三層級低開銷的FPGA多比特翻轉(zhuǎn)緩解技術(shù)[J].電子技術(shù)應(yīng)用,2018,44(4):61-64.
[13] 佟昕,于勇,趙寶珍,等.基于DMR-CED容錯方法的多相結(jié)構(gòu)數(shù)字下變頻SEU防護(hù)設(shè)計[J].遙測遙控,2018,39(4):56-61.
[14] 王銳,段小虎.一種具備故障自恢復(fù)能力的容錯計算機(jī)架構(gòu)設(shè)計[J].信息通信,2017(4):72-73.
[15] RUPE J W.Reliability of computer systems and networks fault tolerance,analysis,and design[M].John Wiley & Sons,Inc.,2003:586-587.
作者信息:
徐偉杰1,謝永樂2,彭禮彪2,沈北辰3
(1.長安大學(xué) 信息工程學(xué)院,陜西 西安710064;
2.電子科技大學(xué) 自動化工程學(xué)院,四川 成都611731;3.四川大學(xué) 軟件學(xué)院,四川 成都610207)