姜昱光 韓建偉 朱 翔 蔡明輝
(中國科學(xué)院 空間科學(xué)與應(yīng)用研究中心,北京100190)
由于SRAM(Static Random Access Memory)型FPGA(Field Programmable Gate Array)相對于傳統(tǒng)的ASICs設(shè)計周期較短,成本更低,尤其是其可編程性使衛(wèi)星在軌編程成為可能,因而其在空間電子設(shè)備中的應(yīng)用越來越廣泛.但該器件的配置存儲位對空間中的單粒子效應(yīng)較為敏感,單粒子翻轉(zhuǎn)會影響可編程邏輯和布線資源,威脅整個芯片的正常工作甚至可能導(dǎo)致用戶的電路出現(xiàn)功能故障,因此研究FPGA的單粒子效應(yīng)具有十分重要的意義.
對于基于SRAM的FPGA,其單粒子效應(yīng)、單粒子效應(yīng)加固方法,以及應(yīng)用重離子加速器進行器件功能故障分析在國外已經(jīng)有比較成熟的研究結(jié)果[1-4],國內(nèi)對 SRAM 型 FPGA 的單粒子效應(yīng)方面進行一些初步的研究,主要分析翻轉(zhuǎn)閾值和翻轉(zhuǎn)截面[5-7]、單粒子功能中斷效應(yīng)和單粒子鎖定效應(yīng)[8],其中文獻[8]進行單粒子效應(yīng)的防護加固設(shè)計,并應(yīng)用仿真和重離子加速器方法開展驗證實驗[9-13].面對單粒子效應(yīng)可能造成的功能故障,迫切需要對其加固防護設(shè)計并進行有效的測試評估,本文應(yīng)用脈沖激光和重離子實驗方法,對采取三模冗余(TMR,Triple Modular Redundancy)和動態(tài)刷新技術(shù)加固的Virtex-Ⅱ器件的功能故障展開實驗研究.
脈沖激光和重離子實驗測試器件分別為倒裝芯片Xilinx XC2V1000FF896和塑料焊球陣列封裝(plastic ball grid array package)芯片XC2V1000 FG456(見圖1),兩款芯片內(nèi)部資源完全一致,區(qū)別主要在于芯片封裝形式,其中倒裝芯片適合脈沖激光背部輻照實驗,正常封裝芯片適合重離子正面輻照實驗.芯片工藝尺寸為0.15 μm,金屬布線為8層,主要包含32列CLB(Configurable Logic Block),4列 BRAM(Block SelectRAM)和 BRAM內(nèi)聯(lián),共1104幀,配置位達374萬.

圖1 實驗芯片F(xiàn)ig.1 Experimental devices
Virtex-ⅡFPGA單粒子效應(yīng)加固方法實驗分別在皮秒脈沖激光試驗裝置、中國原子能科學(xué)研究院串列靜電加速器(HI-13)以及北大串列加速器(EN-6)上進行(見圖2).皮秒脈沖激光波長為1064nm、脈沖寬度為25 ps,重復(fù)頻率最高為10kHz.脈沖激光能量連續(xù)可調(diào),激光到達芯片表面的能量可達幾百納焦.由于激光波長為1064nm,激光在芯片的Si襯底穿透深度可以到達1000 μm左右,應(yīng)用背部輻照技術(shù)可以穿透絕大部分芯片的硅襯底觸發(fā)單粒子效應(yīng).脈沖激光試驗裝置配有高精度的三位移動平臺,可以實現(xiàn)準(zhǔn)確的測試芯片定位.重離子實驗的C離子和F離子在北大重離子加速器進行,Ti離子在串列靜電加速器HI-13進行.重離子實驗的重離子種類、入射角度、在硅中的線性沉積能量以及穿透深度如表1所示.

圖2 重離子加速器束流終端與測試板Fig.2 Experimental set-up for SEE testing with heavy ions

