周 剛,代雪峰,趙以誠
(1.中國電子科技集團(tuán)公司第四十七研究所,沈陽110032;2.東北大學(xué)理學(xué)院物理系,沈陽110004)
新型可容錯FPGA
周 剛1,代雪峰2,趙以誠1
(1.中國電子科技集團(tuán)公司第四十七研究所,沈陽110032;2.東北大學(xué)理學(xué)院物理系,沈陽110004)
SRAM型FPGA具有設(shè)計周期短、開發(fā)成本低和可重配置等特性,在大型電子系統(tǒng)設(shè)計中應(yīng)用廣泛。伴隨SRAM型FPGA在重要領(lǐng)域的深入應(yīng)用,對其可靠性提出了更高要求。在深入剖析FPGA內(nèi)部結(jié)構(gòu)的基礎(chǔ)上,對SRAM型FPGA的故障類型進(jìn)行了總結(jié)[1]。針對SRAM單元軟錯誤造成的FPGA芯片錯誤,提出了一種嵌入高可靠CPU和配置存儲器,通過重構(gòu)技術(shù)實現(xiàn)在線可修復(fù)的新型可容錯FPGA結(jié)構(gòu)。
現(xiàn)場可編程門陣列;軟錯誤;可重構(gòu);可容錯;靜態(tài)存儲器;刷新[2]
FPGA從民用到軍用,在汽車、工業(yè)控制、航天航空等多個領(lǐng)域扮演著越來越重要的角色,成為眾多系統(tǒng)的核心元件,同時FPGA的可靠性也受到了大家越來越多的關(guān)注。本文著眼于SRAM型FPGA的結(jié)構(gòu)特點,針對容易發(fā)生的SRAM單元軟錯誤,結(jié)合可重構(gòu)FPGA技術(shù)和錯誤監(jiān)測技術(shù),提出了一種嵌入高可靠CPU模塊,結(jié)合可編程模塊,錯誤監(jiān)測重構(gòu)接口和配置存儲器模塊的新型可容錯FPGA結(jié)構(gòu),并對其結(jié)構(gòu)特點進(jìn)行了詳細(xì)闡述。
SRAM型FPGA電路除了觸發(fā)器、鎖存器等寄存器結(jié)構(gòu)[4]外,還擁有大量的SRAM單元,容易受到外界影響產(chǎn)生軟錯誤,常見的軟錯誤造成的影響主要有以下兩個方面:
(1)作為配置存儲單元的SRAM單元的電平發(fā)生變化,造成邏輯功能錯誤或數(shù)據(jù)傳輸路徑錯誤。SRAM型FPGA通過配置片內(nèi)配置存儲單元實現(xiàn)不同的功能,用戶設(shè)計好的網(wǎng)表轉(zhuǎn)化為位流文件后通過編程下載到所有配置存儲單元從而控制相應(yīng)的開關(guān)實現(xiàn)。配置存儲單元可用于控制形成不同的電路結(jié)構(gòu),如形成典型的查找表(LUT)[4]、D觸發(fā)器、鎖存器等電路;也可以用來配置可編程IO模塊,通過配置不同的存儲單元值實現(xiàn)不同的輸入/輸出方式和不同IO接口的電平標(biāo)準(zhǔn)等參數(shù);同時配置存儲單元也可控制FPGA獨有的可編程布線通道上的開關(guān),通過配置不同的數(shù)據(jù),控制數(shù)據(jù)通路的通斷。軟錯誤引起的電平變化將會導(dǎo)致配置存儲單元的狀態(tài)發(fā)生實質(zhì)性改變,例如從'0'變到'1'或從'1'變到'0'。從而引起所控制電路的邏輯錯誤。如圖1所示,發(fā)生在查找表中的軟錯誤導(dǎo)致邏輯功能紊亂。由LUT形成的函數(shù)發(fā)生器輸出值由O=A xor B xor C變成了O=(A xor B xor C)(A+B+~C)。
圖1 SEU引起的一個三輸入查找表的邏輯錯誤
(2)SRAM單元構(gòu)成的分布式RAM和內(nèi)置的塊RAM可用于存儲用戶的初始數(shù)據(jù)和運算數(shù)據(jù)。發(fā)生在RAM單元上的軟錯誤可能會改變嵌入式塊RAM中的存儲值,造成RAM中存儲的程序代碼或數(shù)據(jù)出現(xiàn)錯誤從而引起整個系統(tǒng)故障。
從以上兩種情況的例子可以看出,SRAM單元軟錯誤對系統(tǒng)可靠性帶來了非常不利的影響,所以亟需采取措施提高容錯能力。目前人們主要采用可重構(gòu)FPGA技術(shù)通過動態(tài)刷新的方式來提高系統(tǒng)容錯能力。
可重構(gòu)系統(tǒng)的概念早在1960年就已經(jīng)提出來,但由于沒有理想的可重構(gòu)器件等原因,這方面的研究一直沒有很大突破。1990年以來,隨著大規(guī)??删幊唐骷﨔PGA的出現(xiàn),研制可重構(gòu)電子系統(tǒng)的硬件條件已基本具備,實現(xiàn)電路重構(gòu)的思想逐漸引起了學(xué)術(shù)界的注意,從而引發(fā)了對可重構(gòu)系統(tǒng)的研究熱潮。自從2000年以來,基于FPGA的重構(gòu)尤其是可重構(gòu)計算在國際上得到了越來越多的關(guān)注和研究[5]。
基于FPGA的可重構(gòu)技術(shù),就是利用FPGA可以多次重復(fù)編程配置的特點,通過時分復(fù)用的方式利用FPGA內(nèi)部的邏輯資源,使在時間上離散的邏輯電路功能模塊能在同一FPGA中順序?qū)崿F(xiàn)的技術(shù)[6]。
按照實現(xiàn)重構(gòu)規(guī)模和區(qū)域的不同,可重構(gòu)FPGA可以分為全局重構(gòu)和局部重構(gòu)[7]。
按照重構(gòu)的方式,系統(tǒng)重構(gòu)又可以分為靜態(tài)系統(tǒng)重構(gòu)(Static Reconfiguration)和動態(tài)系統(tǒng)重構(gòu)(Dynamic Reconfiguration)。
靜態(tài)系統(tǒng)重構(gòu)是指目標(biāo)系統(tǒng)的邏輯功能靜態(tài)重載,是只能在運行前配置的系統(tǒng)。FPGA功能在外部邏輯的控制下,通過對存儲于存儲器中不同的目標(biāo)系統(tǒng)數(shù)據(jù)重新下載,實現(xiàn)芯片邏輯功能的改變。常規(guī)的SRAM型FPGA,只能實現(xiàn)靜態(tài)系統(tǒng)重構(gòu)。
動態(tài)系統(tǒng)重構(gòu)是指能在運行過程中實時配置的可重構(gòu)系統(tǒng)。動態(tài)系統(tǒng)重構(gòu)的FPGA在外部邏輯控制下,可通過緩存邏輯對芯片邏輯進(jìn)行全局或局部的快速修改,同時控制重新配置的布局布線資源來加速實現(xiàn)系統(tǒng)的動態(tài)重構(gòu)[8]。
在可重構(gòu)FPGA技術(shù)基礎(chǔ)上提出了一種新型可容錯FPGA芯片結(jié)構(gòu),既可以避免動態(tài)刷新的盲目性,減少軟硬件資源的浪費,還可以更加有效地解決sram型FPGA特定關(guān)鍵區(qū)域的軟錯誤造成的邏輯和系統(tǒng)失效。如圖2所示,本結(jié)構(gòu)有以下一些特點:
該FPGA芯片主要由一個片上嵌入高可靠CPU模塊、可編程模塊、錯誤監(jiān)測重構(gòu)接口和配置存儲器模塊組成。可編程模塊負(fù)責(zé)用戶配置電路功能的實現(xiàn),基于SRAM的FPGA編程點控制,可動態(tài)整體或局部重構(gòu);錯誤監(jiān)測重構(gòu)接口模塊負(fù)責(zé)錯誤的實時監(jiān)測,具備配置數(shù)據(jù)回讀功能,并提供數(shù)據(jù)給CPU進(jìn)行運算,在后續(xù)重構(gòu)的過程中負(fù)責(zé)具體實施;嵌入高可靠CPU模塊負(fù)責(zé)對錯誤監(jiān)測重構(gòu)接口報告的信息進(jìn)行處理,數(shù)據(jù)比較,分析,任務(wù)分派等,指揮錯誤監(jiān)測重構(gòu)接口實施局部重構(gòu)動作;配置存儲器用于存儲不同位置的局部配置數(shù)據(jù)。
新型可容錯FPGA芯片能夠?qū)崟r或定時監(jiān)測FPGA內(nèi)部邏輯,偵測到功能發(fā)生錯誤即配置數(shù)據(jù)發(fā)生改變時,即可自動通過實時重構(gòu)的手段修復(fù)錯誤。為實現(xiàn)這一目標(biāo),采用動態(tài)可重構(gòu)的可編程結(jié)構(gòu),同時采用監(jiān)測編程存儲點的方法檢測內(nèi)部錯誤。FPGA在配置完成后,在不中斷當(dāng)前邏輯運行的情況下,根據(jù)需要通過專用接口模塊讀回配置存儲器中的內(nèi)容,并將其與配置數(shù)據(jù)存儲器(非易失存儲器)中存儲的標(biāo)準(zhǔn)位流比較,再將讀回的數(shù)據(jù)與原始數(shù)據(jù)進(jìn)行比較,如果沒有發(fā)現(xiàn)錯誤,就進(jìn)入空閑狀態(tài),如果發(fā)現(xiàn)錯誤,根據(jù)內(nèi)部指令選擇全局重構(gòu)或局部重構(gòu),并執(zhí)行包括局部重構(gòu)模塊的尋址,握手信號等動作,修復(fù)錯誤。
新型可容錯FPGA芯片由于采用嵌入高可靠CPU控制的模式,工作不依賴于PC機(jī)或外部控制器等片外資源,能夠保證在線重構(gòu)的實時性和可靠性,降低了用戶使用難度和整個系統(tǒng)的復(fù)雜性。
本文提出了一種基于動態(tài)可重構(gòu)技術(shù)的新型可容錯FPGA芯片結(jié)構(gòu),使用內(nèi)嵌的高可靠CPU和配置存儲器可以自主對發(fā)生在FPGA配置邏輯中的軟錯誤進(jìn)行監(jiān)測和修復(fù)。該芯片已在中芯國際0.18微米工藝上流片,封裝后經(jīng)測試驗證達(dá)到預(yù)期設(shè)計目標(biāo),實現(xiàn)了不依賴外接控制系統(tǒng)即可具有針對軟錯誤的容錯能力的單片F(xiàn)PGA系統(tǒng)。
[1] F.L.Kastensmidt,L.Carro,R.Reis,F(xiàn)ault-Tolerance Techniques for SRAM-based FPGAs[C].Vishwani D. Agrawal Springer,Netherlands,PP.183,Sept.2006.
[2] Yang G.C.,Reliability of semiconductor RAMs with soft-error scrubing techniques[J].IEEE Proceeding Computers and Digital Techniques,1995,142(5):337-344.
[3] 克里茲,高級FPGA設(shè)計結(jié)構(gòu)、實現(xiàn)與優(yōu)化[M].北京:機(jī)械工業(yè)出版社,2009.
Steve Kilts,ADVANCED FPGA DESIGN[C].Beijing:Chinamachine press,2009.
[4] E.Syam Sundar Reddy,Vikram Chandrasekhar,M.Sashikanth V.Cluster-based Detection of SEU-caused Errors in LUTs of SRAM-based FPGAs[J].ASPDAC,ACM Press,pp:1200-1203.
[5] Wigley G.B.,Keamey D.A,Research Issues in Operating Systems for Reconfigurable Computing[C].The International Conference ON Engineering Reconfigurable Systems and Architecture,LasVegas,USA.PP.232-240,July.2002.
[6] 朱明程,黃強(qiáng),F(xiàn)PGA動態(tài)可重構(gòu)邏輯設(shè)計初探[C].半導(dǎo)體技術(shù),2000,25(4):18-21.
Zhu Ming-cheng,Huang Qiang,The Initial Study on Dynamically Re-configurable Logic System Based on FPGA[J].Semiconductor Technology,2000,25(4):18-21.
[7] C.Bolchini,A.Miele,M.D.Santambrogio,TMR and Partial Dynamic Reconfiguration tomitigate SEU faults in FPGAs[J].Proc.of 22th IEEE Int.Symp.on Defect and Fault Tolerance in VLSISystems,pp:87-95,Sept.2007.
[8] C.Bolchini,D.Quarta,and M.Santambrogio,SEU Mitigation for SRAM-Based FPGAs through Dynamic Partial Reconfiguration[C].In Proc.ACM/IEEE Great Lake Symposium on VLSI,PP:55-60,Mar.2007.
A Novel Fault-Tolerant FPGA
Zhou Gang1,Dai Xuefeng2,Zhao Yicheng1
(1.The47th Research Institute of China Electronics Technology Group Corporation,Shenyang 110032,China;2.Physics Department,Collage of Sciences,Northeast University,Shenyang 110004,China)
SRAM-based FPGAs,with the characteristics of short design period,low development cost,etc,are applied extensive to the large electronics system.Accompanywith a FPGA's deep application in important field,higher request is brought for its reliability.Based on analysis to FPGA inner part structure,the failure type of SRAM-based FPGAs[1]is concluded.Aiming at FPGA chip failure brought by SRAM cell soft error,a novel fault-tolerant FPGA architecture,embedding a high-reliable CPU and configuration memory,which can perform in-system self-repair through reconfiguration technology.
Field Programmable Gate Array;soft error;Reconfigurable;Fault-tolerant;;SRAM;Scrubbing[2]
10.3969/j.issn.1002-2279.2015.06.005
TN911
A
1002-2279(2015)06-0019-03
周剛(1978-),男,遼寧省法庫縣人,高級工程師,主研方向:集成電路設(shè)計,目前關(guān)注領(lǐng)域為集成電路可靠性設(shè)計、可編程器件。
2015-03-07