《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于SRAM型FPGA的實時容錯自修復(fù)系統(tǒng)設(shè)計方法
基于SRAM型FPGA的實時容錯自修復(fù)系統(tǒng)設(shè)計方法
2019年電子技術(shù)應(yīng)用第7期
徐偉杰1,謝永樂2,彭禮彪2,沈北辰3
1.長安大學(xué) 信息工程學(xué)院,陜西 西安710064; 2.電子科技大學(xué) 自動化工程學(xué)院,四川 成都611731;3.四川大學(xué) 軟件學(xué)院,四川 成都610207
摘要: 為提高輻射環(huán)境中電子系統(tǒng)的可靠性,提出了一種基于SRAM型FPGA的實時容錯自修復(fù)系統(tǒng)結(jié)構(gòu)和設(shè)計方法。該設(shè)計方法采用粗粒度三模冗余結(jié)構(gòu)和細粒度三模冗余結(jié)構(gòu)對系統(tǒng)功能模塊進行容錯設(shè)計;將一種細粒度的故障檢測單元嵌入到各冗余模塊中對各冗余模塊進行故障檢測;結(jié)合動態(tài)部分重構(gòu)技術(shù)可在不影響系統(tǒng)正常工作的前提下實現(xiàn)故障模塊的在線修復(fù)。該設(shè)計結(jié)構(gòu)于Xilinx Virtex-6 FPGA中進行了設(shè)計實現(xiàn),實驗結(jié)果表明系統(tǒng)故障修復(fù)時間和可靠性得到顯著提高。
中圖分類號: TN710
文獻標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.190480
中文引用格式: 徐偉杰,謝永樂,彭禮彪,等. 基于SRAM型FPGA的實時容錯自修復(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.
SRAM based FPGA system capable of runtime fault tolerance and recovery
Xu Weijie1,Xie Yongle2,Peng Libiao2,Shen Beichen3
1.School of Information Engineering,Chang′an University,Xi′an 710064,China; 2.School of Automation Engineering,University of Electronic Science and Technology of China,Chengdu 611731,China; 3.College of Software Engineering,Sichuan University,Chengdu 610207,China
Abstract: In order to enhance the reliability of electronic system working in radiation environment, a reliability enhanced SRAM based FPGA system with runtime fault recovery is presented in this work. Coarse-grained TMR architecture and fine-grained TMR architecture are proposed to achieve the ability of fault tolerance. Fine-grained fault detection units are inserted in each redundancy module to mask the faulty module. The technique of partial dynamic reconfiguration is used to repair the faulty module without interrupting other parts of the system。The scheme is implemented in Xilinx Virtex-6 FPGA, and the results show that the improvements in recovery time and reliability are achieved by the proposed technique.
Key words : reliability;fault tolerance;fault recovery;TMR;dynamic reconfiguration

0 引言

    隨著航天技術(shù)的發(fā)展,空間任務(wù)日益復(fù)雜化、多樣化,未來航天系統(tǒng)對處理器的性能要求越來越高。在一些航天設(shè)備如星載ATP等系統(tǒng)的電子模塊設(shè)計中,基于SRAM的現(xiàn)場可編程門陣列(FPGA)得到了日益廣泛的應(yīng)用??臻g環(huán)境中的電子系統(tǒng)設(shè)計,不僅要滿足高性能,而且其數(shù)據(jù)處理、傳輸和控制的準(zhǔn)確性和可靠性也必須得到保證。對于機載、星載、空間武器和其他空間應(yīng)用電子系統(tǒng),往往暴露在形形色色的電磁輻射環(huán)境中,如α粒子、宇宙射線、外太空強輻射等等惡劣環(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è)計等方面進行加固設(shè)計,在物理層消除導(dǎo)致?lián)p傷的各類寄生參數(shù), 能有效提高電子器件的抗輻射能力。但是僅在物理層上對系統(tǒng)進行故障防護不能滿足惡劣環(huán)境中的系統(tǒng)可靠性要求,還需要從電路設(shè)計方面對系統(tǒng)功能進行保護。運用錯誤校正碼(ECC)技術(shù)[3],在數(shù)據(jù)包的后端添加額外的校驗數(shù)據(jù)位,來實現(xiàn)讀取/寫入數(shù)據(jù)的準(zhǔn)確性,能在一定程度上對存儲器進行檢錯和糾錯。容錯設(shè)計技術(shù),如采用冗余設(shè)計來“屏蔽”或“隔離”故障,如信息冗余[4]、硬件冗余[5]等,進而在一定時期內(nèi)將故障的影響掩蓋起來,使發(fā)生故障的電子系統(tǒng)在一定時期內(nèi)仍能正常工作,但這種方式并未排除故障,隨著故障的累積和疊加,系統(tǒng)仍然可能失效,所以賦予系統(tǒng)故障自修復(fù)能力能有效減少故障累積,提高系統(tǒng)的可靠性。

    本文從故障容錯和故障自修復(fù)角度對系統(tǒng)進行芯片級的可靠性設(shè)計,提出了一種基于SRAM型FPGA的實時容錯自修復(fù)系統(tǒng)結(jié)構(gòu),并將該設(shè)計結(jié)構(gòu)在Xilinx Virtex-6 FPGA上進行了設(shè)計驗證。