表1 實驗重離子種類以及LET值Table 1 Energies and species for heavy ions testing
測試器件Virtex-Ⅱ配置程序為數(shù)據(jù)加密算法(DES,Data Encryption Standard),該程序占用芯片資源情況:觸發(fā)器434個(為總數(shù)的4%),4輸入查找表546個(為總數(shù)的5%).三模冗余DES程序后占用芯片資源情況:slice觸發(fā)器1 343個(為總數(shù)的13%),4輸入查找表2059個(為總數(shù)的20%).對比表明三模冗余后,觸發(fā)器和查找表的資源占用率分別增加至原來的309.45%和377.11%.
實驗中分別應(yīng)用脈沖激光和重離子輻照4種情況下的芯片:①未采用任何加固方法;②應(yīng)用三模冗余加固方法;③應(yīng)用動態(tài)刷新加固方法;④同時應(yīng)用三模冗余和動態(tài)刷新.其中三模冗余[14-15]加固方法是指在FPGA中,通過使用3份相同的功能模塊,使其同步執(zhí)行相同的任務(wù)功能,然后通過表決模塊將這3份的輸出結(jié)果進行對比.動態(tài)刷新功能可以在不破壞FPGA正常功能的情況下修復(fù)其配置存儲位中的單粒子翻轉(zhuǎn)錯誤.動態(tài)刷新加固方法可以校正FPGA發(fā)生翻轉(zhuǎn)的存儲位,實驗時對FPGA整個CLB列進行刷新,刷新頻率為3.125 MHz.
將芯片連續(xù)運行加密算法并實時監(jiān)控運算結(jié)果,分別應(yīng)用重離子或脈沖激光輻照測試芯片,若加密算法輸出錯誤的結(jié)果,定義為一次功能錯誤.當(dāng)器件發(fā)生功能錯誤時,通過SelectMAP端口重新配置芯片,使器件功能恢復(fù)正常.
當(dāng)測試FPGA為刷新單粒子效應(yīng)消減方法的DES程序,應(yīng)用脈沖激光或者重離子輻照芯片,通過測試板檢驗程序功能是否正常,然后無論是否發(fā)生功能錯誤都重新配置整個FPGA.對于沒有任何加固方法,單獨應(yīng)用三模冗余加固以及同時應(yīng)用三模冗余和刷新的DES程序單粒子效應(yīng)消減方法實驗,應(yīng)用脈沖激光或者重離子輻照芯片,通過測試板檢驗程序功能是否正常,當(dāng)程序功能出錯則通過SelectMAP端口重新配置芯片恢復(fù)程序正常功能,如果程序功能正常則不重新配置芯片,發(fā)生翻轉(zhuǎn)的存儲位將累計到下一個測試周期.值得注意的是對于重離子動態(tài)刷新加固方法,在整個實驗過程中重離子束流持續(xù)輻照,在器件發(fā)生功能錯誤通過重新配置恢復(fù)程序正常功能過程中,重離子束流不停止;由于脈沖激光具有時序可控性,激光注入時序與功能錯誤測試電路的工作時序具有一定匹配關(guān)系,實驗時先應(yīng)用脈沖激光輻照芯片并對程序功能驗證,然后再刷新整個芯片.
圖3給出FPGA加固方法的加速器實驗結(jié)果.

