周 剛,代雪峰,趙以誠
(1.中國電子科技集團公司第四十七研究所,沈陽110032;2.東北大學理學院物理系,沈陽110004)
新型可容錯FPGA
周 剛1,代雪峰2,趙以誠1
(1.中國電子科技集團公司第四十七研究所,沈陽110032;2.東北大學理學院物理系,沈陽110004)
SRAM型FPGA具有設計周期短、開發成本低和可重配置等特性,在大型電子系統設計中應用廣泛。伴隨SRAM型FPGA在重要領域的深入應用,對其可靠性提出了更高要求。在深入剖析FPGA內部結構的基礎上,對SRAM型FPGA的故障類型進行了總結[1]。針對SRAM單元軟錯誤造成的FPGA芯片錯誤,提出了一種嵌入高可靠CPU和配置存儲器,通過重構技術實現在線可修復的新型可容錯FPGA結構。
現場可編程門陣列;軟錯誤;可重構;可容錯;靜態存儲器;刷新[2]
FPGA從民用到軍用,在汽車、工業控制、航天航空等多個領域扮演著越來越重要的角色,成為眾多系統的核心元件,同時FPGA的可靠性也受到了大家越來越多的關注。本文著眼于SRAM型FPGA的結構特點,針對容易發生的SRAM單元軟錯誤,結合可重構FPGA技術和錯誤監測技術,提出了一種嵌入高可靠CPU模塊,結合可編程模塊,錯誤監測重構接口和配置存儲器模塊的新型可容錯FPGA結構,并對其結構特點進行了詳細闡述。
SRAM型FPGA電路除了觸發器、鎖存器等寄存器結構[4]外,還擁有大量的SRAM單元,容易受到外界影響產生軟錯誤,常見的軟錯誤造成的影響主要有以下兩個方面:
(1)作為配置存儲單元的SRAM單元的電平發生變化,造成邏輯功能錯誤或數據傳輸路徑錯誤。SRAM型FPGA通過配置片內配置存儲單元實現不同的功能,用戶設計好的網表轉化為位流文件后通過編程下載到所有配置存儲單元從而控制相應的開關實現。配置存儲單元可用于控制形成不同的電路結構,如形成典型的查找表(LUT)[4]、D觸發器、鎖存器等電路;也可以用來配置可編程IO模塊,通過配置不同的存儲單元值實現不同的輸入/輸出方式和不同IO接口的電平標準等參數;同時配置存儲單元也可控制FPGA獨有的可編程布線通道上的開關,通過配置不同的數據,控制數據通路的通斷。軟錯誤引起的電平變化將會導致配置存儲單元的狀態發生實質性改變,例如從'0'變到'1'或從'1'變到'0'。從而引起所控制電路的邏輯錯誤。如圖1所示,發生在查找表中的軟錯誤導致邏輯功能紊亂。由LUT形成的函數發生器輸出值由O=A xor B xor C變成了O=(A xor B xor C)(A+B+~C)。

