新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 一種FPGA單粒子軟錯誤檢測電路設(shè)計

一種FPGA單粒子軟錯誤檢測電路設(shè)計

作者: 時間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

摘要:分析了器件發(fā)生,設(shè)計并實現(xiàn)了一種面向單粒子。將該電路放置在FPCA待的附近,利用的空間特性,則可以根據(jù)檢測模塊的狀態(tài)變化,獲得待發(fā)生單粒子的情況。仿真實驗表明,該電路是可行、有效的檢測電路,具有很小的資源和性能損失。

本文引用地址:http://m.butianyuan.cn/article/201609/303528.htm

航天技術(shù)大大加速了經(jīng)濟建設(shè)、國防建設(shè)、科學(xué)文化和社會生活各領(lǐng)域的現(xiàn)代化進程。隨著空間技術(shù)的發(fā)展,、DSP等超大規(guī)模集成電路越來越多的被應(yīng)用于星載平臺上。與之相伴的,則是宇宙空間輻照環(huán)境下,F(xiàn)PGA等微電子器件及其大規(guī)模集成電路無時不刻發(fā)生著對航天器通訊、測控和導(dǎo)航都有嚴重影響的,而且集成度越高,單粒子效應(yīng)的影響就越顯著。各種航天器在宇宙空間運行會受到各種高能粒子和射線的輻射,可能造成星內(nèi)電子系統(tǒng)的損傷,甚至使整個航天器失效。有關(guān)資料顯示,由輻射引發(fā)的衛(wèi)星等航天器微電子器件單粒子效應(yīng)是航天器主要的異常和故障之一。

降低或避免輻射導(dǎo)致的單粒子失效故障的影響是航天工作所必須面對的問題。防錯技術(shù)和容錯技術(shù)是提高系統(tǒng)可靠性的兩種主要途徑。防錯技術(shù)注重于降低故障發(fā)生的可能

性,而容錯技術(shù)則注重于在錯誤存在的情況下仍能保持系統(tǒng)的可操作性。故障檢測/恢復(fù)技術(shù)是一種常用而有效的容錯技術(shù),它的關(guān)鍵是選擇合理的檢測點,采用有效的檢測方法獲取信息,準確判斷發(fā)生的故障。

一般來講,F(xiàn)PGA的重要功能模塊影響FPGA局部功能運行,如果該模塊發(fā)生功能錯誤,將對FPGA某區(qū)域的功能造成較長時間的故障。對這類功能模塊以檢錯為主以預(yù)防錯誤的保持和積累。而對于FPGA的關(guān)鍵功能模塊,由于其對整個系統(tǒng)正常運行起決定作用,如果該模塊功能錯誤將造成整個系統(tǒng)的狀態(tài)異常甚至癱瘓。因此,這類功能系統(tǒng)往往需要共同應(yīng)用防錯技術(shù)和容錯技術(shù)來保證系統(tǒng)的高可靠性。如采用局部TMR、TTMR或DMR等容錯功能冗余設(shè)計,以及故障檢測糾錯技術(shù)等,以自動糾正功能模塊的錯誤,確保功能的正確性。但是,空間儀器中FPGA的資源使用和速度是一個重要的方面,過多的資源開銷和過大的速度下降將限制儀器的功能和性能。TMR、TTMR或DMR使得目標設(shè)計的資源增加1~2倍,速度性能(即最大工作頻率)下降15%左右。

論文基于此,分析了FPGA器件發(fā)生單粒子效應(yīng)的特點,設(shè)計并實現(xiàn)了一種基于FPGA的檢測電路,并仿真驗證了其有效性。

1 FPGA單粒子效應(yīng)故障機理分析

FPGA的單粒子效應(yīng)故障具有存儲器和處理器故障的雙重特征。SRAM型FPGA的主要組成為配置存儲器(Configurable Memory)、可編程邏輯單元(CLB)可編程輸入輸出口(Progra mmable IOB)、塊存儲器(Block RAM)、布線資源(Routing Resource)、乘法器(Multiplier)、數(shù)字時鐘管理模塊(DCM,Digital Clock Manager)、配置狀態(tài)機(Configuration state Machine)、上電復(fù)位狀態(tài)機(POR,Power—on Reset)等。