圖3 重離子驗證不同加固方法Fig.3 Test results of each method with heavy ions
HI-13加速器與EN-6加速器實驗結(jié)果表明,單獨應(yīng)用三模冗余或刷新加固方法可以一定程度上校正由單粒子效應(yīng)引起的器件功能錯誤,同時應(yīng)用兩種加固方法能夠進一步降低單粒子效應(yīng)產(chǎn)生的功能錯誤.
在HI-13串列加速器實驗中,重離子以1300 cm-2/s束流強度輻照芯片,當(dāng) DES程序未采用任何加固方法時,在重離子輻照下,每次程序均出現(xiàn)功能錯誤;應(yīng)用刷新加固方法可以校正發(fā)生翻轉(zhuǎn)的存儲位,避免存儲位的累積造成功能錯誤,由于束流強度較大以及束流注入時序不可控性,刷新功能起作用之前發(fā)生翻轉(zhuǎn)的存儲位可能已經(jīng)破壞程序的功能;應(yīng)用三模冗余加固方法,當(dāng)發(fā)生翻轉(zhuǎn)的存儲位未破壞三模冗余功能時,可以很好地起到加固作用,但在實驗束流條件下,產(chǎn)生的翻轉(zhuǎn)位會破壞三模冗余功能,從而產(chǎn)生功能錯誤;同時應(yīng)用三模冗余和刷新加固方法,可以提高單粒子效應(yīng)加固效果,但是實驗的重離子束流情況下仍然可以破壞加固方法,這主要由于刷新加固方法起作用之前,重離子產(chǎn)生的翻轉(zhuǎn)存儲位已破壞三模冗余的功能,則仍存在功能錯誤.
在單粒子效應(yīng)加固方法重離子實驗中,刷新加固方法的有效性主要與刷新的頻率以及重離子束流強度有關(guān).重離子束流強度越低,單位時間內(nèi)產(chǎn)生翻轉(zhuǎn)存儲位數(shù)目越少;刷新的頻率越高,單位時間內(nèi)累計的翻轉(zhuǎn)存儲位數(shù)目越少.當(dāng)刷新頻率較高且束流強度較低時,刷新加固方法的效果明顯.北大加速器的F離子相對于串列加速器的Ti離子的刷新加固方法的效果并不明顯(見圖3b),主要因為北大加速器束流較大,在刷新加固方法起作用之前重離子產(chǎn)生的翻轉(zhuǎn)就已經(jīng)破壞芯片的功能.
脈沖激光輻照得到的實驗結(jié)果如圖4所示.

圖4 應(yīng)用脈沖激光驗證不同加固方法Fig.4 Test results of each method with pulsed laser
脈沖激光實驗結(jié)果表明,三模冗余和動態(tài)刷新加固方法都有一定的加固單粒子翻轉(zhuǎn)效應(yīng)的功能,同時應(yīng)用刷新和三模冗余加固方法可以完全校正單粒子翻轉(zhuǎn)造成的功能錯誤,聯(lián)合應(yīng)用刷新和三模冗余是一種有效的單粒子效應(yīng)加固方法.
脈沖激光的低束流強度以及時序的可控性有利于單粒子效應(yīng)加固方法的驗證.當(dāng)單獨應(yīng)用刷新加固方法時,先用單脈沖激光輻照芯片并運行程序,然后再對芯片進行刷新.由于單個脈沖激光觸發(fā)存儲位翻轉(zhuǎn)有可能影響程序功能并造成功能錯誤,所以實驗中觀察到功能錯誤出現(xiàn).同時應(yīng)用刷新和三模冗余單粒子效應(yīng)加固方法時,單個脈沖激光造成的存儲位翻轉(zhuǎn)不足以破壞三模冗余加固的DES程序,同時刷新方法能夠糾正發(fā)生翻轉(zhuǎn)的存儲位防止其累計破壞三模冗余功能,所以沒有發(fā)現(xiàn)功能錯誤.
值得注意的是脈沖激光實驗結(jié)果表明,刷新和三模冗余加固方法同時應(yīng)用時,可以完全消除功能錯誤.這主要是由于在驗證程序功能時,脈沖激光和重離子的輻照到芯片上的束流不同.地面重離子加速器實驗通常是加速實驗,束流強度很大(每秒幾百個至幾千個粒子),而脈沖激光輻照芯片的束流可以自由準(zhǔn)確地控制,實驗中脈沖激光的束流強度為1 cm-2/s,這種束流強度更接近真實空間輻射環(huán)境中的重離子輻照在芯片上的情況.在束流強度較小空間輻射環(huán)境中,同時應(yīng)用三模冗余和刷新加固方法可以完全消除單粒子翻轉(zhuǎn)造成的功能錯誤.
圖5為不同加固方法DES程序的功能錯誤截面.