1 基于動態(tài)部分重構(gòu)的模塊修復(fù)

    FPGA的配置可分為靜態(tài)配置和動態(tài)配置,靜態(tài)配置通常對整個FPGA模塊進行重新配置,系統(tǒng)功能在配置過程時中斷,并在配置結(jié)束后改變系統(tǒng)功能。動態(tài)配置,又稱為動態(tài)部分重構(gòu),能夠在不干擾FPGA內(nèi)部其他模塊工作的同時動態(tài)地對部分區(qū)域的邏輯功能進行修改。其核心思想是將FPGA內(nèi)部的邏輯資源從物理布局上劃分為靜態(tài)區(qū)域和若干個動態(tài)區(qū)域。每個動態(tài)區(qū)域可以對應(yīng)有多個配置文件,以實現(xiàn)不同的功能,將這些配置文件事先存放在片外存儲器中。在系統(tǒng)運行的不同時刻,根據(jù)系統(tǒng)的實際需求加載不同的配置文件到同一個動態(tài)區(qū)域來實現(xiàn)相應(yīng)的邏輯功能。在某一動態(tài)區(qū)域進行功能切換時,不影響靜態(tài)區(qū)域和其他動態(tài)區(qū)域的邏輯功能,系統(tǒng)依然處于連續(xù)運行狀態(tài)。

    動態(tài)部分重構(gòu)技術(shù)能對FPGA的部分資源實現(xiàn)分時復(fù)用,使芯片能夠在不同時刻實現(xiàn)不同的功能,提高了芯片資源的利用率,已廣泛應(yīng)用于工業(yè)系統(tǒng)設(shè)計中,如文獻[6]中結(jié)合動態(tài)部分重構(gòu)技術(shù)對工業(yè)傳感器數(shù)據(jù)采集系統(tǒng)進行設(shè)計,針對不同的傳感器切換不同的功能。該技術(shù)還可應(yīng)用于可重構(gòu)計算[7]、可進化硬件[8-9]、容錯設(shè)計[10-14]等方面。將動態(tài)部分重構(gòu)技術(shù)和冗余技術(shù)結(jié)合,即將冗余設(shè)計中各冗余模塊分別置于一動態(tài)區(qū)域中,在故障發(fā)生時通過動態(tài)重構(gòu)對故障模塊進行修復(fù),可以避免故障的累積和疊加,在容錯的同時賦予系統(tǒng)故障自修復(fù)能力。

2 粗粒度和細粒度的三模冗余自修復(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)以整個功能模塊為單位進行冗余設(shè)計,如圖1所示,即將整個功能模塊作為一個冗余單位,將整個功能模塊復(fù)制三份,將每個功能單元模塊FU1~FU3配置到單獨的部分重構(gòu)模塊(PRM)中,使得每個冗余模塊都可以獨立被修復(fù)。表決器選擇多數(shù)的輸入結(jié)果進行輸出。在粗粒度的三模冗余設(shè)計結(jié)構(gòu)中,只要兩個冗余模塊的輸出結(jié)果正確,就能保證整個模塊輸出正常,當(dāng)其中任意模塊發(fā)生故障時,通過系統(tǒng)的故障檢測機制可進行故障定位,隔離故障區(qū)域并進行自修復(fù)操作。

wdz4-t1.gif