FPGA的單粒子效應(yīng)故障模式可以由配置存儲器、用戶存儲器/觸發(fā)器發(fā)生單粒子翻轉(zhuǎn)引起的故障,以及由上電復(fù)位狀態(tài)機、配置狀態(tài)機、硬件乘法器等發(fā)生單粒子功能中斷和單粒子瞬態(tài)脈沖引起的故障兩大類。FPGA組成模塊的單粒子翻轉(zhuǎn)故障、單粒子功能中斷故障和單粒子瞬態(tài)脈沖故障的表現(xiàn)形式及可訪問性如表1所示。

a.jpg

2 FPGA單粒子效應(yīng)的

邏輯功能復(fù)雜的深亞微米FPGA,依靠復(fù)雜的時序邏輯關(guān)系完成各種各樣的功能,各個基本電路單元之間除了物理上的連接關(guān)系之外,經(jīng)過后期的邏輯功能設(shè)計,相互之間還產(chǎn)生了新的邏輯連接和時序關(guān)系。某個基本電路單元的單粒子效應(yīng)故障可以通過這些新生的關(guān)系,擴大到更大的作用區(qū)域,并且持續(xù)更長的作用時間。也就是說,短暫的、小面積的單個晶體管的單粒子效應(yīng)能夠通過時序電路的邏輯功能傳播到相鄰的區(qū)域,并導(dǎo)致該區(qū)域邏輯功能的伴隨故障,這類現(xiàn)象為單粒子效應(yīng)的伴隨現(xiàn)象。伴隨現(xiàn)象在FPGA功能模塊中表現(xiàn)出的故障藕合與傳遞特性被稱為伴隨特性。

伴隨特性產(chǎn)生的原因是,由于單個高能粒子由于質(zhì)量、能量、入射角以及所帶電荷的不同,在不同結(jié)構(gòu)和材料的PN結(jié)中造成能量沉積的分布特性也不相同,形成的等離子體體積也不相同,但是一般都認為,高能粒子入射到硅材料后絕大部分能量沉積在一個以入射點為靶心圓形狀區(qū)域內(nèi)。這樣的空間分布特性,在應(yīng)用層次上向功能模塊層面擴充,表現(xiàn)出“伴隨特性”的單粒子效應(yīng)故障的可測形式。

由此,根據(jù)單粒子效應(yīng)的空間分布特性,單粒子效應(yīng)故障的傳遞過程可描述為:電路單元的單粒子效應(yīng)造成其自身所在的功能模塊的故障,以及其一定物理相鄰區(qū)域內(nèi)功能電路的故障。即高能粒子的影響通過單粒子效應(yīng)的空間分布特性產(chǎn)生了傳遞,并被記錄在其他功能模塊中。

因此,單粒子效應(yīng)故障的檢測可以考慮在待檢測電路附近,合理放置狀態(tài)已知的檢測電路。通過其狀態(tài)的變化,推斷待檢測電路是否發(fā)生單粒子故障。這樣的方法,除了可以準確檢測、定位故障電路,還能以降低故障檢測帶來的資源或者性能損失。

3 FPGA單粒子檢測電路設(shè)計

FPGA單粒子軟錯誤的檢測和診斷的關(guān)鍵是尋找已知狀態(tài)點進行比較。因此,F(xiàn)PGA檢測點的選擇需篩選出本身狀態(tài)已知的點,或設(shè)計已知狀態(tài)點,以實現(xiàn)狀態(tài)的對比分析。即若篩選出的待檢測點狀態(tài)已知,則該點選擇為檢測點;若篩選出的待檢測點狀態(tài)未知,則選擇與該檢測點耦合關(guān)系最緊密的狀態(tài)已知點為檢測點。

由第2節(jié)的分析可知,當一束高能粒子轟擊到FPGA的某一區(qū)域時,發(fā)生單粒子軟錯誤的區(qū)域是以該被轟擊區(qū)域為中心、直徑遠大于該轟擊區(qū)域直徑的一圓形區(qū)域。因此,當某一待檢測點發(fā)生了單粒子軟錯誤,基于空間上的分布特性,其相鄰區(qū)域內(nèi)的電路也將發(fā)生單粒子軟錯誤。由此,基于單粒子效應(yīng)的空間分布特性,本文設(shè)計了如圖1所示的狀態(tài)已知的檢測電路,用于檢測狀態(tài)未知的功能電路的狀態(tài)。同時,該檢測電路對狀態(tài)已知功能電路同樣可用。