圖5 Virtex-Ⅱ FPGA功能翻轉(zhuǎn)截面Fig.5 Cross-section of functional errors for Virtex-ⅡFPGA
實驗表明,未加固的DES程序翻轉(zhuǎn)截面最高;同時應(yīng)用三模冗余和刷新加固方法的翻轉(zhuǎn)截面最低.
根據(jù)功能錯誤截面可以得到存儲位翻轉(zhuǎn)情況,計算表明存儲位翻轉(zhuǎn)對器件功能錯誤的影響較大.對于未加固的DES程序,平均77個存儲位發(fā)生翻轉(zhuǎn)就會導(dǎo)致程序的功能故障,表明程序功能錯誤對器件存儲位翻轉(zhuǎn)敏感,少量的存儲位翻轉(zhuǎn)就可以造成程序功能的破壞.
通過中科院空間中心的空間環(huán)境特殊效應(yīng)分析軟件計算Virtex-Ⅱ FPGA在近地軌道、極地軌道、GPS(Global Positioning System)軌道以及GEO(Geostationary Orbit)軌道的單粒子翻轉(zhuǎn)率,并分析應(yīng)用不同加固方法的DES程序在各種軌道上的故障率(見表 2).其中衛(wèi)星屏蔽厚度為2.54 mm,空間輻射環(huán)境取太陽活動高年.