2.2 細粒度的三模冗余設(shè)計結(jié)構(gòu)

    采用粗粒度設(shè)計結(jié)構(gòu)能有效提高系統(tǒng)的可靠度,但其仍然存在一些不足,一是當(dāng)多數(shù)表決器出現(xiàn)故障時整個自修復(fù)結(jié)構(gòu)本身不可靠;二是由于模塊粒度較大,一些不能導(dǎo)致模塊功能失效的隱性故障持續(xù)累積,容易導(dǎo)致多個模塊同時故障,使得防護結(jié)構(gòu)失效。本文中細粒度的三模冗余設(shè)計結(jié)構(gòu)能有效減少故障累積,該設(shè)計結(jié)構(gòu)將一功能模塊拆分為若干個獨立的時序元件和組合邏輯部分,本文將該設(shè)計結(jié)構(gòu)利用圖形化表示來說明,將功能單元模塊中的組合邏輯表示為CG,時序元件表示為SE,則利用有向圖表示方法可以將圖2(a)電路表示為圖2(b)。

    細粒度的三模冗余容錯自修復(fù)結(jié)構(gòu)建立在有向圖表示方法基礎(chǔ)之上,其核心思想是,將電路分割為邏輯電路和時序電路,在時序電路輸出插入多數(shù)表決器,然后再對原始電路進行三模冗余設(shè)計,使得此自修復(fù)結(jié)構(gòu)具有三個表決器,因此加強了此結(jié)構(gòu)的故障容錯能力,同時減輕了時序電路引起的錯誤累積,可以成功避免域交叉錯誤的出現(xiàn)。圖2(a)表示的原始電路,利用有向圖表示方法將原始電路分割開來如圖2(b)所示,利用TMR三模冗余技術(shù)將其容錯化如圖2(c)所示。MV表示多數(shù)表決器(Multiple Voter)在電路時序元件輸出之后插入,利用其三模冗余結(jié)構(gòu),增強了電路容錯能力。當(dāng)D1模塊的組合、時序電路以及表決器出現(xiàn)故障時,D2模塊和D3模塊通過多數(shù)表決器可以檢測到此類故障,并經(jīng)中斷喚醒處理器進行部分動態(tài)重構(gòu)處理,使得D1部分重構(gòu)區(qū)域得以自修復(fù)。

wdz4-t2.gif

    細粒度的三模冗余容錯自修復(fù)結(jié)構(gòu)同時降低了時序電路引起的錯誤累積的概率,可以成功避免域交叉錯誤的產(chǎn)生。當(dāng)D1模塊的SE2電路和D3模塊的CG4電路同時出現(xiàn)故障的時候,由于在時序電路的輸出端用表決器成功地將SE2故障進行檢測和隔離,不會傳遞積累影響下一級的CG4錯誤,因此可以成功避免域交叉錯誤的產(chǎn)生。

2.3 可靠度對比

    功能模塊在FPGA內(nèi)部的實現(xiàn)可以用邏輯資源來表示,如查找表(LUTs)、觸發(fā)器(Flip-Flops)、塊存儲器(BRAM)等。而各邏輯資源的連接和使用通過比特流文件配置來實現(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ù)遞減,其可靠度可以表示為:

    wdz4-gs1.gif

其中λm表示功能模塊m的故障率,其由比特位在單位時間內(nèi)的翻轉(zhuǎn)速率和模塊對應(yīng)的關(guān)鍵比特位數(shù)量所決定。對于一個三模冗余系統(tǒng)來說只有當(dāng)兩個或者兩個以上的模塊發(fā)生錯誤時系統(tǒng)防護功能才會失效,假設(shè)三模冗余系統(tǒng)表決邏輯功能正常,那么對于該粗粒度的三模冗余設(shè)計結(jié)構(gòu)其可靠度可以表示為:

wdz4-gs2-3.gif

    將提出的細粒度的三模冗余結(jié)構(gòu)和粗粒度的三模冗余結(jié)構(gòu)的可靠度進行比較,其可靠度示意圖如圖3所示。細粒度的三模冗余結(jié)構(gòu)容錯可靠度相對于粗粒度的可靠度有顯著的提高,但同時細粒度的三模冗余結(jié)構(gòu)會引入額外表決器和故障檢測邏輯,導(dǎo)致額外資源開銷的增加。細粒度的三模冗余結(jié)構(gòu)更適用于對故障率高的電路模塊進行防護。

wdz4-t3.gif

3 實時故障自修復(fù)系統(tǒng)設(shè)計