此時,無論待檢測點狀態(tài)是否已知,均可在其周圍放置圖1所示的原理電路,完成FPGA單粒子軟錯誤的檢測。其中,檢測電路的設(shè)計可采用觸發(fā)器沿敏感復(fù)位或采用鎖存器電平敏感復(fù)位兩種設(shè)計,分別如圖2、圖3所示。

b.jpg

圖2、圖3所示檢測電路中。每個檢測電路存儲一個已知的初始值(0、1均可)。初始狀態(tài)、復(fù)位之后以及當前值與初始值相同時,Q端向外輸出低電平;當檢測點的當前值與初始值不同時(即將當前值與初始值進行異或操作),認為發(fā)生了SEU翻轉(zhuǎn),Q端向外輸出高電平并保持,直到rst信號有效,檢測點恢復(fù)到初始狀態(tài)(rst上跳沿或下跳沿復(fù)位可采用圖2所示電路;rst高電平或低電平復(fù)位可采用圖3所示電路。設(shè)計中選用一種即可)。檢測電路的真值表如表2所示。

d.jpg

e.jpg

由此,每個檢測點可以由多級、多個檢測電路組成,每級可以有多個檢測電路,如在圖1中,檢測點0由兩級檢測電路組成,第一級包含1個檢測電路,第二級包含2個檢測電路。同級之間的多個檢測電路之間、多級之間,產(chǎn)生的輸出信號通過或門,產(chǎn)生新的輸出,最終,每個檢測點輸出1跟SEU信號,送往SEU狀態(tài)寄存器。

SEU狀態(tài)寄存器的個數(shù)、每個寄存器的位數(shù),可以根據(jù)自己的實際情況確定,只需“寄存器個數(shù)×寄存器位數(shù)=檢測點數(shù)量”即可。

狀態(tài)讀取模塊根據(jù)用戶實際情況進行設(shè)計,可使用用戶芯片中原有的數(shù)據(jù)讀取通路。圖1的示例中,使用并行接口對SEU狀態(tài)寄存器進行讀取,數(shù)據(jù)線、地址線的位數(shù)可根據(jù)實際情況進行設(shè)定。

SEU狀態(tài)讀取完畢后,通過該接口,設(shè)置復(fù)位寄存器的值,產(chǎn)生rst信號,對所有檢測點中的檢測電路進行復(fù)位,將其恢復(fù)到初始狀態(tài)。

當完成一次檢測后,由SEU狀態(tài)寄存器記錄當次檢測結(jié)果,該結(jié)果可以由狀態(tài)讀取模塊根據(jù)需求讀出。同時,根據(jù)檢測結(jié)果,驅(qū)動FPGA完成局部電路刷新,以恢復(fù)期正常狀態(tài)。

顯然,該檢測電路可以推廣到所有FPGA組成模塊的檢測,只需將其放置在待檢測電路的附近,利用單粒子效應(yīng)的空問特性,均可根據(jù)檢測模塊的狀態(tài)變化,獲得待檢測電路發(fā)生單粒子軟錯誤的情況。

4 仿真驗證

本文利用圖1所示的檢測電路,并在Modelsim下進行了仿真測試,結(jié)果如圖4所示。

e.jpg

圖4中,通過tb向第31和第2個SEU檢測點,即SEU31、SEU2注入了SEU故障??梢钥吹?,SEU內(nèi)部狀態(tài)寄存器的值已經(jīng)改變,通過狀態(tài)讀取模塊,可以將SEU狀態(tài)讀出(讀出的結(jié)果為seu_status_readout)。仿真結(jié)果證明了本文設(shè)計的檢測電路的可用性和有效性。

5 結(jié)論

本文分析了FPGA器件發(fā)生單粒子效應(yīng)的空間分布特性,設(shè)計并實現(xiàn)了一種檢測電路。將該電路放置在FPGA待檢測電路的附近,利用單粒子效應(yīng)的空間特性,均可根據(jù)檢測模塊的狀態(tài)變化,獲得待檢測電路發(fā)生單粒子軟錯誤的情況。仿真實驗表明,該電路是可行、有效的檢測電路,具有很小的資源或者性能損失,具有很好地應(yīng)用價值。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