圖1 SEU引起的一個三輸入查找表的邏輯錯誤
(2)SRAM單元構成的分布式RAM和內置的塊RAM可用于存儲用戶的初始數據和運算數據。發生在RAM單元上的軟錯誤可能會改變嵌入式塊RAM中的存儲值,造成RAM中存儲的程序代碼或數據出現錯誤從而引起整個系統故障。
從以上兩種情況的例子可以看出,SRAM單元軟錯誤對系統可靠性帶來了非常不利的影響,所以亟需采取措施提高容錯能力。目前人們主要采用可重構FPGA技術通過動態刷新的方式來提高系統容錯能力。
可重構系統的概念早在1960年就已經提出來,但由于沒有理想的可重構器件等原因,這方面的研究一直沒有很大突破。1990年以來,隨著大規模可編程器件FPGA的出現,研制可重構電子系統的硬件條件已基本具備,實現電路重構的思想逐漸引起了學術界的注意,從而引發了對可重構系統的研究熱潮。自從2000年以來,基于FPGA的重構尤其是可重構計算在國際上得到了越來越多的關注和研究[5]。
基于FPGA的可重構技術,就是利用FPGA可以多次重復編程配置的特點,通過時分復用的方式利用FPGA內部的邏輯資源,使在時間上離散的邏輯電路功能模塊能在同一FPGA中順序實現的技術[6]。
按照實現重構規模和區域的不同,可重構FPGA可以分為全局重構和局部重構[7]。
按照重構的方式,系統重構又可以分為靜態系統重構(Static Reconfiguration)和動態系統重構(Dynamic Reconfiguration)。
靜態系統重構是指目標系統的邏輯功能靜態重載,是只能在運行前配置的系統。FPGA功能在外部邏輯的控制下,通過對存儲于存儲器中不同的目標系統數據重新下載,實現芯片邏輯功能的改變。常規的SRAM型FPGA,只能實現靜態系統重構。
動態系統重構是指能在運行過程中實時配置的可重構系統。動態系統重構的FPGA在外部邏輯控制下,可通過緩存邏輯對芯片邏輯進行全局或局部的快速修改,同時控制重新配置的布局布線資源來加速實現系統的動態重構[8]。
在可重構FPGA技術基礎上提出了一種新型可容錯FPGA芯片結構,既可以避免動態刷新的盲目性,減少軟硬件資源的浪費,還可以更加有效地解決sram型FPGA特定關鍵區域的軟錯誤造成的邏輯和系統失效。如圖2所示,本結構有以下一些特點:
該FPGA芯片主要由一個片上嵌入高可靠CPU模塊、可編程模塊、錯誤監測重構接口和配置存儲器模塊組成。可編程模塊負責用戶配置電路功能的實現,基于SRAM的FPGA編程點控制,可動態整體或局部重構;錯誤監測重構接口模塊負責錯誤的實時監測,具備配置數據回讀功能,并提供數據給CPU進行運算,在后續重構的過程中負責具體實施;嵌入高可靠CPU模塊負責對錯誤監測重構接口報告的信息進行處理,數據比較,分析,任務分派等,指揮錯誤監測重構接口實施局部重構動作;配置存儲器用于存儲不同位置的局部配置數據。
新型可容錯FPGA芯片能夠實時或定時監測FPGA內部邏輯,偵測到功能發生錯誤即配置數據發生改變時,即可自動通過實時重構的手段修復錯誤。為實現這一目標,采用動態可重構的可編程結構,同時采用監測編程存儲點的方法檢測內部錯誤。FPGA在配置完成后,在不中斷當前邏輯運行的情況下,根據需要通過專用接口模塊讀回配置存儲器中的內容,并將其與配置數據存儲器(非易失存儲器)中存儲的標準位流比較,再將讀回的數據與原始數據進行比較,如果沒有發現錯誤,就進入空閑狀態,如果發現錯誤,根據內部指令選擇全局重構或局部重構,并執行包括局部重構模塊的尋址,握手信號等動作,修復錯誤。
新型可容錯FPGA芯片由于采用嵌入高可靠CPU控制的模式,工作不依賴于PC機或外部控制器等片外資源,能夠保證在線重構的實時性和可靠性,降低了用戶使用難度和整個系統的復雜性。
本文提出了一種基于動態可重構技術的新型可容錯FPGA芯片結構,使用內嵌的高可靠CPU和配置存儲器可以自主對發生在FPGA配置邏輯中的軟錯誤進行監測和修復。該芯片已在中芯國際0.18微米工藝上流片,封裝后經測試驗證達到預期設計目標,實現了不依賴外接控制系統即可具有針對軟錯誤的容錯能力的單片FPGA系統。
[1] F.L.Kastensmidt,L.Carro,R.Reis,Fault-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設計結構、實現與優化[M].北京:機械工業出版社,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] 朱明程,黃強,FPGA動態可重構邏輯設計初探[C].半導體技術,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-),男,遼寧省法庫縣人,高級工程師,主研方向:集成電路設計,目前關注領域為集成電路可靠性設計、可編程器件。
2015-03-07