3.1 實時故障自修復(fù)系統(tǒng)整體設(shè)計結(jié)構(gòu)

    圖4給出了一種基于Xilinx FPGA實現(xiàn)的故障自修復(fù)系統(tǒng)整體結(jié)構(gòu)設(shè)計方案。整個系統(tǒng)實現(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)的模塊,主要負責(zé)運行低優(yōu)先級程序和檢測動態(tài)重構(gòu)區(qū)域的正常運行。動態(tài)部分重構(gòu)區(qū)域是整個電子系統(tǒng)自修復(fù)的基礎(chǔ),所有的自修復(fù)操作都在其他模塊監(jiā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é)合上文提出的容錯方案進行容錯設(shè)計,同時MicroBlaze負責(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ù)策略將此模塊進行有序的自重構(gòu),實現(xiàn)故障自修復(fù)的同時并不影響系統(tǒng)正常運行。

wdz4-t4.gif

3.2 內(nèi)嵌式故障檢測結(jié)構(gòu)

    采用一內(nèi)嵌式故障檢測結(jié)構(gòu)對冗余模塊進行故障檢測,該方案將故障檢測單元嵌入到冗余模塊中。圖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)所示。

wdz4-t5.gif

    功能模塊在FPGA內(nèi)部的實現(xiàn)可以用邏輯資源來表示,如查找表(LUTs)、觸發(fā)器(Flip-Flops)、塊存儲器(BRAM)等。而各邏輯資源的連接和使用通過比特流文件(Bitstream)配置來實現(xiàn)。比特流文件由若干個配置幀(frame)組成,功能模塊大小也可通過配置幀的數(shù)量來表示。

    該檢測單元從細粒度的角度對電路輸出的每一位進行比較,也就是說對于一個輸出信號為N位的功能模塊來說,采用該故障檢測單元會對每一個冗余模塊會產(chǎn)生N個故障標(biāo)志信號。然而對于一個冗余模塊來說只需要一個標(biāo)志信號來表明該模塊是否發(fā)生故障。對此提出了一種將標(biāo)志信號進行融合的邏輯結(jié)構(gòu),該融合邏輯結(jié)構(gòu)采用FPGA片內(nèi)進位鏈邏輯來實現(xiàn)。如圖6所示,以4位的輸出信號為例,故障檢測單元對TR1模塊的輸出位進行檢測,將故障標(biāo)志信號分別接入進位鏈的C0~C3端口。進位鏈CIN端口輸入邏輯1,當(dāng)無故障發(fā)生時進位鏈輸出邏輯1,當(dāng)其中一位或者多位錯誤發(fā)生時,進位鏈中的二選一選擇器選擇故障標(biāo)志信號進行傳遞,進位鏈輸出邏輯0,表示TR1模塊發(fā)生故障。對于模塊輸出信號位數(shù)少于4位的情況,可以將進位鏈空閑的輸入端輸入邏輯1即可。對于模塊輸出信號位數(shù)大于4位的情況,可以將前一進位鏈的標(biāo)志輸出FLAG接入后一進位鏈的CIN輸入端,將進位鏈串行連接。

wdz4-t6.gif

4 實驗設(shè)計與分析

    本節(jié)中將上文提出的故障自修系統(tǒng)在Xilinx  XC6VLX240T-1FF1156 FPGA上進行設(shè)計實現(xiàn),實驗中靜態(tài)區(qū)域包含了一基于MicroBlaze核的片上微處理器系統(tǒng),該微處理器系統(tǒng)主要負責(zé)與上位機進行交互、響應(yīng)重構(gòu)請求、控制片外存儲器讀取比特文件數(shù)據(jù)和控制內(nèi)部配置訪問端口(ICAP)對重構(gòu)區(qū)域進行重配置等任務(wù)。動態(tài)區(qū)域中將ITC99 benchmark電路中8個不同粒度的標(biāo)準(zhǔn)電路進行冗余設(shè)計,以分析不同粒度模塊的故障自修復(fù)時間。

