深夜醒來,翻開枕邊詩集,遙想當年,蘇老舉杯邀歌,寫出了千古流傳的《水調歌頭》,“我欲乘風歸去,又恐瓊樓玉宇,高處不勝寒。起舞弄清影,何似在人間。”如今想來,蘇老先生字里行間難掩對嚴寒天宮的向往,又終覺人間美好,我等后生晚輩做科研工作更是要腳踏實地。
在遙遠的天宮,衛星工作的環境非常惡劣。衛星運行期間,不可避免地遭遇地球輻射帶質子、銀河宇宙線粒子、太陽宇宙線粒子轟擊,這些輻射粒子,極易引起電子元器件的性能退化、邏輯功能錯誤、狀態鎖定等,從而導致電子設備的功能錯誤及異常,進而危害衛星的功能發揮乃至運行安全。
SRAM型FPGA屬于核心元器件,因此對SRAM型FPGA進行抗輻照加固設計非常必要。今天貧道主要給大家布道一下SRAM型FPGA在軌會遇到的問題及其影響。
1SEE分類
SRAM型FPGA空間應用下面臨的主要問題是單粒子效應和總劑量效應。如圖1所示,單粒子效應包括單粒子閂鎖SEL,單粒子翻轉SEU,單粒子瞬變SET和單粒子功能中斷SEFI。SEL屬于硬錯誤,可能會導致FPGA器件損傷。而SEU,SET和SEFI則屬于軟錯誤,一般不會對器件造成損傷,但會影響FPGA功能。
圖1 元器件單粒子效應的分類
2TID
經常聽說某國產元器件TID指標大于100Krad or 150K rad,為啥要定義這個指標呢?不同軌道的航天器遭受的年劑量是不一樣的,比如LEO軌道遭受的只有幾Krad[si],GEO軌道年劑量可能達到100Krad[si],而MEO軌道年劑量最高可達數百Krad[si]。
這里提到的指標是典型的3mm鋁屏蔽下的年劑量,乘以衛星的使用壽命,并考慮2~3倍的抗輻射設計余量(RDM),就是型號任務通常的抗總劑量要求。為了滿足總劑量的要求,可以通過設備機箱進行屏蔽,也可以通過整星設計,設備機箱結合其他結構件組合屏蔽。一般到元器件層面總劑量指標大于100Krad能滿足型號任務的需求。
3SEL
目前主流的SRAM型FPGA是CMOS工藝,由于天然的寄生效應,一個NMOS和一個PMOS串聯起來產生PNPN結構。受單粒子效應的影響,PNPN會處于導通狀態且不斷電會一直處于導通狀態,影響管子使用壽命。隨著導通的管子數量增多,外在表現就是電流會階梯型上升。某國產宇航級的FPGA會在芯片內部進行SEL特殊加固設計, 指標達到84 Mev.cm^2/mg板級設計不需要考慮額外的抗SEL設計。
工業級的FPGA則必須要在板級設計中考慮電源的監測和管理。由于電路的階梯型上升特點,只對一級電源進行監測缺點是靈敏度不夠,發現不了潛在的閂鎖。最好對每路電源進行監測,提高靈敏度,一旦發生異常,采取斷電重啟。
圖2 CMOS電路中的寄生效應
圖3 發生SEL后電流階梯型上升
4SEFI
SEFI分為應用級SEFI和器件級SEFI。如表1所示,器件級SEFI包括POR SEFI,SelectMAP SEFI,FAR SEFI和全局信號的SEFI。一般需要通過外部的刷新電路對器件級SEFI進行監測,并采取相應的應對措施。某國產宇航級的FPGA會在芯片內部進行SEFI特殊加固設計,指標達到37 Mev.cm^2/mg,極大增強了FPGA在軌穩定運行的能力。
圖4 刷新芯片監測FPGA SEFI流程
表1 SEFI類型與解決措施
應用級SEFI需要把由SEU導致的用戶層面邏輯功能異常刨除掉,專注一些基礎性的一般性的東西,否則應用級SEFI就是一個模糊不清的概念。本文中應用級SEFI指的是時鐘SET、復位毛刺和MMCM/PLL/DCM的功能異常,下面對應用級SEFI分類進行說明。
1)時鐘SET
如圖5所示,盡管對電路做了TMR加固,但時鐘信號的SET會導致該時鐘域下的所有寄存器發生SEU,最終Voter判定結果錯誤,TMR加固失效。
圖5 時鐘毛刺
對時鐘網絡推薦采用GTMR策略,時鐘IO不做TMR,對BUFG做TMR。加固前單點失效路徑是整個時鐘routing,加固后單點失效路徑是IO到BUFGs的交匯處,通常單點失效路徑截面大為減少。
圖6 GTMR有效降低時鐘網絡SET概率
2)復位毛刺
FPGA加載時用GSR來控制寄存器和狀態機初值,因此并不需要額外產生復位信號來做初值控制。比如,不需要復位的寄存器(如數據流相關的寄存器)不設計外部復位,用GSR做初值控制。對復位毛刺很敏感的寄存器和狀態機,可以改用同步復位,同步復位比異步復位消耗資源多一些,但比異步復位對毛刺敏感性低。
圖7 異步復位同步釋放電路
如果外部異步復位扇出較多的寄存器,可以用GTMR加固策略。復位信號經過3個BUFG走全局時鐘專用網絡,單路復位毛刺翻轉影響不了另外兩路復位信號對應的寄存器。
3)MMCM/PLL/DCM
MMCM/PLL/DCM的LOCK信號為高并不代表功能一定正常,因此建議開發一種緩解方案,例如通過計數器來檢測MMCM/PLL/DCM輸出故障。一旦MMCM/PLL/DCM發生故障,進行復位操作。
5SEU
單粒子翻轉SEU可以發生在FPGA任意的資源上,比如配置SRAM、配置邏輯電路、用戶邏輯DFF和塊存儲器等。
配置SRAM的SEU直接影響的是查找表LUT的值和互連資源的連接關系。查找表值的錯誤會導致用戶邏輯功能出錯,邏輯錯誤向下傳播還可能導致時序單元出錯。此外如果LUT用作了分布式RAM或者移位寄存器SRL,那么還會導致存儲數據出錯。
互連出錯可能導致用戶邏輯連接出錯,連接錯誤向下傳播可能導致時序單元出錯。互連出錯還可能導致互連產生短路,引起靜態功耗增加。
觸發器DFF的SEU會導致用戶邏輯狀態出錯和FSM狀態機出錯。流水寄存器狀態出錯的影響僅限于單個時鐘周期,因此影響比較小。FSM狀態機出錯可能會造成嚴重的影響。如圖8 所示,狀態機如果發生翻轉至為定義的狀態,那會導致狀態機鎖死,用戶功能無法恢復。
圖8 狀態機發生SEU導致鎖死
BRAM塊存儲器發生SEU可能會造成功能出錯。當BRAM資源用作ROM,ROM存儲重要的參數,重要參數發生錯誤會導致用戶功能受到嚴重影響。比如FPGA內部跑軟核,程序存儲在FPGA內部的BRAM資源中,BRAM程序區的SEU會導致指針亂跳,程序跑飛。
圖9 軟核存儲器發生SEU導致程序跑飛
戰術總結
對于SRAM型的FPGA而言,單粒子效應SEE可產生嚴重的影響。貧道今天給大家介紹了SEE的各個細分,包括SEL、SEFI、SEU和SET。那么針對不同細分,有什么解決方法,該采取什么樣的應對措施,又如何驗證措施的有效性呢?欲知后事如何、且聽下回分解。
審核編輯:湯梓紅
評論
查看更多