表2 Virtex-Ⅱ在不同軌道功能錯誤率Table 2 Functional error rates for Virtex-ⅡFPGA d/次
分析結(jié)果表明,對于不同的衛(wèi)星軌道,造成器件發(fā)生翻轉(zhuǎn)的主要來源有所不同,在近地軌道,翻轉(zhuǎn)主要來源于輻射帶質(zhì)子,極地軌道主要是輻射帶質(zhì)子和銀河宇宙線重離子,GPS軌道主要是銀河宇宙線重離子,GEO軌道主要是銀河宇宙線重離子.
在太陽活動高年的情況下,極地軌道器件功能故障率是最高的.在應(yīng)用三模冗余加固的情況下平均132d會產(chǎn)生77個存儲位翻轉(zhuǎn)而造成程序功能錯誤,所以動態(tài)刷新的頻率為4 h一次(刷新頻率設(shè)定的標(biāo)準(zhǔn)是存儲位翻轉(zhuǎn)率的10倍).對于實驗分析4種衛(wèi)星軌道,同時應(yīng)用動態(tài)刷新和三模冗余單粒子效應(yīng)加固方法,可以完全校正由于存儲位翻轉(zhuǎn)造成的功能錯誤.
1)脈沖激光可以進行三模冗余和動態(tài)刷新單粒子效應(yīng)加固方法的評估;
2)SRAM型FPGA程序功能錯誤對器件存儲位翻轉(zhuǎn)敏感,當(dāng)芯片存儲位發(fā)生翻轉(zhuǎn)易造成程序功能的破壞;
3)三模冗余和動態(tài)刷新加固方法的聯(lián)合應(yīng)用可以完全校正存儲位翻轉(zhuǎn)引起的功能故障,能夠滿足空間輻射環(huán)境下的應(yīng)用要求.
References)
[1]Yui C,Swift G,Carmichael C.Single event upset susceptibility testing of the Xilinx Virtex-Ⅱ FPGA[C]//Katz R B.Military and Aerospace Applications of Programmable Device and Technologies Conference(MAPLD).Washington:Kossiakoff Conference Center,2002:212 -217
[2]Yui C C,Swift G M,Carmichael C,et al.SEU mitigation testing of Xilinx Virtex-II FPGAs[C]//Radiation Effects Data Workshop.Piscataway,NJ:IEEE,2003:92 -97
[3]Sterpone L,Violante M.Analysis of the robustness of the TMR architecture in SRAM-based FPGAs[J].IEEE Transactions on Nuclear Science,2005,52(5):1545 -1549
[4]Velazco R,F(xiàn)oucard G,Peronnard P.Combining results of accelerated radiation tests and fault injections to predict the error rate of an application implemented in SRAM-based FPGAs[J].IEEE Transactions on Nuclear Science,2010,57(6):3500 -3505
[5]宋凝芳,朱明達,潘雄.SRAM型FPGA單粒子效應(yīng)試驗研究[J].宇航學(xué)報,2012,33(6):836 -842
Song Ningfang,Zhu Mingda,Pan Xiong.Experimental study of single event effects in SRAM-based FPGA[J].Journal of Astronautics,2012,33(6):836 -842(in Chinese)
[6]張宇寧,張小林,楊根慶,等.商用FPGA器件的單粒子效應(yīng)模擬實驗研究[J].宇航學(xué)報,2009,30(5):1000 -1328
Zhang Yuning,Zhang Xiaolin,Yang Genqing,et al.Simulation experiment of single event effect in commerical FPGA [J].Journal of Astronautics,2009,30(5):1000 -1328(in Chinese)
[7]王忠明,姚志斌,郭紅霞,等.SRAM型 FPGA的靜態(tài)與動態(tài)單粒子效應(yīng)試驗[J].原子能科學(xué)技術(shù),2011,45(12):1506-1510
Wang Zhongming,Yao Zhibin,Guo Hongxia,et al.Static and dynamic tests of single-event effect in SRAM-based FPGA[J].A-tomic Energy Science and Technology,2011,45(12):1506 -1510(in Chinese)
[8]范雪,李平,李威,等.252Cf源和重離子加速器對FPGA的單粒子效應(yīng)[J].強激光與粒子束,2011,23(8):2229 -2232
Fan Xue,Li Ping,Li Wei,et al.Single event effects on FPGA of californium-252 and heavy-ion accelerator[J].High Power Laser and Particle Beams,2011,23(8):2229 -2232(in Chinese)
[9]周永彬,邢克飛,王躍科,等.輻射易敏SRAM型FPGA在導(dǎo)航衛(wèi)星中的實用性實驗研究[J].中國科學(xué):物理學(xué)·力學(xué)·天文學(xué),2010,40(5):541 -545
Zhou Yongbin,Xing Kefei,Wang Yueke,et al.Experimental study on the suitability of using SRAM based FPGAs in navigation satellite[J].Scientia Sinica Phys,Mech & Astron,2010,40(5):541-545(in Chinese)
[10]顧義坤,倪風(fēng)雷,劉宏.Xilinx FPGA自主配置管理容錯設(shè)計研究[J].宇航學(xué)報,2012,33(10):1519-1527
Gu Yikun,Ni Fenglei,Liu Hong.Fault-tolerance design of Xilinx FPGA with self-hosting configuration management[J]Journal of Astronautics.2012,33(10):1519 - 1527(in Chinese)
[11]黃錦杰,孫鵬,沈鳴杰,等.基于 TMR的FPGA單粒子加固試驗探究[J].復(fù)旦學(xué)報:自然科學(xué)版,2011,50(4):477-484
Huang Jinjie,Sun Peng,Shen Mingjie,et al.Test and inquiry of FPGA SEU-hardening by TMR[J].Journal of Fudan University:Natural Science,2011,50(4):477 -484(in Chinese)
[12]李志剛,張彧,潘長勇,等.抗單粒子翻轉(zhuǎn)的可重構(gòu)衛(wèi)星通信系統(tǒng)[J].宇航學(xué)報,2009,30(5):1752 -1756
Li Zhigang,Zhang Yu,Pan Changyong,et al.A new SEU tolerant satellite dynamically-reconfigurable system based on SDR[J].Journal of Astronautics,2009,30(5):1752 - 1756(in Chinese)
[13]Xing K F,Yang J W,Zhang C S,et al.Single event upset induced multi-block error and its mitigation strategy for SRAM-based FPGA[J].Science China Technological Sciences,2011,54(10):2657-2664
[14]Carmichael C.Triple module redundancy design techniques for Virtex FPGAs[R].Xilinx Application Note XAPP197,2001
[15]Sterpone L,Violante M.Analysis of the robustness of the TMR architecture in SRAM-based FPGAs[J].Nuclear Science,IEEE Transactions on,2005,52(5):1545 -1549