4.1 FPGA系統(tǒng)設(shè)計流程

    實驗中對系統(tǒng)進行設(shè)計實現(xiàn)采用的是基于Xilinx ISE開發(fā)工具的設(shè)計流程,設(shè)計流程如圖7所示。在ISE頂層設(shè)計規(guī)劃中對系統(tǒng)各模塊進行劃分,定義系統(tǒng)中的各靜態(tài)模塊和動態(tài)模塊,并對動態(tài)模塊進行冗余保護設(shè)計。片上微處理器系統(tǒng)在Xilinx的XPS設(shè)計工具中進行設(shè)計搭建,并在SDK設(shè)計工具中對微處理器系統(tǒng)進行軟件功能編譯,PlanAhead設(shè)計工具可通過圖形界面(GUI)對FPGA進行早期分析和布局規(guī)劃功能,施加物理約束,分析布線和時序的結(jié)果。實驗中各動態(tài)模塊的區(qū)域劃分在PlanAhead中進行設(shè)計。PlanAhead中比特流文件生成完成后,需要進行軟硬件協(xié)同處理,即將XPS生成的塊存儲器映射文件(*.bmm)、SDK生成的可執(zhí)行文件(*.elf)和PlanAhead生成的全局比特流文件合為一個新的比特流文件,借助Xilinx命令行工具ISE Design Suite Command Prompt,通過命令指令合成最終的比特流文件。

wdz4-t7.gif

4.2 實驗結(jié)果分析

    實驗中各動態(tài)模塊的區(qū)域劃分如圖8所示,動態(tài)區(qū)域內(nèi)的邏輯資源能夠滿足各模塊功能實現(xiàn)。各動態(tài)模塊的資源開銷如表1所示,由實驗結(jié)果可知,模塊粒度越小其冗余設(shè)計中表決器和故障檢測結(jié)構(gòu)所占的資源比例則越大,即系統(tǒng)模塊粒度劃分越小、重構(gòu)區(qū)域劃分越多,則容錯自修復(fù)設(shè)計所帶來的額外資源開銷越大。

wdz4-t8.gif

wdz4-b1.gif

    各動態(tài)模塊重構(gòu)時間花費表2所示。實驗中所采取的故障注入方式同樣采取動態(tài)重構(gòu)方式,即通過FPGA的內(nèi)部配置訪問通道(ICAP)動態(tài)地對各模塊進行錯誤配置來實現(xiàn)。實驗中故障檢測方案采用上文所提出的內(nèi)嵌式故障檢測結(jié)構(gòu),其故障檢測延遲與信號在進位鏈中的傳播延遲相關(guān),即和進位鏈的串聯(lián)個數(shù)相關(guān),而進位鏈中信號傳播延遲為納秒級,遠小于模塊重構(gòu)時間,可認(rèn)為模塊的自修復(fù)時間近似于模塊的重構(gòu)時間。由實驗結(jié)果可看出模塊重構(gòu)時間與模塊占用資源數(shù)和模塊重構(gòu)區(qū)域大小成正比,即模塊占用資源數(shù)越多,其劃分的最小重構(gòu)區(qū)域則越大,模塊重構(gòu)時間花費越大。而同時,功能模塊劃分越小,其進行冗余設(shè)計時所帶來的額外資源開銷比例則越大。故在系統(tǒng)設(shè)計時,需要綜合考慮資源分配情況和故障修復(fù)時間要求,合理地進行模塊粒度劃分,實現(xiàn)粗粒度和細粒度的靈活組合。

wdz4-b2.gif

5 結(jié)論

    本文提出了一種基于SRAM型FPGA的實時容錯自修復(fù)系統(tǒng)結(jié)構(gòu)和設(shè)計方法。該設(shè)計方法將系統(tǒng)分為若干功能模塊,采用粗粒度三模冗余結(jié)構(gòu)和細粒度三模冗余結(jié)構(gòu)并結(jié)合動態(tài)重構(gòu)對系統(tǒng)進行容錯自修復(fù)設(shè)計,實驗結(jié)果表明該設(shè)計結(jié)構(gòu)下故障修復(fù)時間短,系統(tǒng)的可靠性得到有效提高。在系統(tǒng)設(shè)計時,可以綜合考慮資源分配情況和故障修復(fù)時間要求,合理進行模塊粒度劃分,實現(xiàn)粗粒度和細粒度的靈活組合。 

參考文獻

[1] 潘雄,鄧威,苑政國,等.SRAM型FPGA單粒子隨機故障注入模擬與評估[J].微電子學(xué)與計算機,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ù)能力的強容錯三模冗余系統(tǒng)設(shè)計及實驗研究[J].電子學(xué)報,2010,38(1):177-183.

[9] 王宏宇.基于FPGA的片上電路進化設(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防護設(shè)計[J].遙測遙控,2018,39(4):56-61.

[14] 王銳,段小虎.一種具備故障自恢復(fù)能力的容錯計算機架構(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)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。