一種FPGA單粒子軟錯(cuò)誤檢測(cè)電路設(shè)計(jì)
摘要:分析了FPGA器件發(fā)生單粒子效應(yīng)的空間分布特性,設(shè)計(jì)并實(shí)現(xiàn)了一種面向FPGA單粒子軟錯(cuò)誤的檢測(cè)電路。將該電路放置在FPCA待檢測(cè)電路的附近,利用單粒子效應(yīng)的空間特性,則可以根據(jù)檢測(cè)模塊的狀態(tài)變化,獲得待檢測(cè)電路發(fā)生單粒子軟錯(cuò)誤的情況。仿真實(shí)驗(yàn)表明,該電路是可行、有效的檢測(cè)電路,具有很小的資源和性能損失。
本文引用地址:http://www.ex-cimer.com/article/201609/303528.htm航天技術(shù)大大加速了經(jīng)濟(jì)建設(shè)、國(guó)防建設(shè)、科學(xué)文化和社會(huì)生活各領(lǐng)域的現(xiàn)代化進(jìn)程。隨著空間技術(shù)的發(fā)展,FPGA、DSP等超大規(guī)模集成電路越來(lái)越多的被應(yīng)用于星載平臺(tái)上。與之相伴的,則是宇宙空間輻照環(huán)境下,F(xiàn)PGA等微電子器件及其大規(guī)模集成電路無(wú)時(shí)不刻發(fā)生著對(duì)航天器通訊、測(cè)控和導(dǎo)航都有嚴(yán)重影響的單粒子效應(yīng),而且集成度越高,單粒子效應(yīng)的影響就越顯著。各種航天器在宇宙空間運(yùn)行會(huì)受到各種高能粒子和射線的輻射,可能造成星內(nèi)電子系統(tǒng)的損傷,甚至使整個(gè)航天器失效。有關(guān)資料顯示,由輻射引發(fā)的衛(wèi)星等航天器微電子器件單粒子效應(yīng)是航天器主要的異常和故障之一。
降低或避免輻射導(dǎo)致的單粒子失效故障的影響是航天工作所必須面對(duì)的問(wèn)題。防錯(cuò)技術(shù)和容錯(cuò)技術(shù)是提高系統(tǒng)可靠性的兩種主要途徑。防錯(cuò)技術(shù)注重于降低故障發(fā)生的可能
性,而容錯(cuò)技術(shù)則注重于在錯(cuò)誤存在的情況下仍能保持系統(tǒng)的可操作性。故障檢測(cè)/恢復(fù)技術(shù)是一種常用而有效的容錯(cuò)技術(shù),它的關(guān)鍵是選擇合理的檢測(cè)點(diǎn),采用有效的檢測(cè)方法獲取信息,準(zhǔn)確判斷發(fā)生的故障。
一般來(lái)講,F(xiàn)PGA的重要功能模塊影響FPGA局部功能運(yùn)行,如果該模塊發(fā)生功能錯(cuò)誤,將對(duì)FPGA某區(qū)域的功能造成較長(zhǎng)時(shí)間的故障。對(duì)這類功能模塊以檢錯(cuò)為主以預(yù)防錯(cuò)誤的保持和積累。而對(duì)于FPGA的關(guān)鍵功能模塊,由于其對(duì)整個(gè)系統(tǒng)正常運(yùn)行起決定作用,如果該模塊功能錯(cuò)誤將造成整個(gè)系統(tǒng)的狀態(tài)異常甚至癱瘓。因此,這類功能系統(tǒng)往往需要共同應(yīng)用防錯(cuò)技術(shù)和容錯(cuò)技術(shù)來(lái)保證系統(tǒng)的高可靠性。如采用局部TMR、TTMR或DMR等容錯(cuò)功能冗余設(shè)計(jì),以及故障檢測(cè)糾錯(cuò)技術(shù)等,以自動(dòng)糾正功能模塊的錯(cuò)誤,確保功能的正確性。但是,空間儀器中FPGA的資源使用和速度是一個(gè)重要的方面,過(guò)多的資源開銷和過(guò)大的速度下降將限制儀器的功能和性能。TMR、TTMR或DMR使得目標(biāo)設(shè)計(jì)的資源增加1~2倍,速度性能(即最大工作頻率)下降15%左右。
論文基于此,分析了FPGA器件發(fā)生單粒子效應(yīng)的特點(diǎn),設(shè)計(jì)并實(shí)現(xiàn)了一種基于FPGA空間分布特性的檢測(cè)電路,并仿真驗(yàn)證了其有效性。
1 FPGA單粒子效應(yīng)故障機(jī)理分析
FPGA的單粒子效應(yīng)故障具有存儲(chǔ)器和處理器故障的雙重特征。SRAM型FPGA的主要組成為配置存儲(chǔ)器(Configurable Memory)、可編程邏輯單元(CLB)可編程輸入輸出口(Progra mmable IOB)、塊存儲(chǔ)器(Block RAM)、布線資源(Routing Resource)、乘法器(Multiplier)、數(shù)字時(shí)鐘管理模塊(DCM,Digital Clock Manager)、配置狀態(tài)機(jī)(Configuration state Machine)、上電復(fù)位狀態(tài)機(jī)(POR,Power—on Reset)等。
FPGA的單粒子效應(yīng)故障模式可以由配置存儲(chǔ)器、用戶存儲(chǔ)器/觸發(fā)器發(fā)生單粒子翻轉(zhuǎn)引起的故障,以及由上電復(fù)位狀態(tài)機(jī)、配置狀態(tài)機(jī)、硬件乘法器等發(fā)生單粒子功能中斷和單粒子瞬態(tài)脈沖引起的故障兩大類。FPGA組成模塊的單粒子翻轉(zhuǎn)故障、單粒子功能中斷故障和單粒子瞬態(tài)脈沖故障的表現(xiàn)形式及可訪問(wèn)性如表1所示。
2 FPGA單粒子效應(yīng)的空間分布特性
邏輯功能復(fù)雜的深亞微米FPGA,依靠復(fù)雜的時(shí)序邏輯關(guān)系完成各種各樣的功能,各個(gè)基本電路單元之間除了物理上的連接關(guān)系之外,經(jīng)過(guò)后期的邏輯功能設(shè)計(jì),相互之間還產(chǎn)生了新的邏輯連接和時(shí)序關(guān)系。某個(gè)基本電路單元的單粒子效應(yīng)故障可以通過(guò)這些新生的關(guān)系,擴(kuò)大到更大的作用區(qū)域,并且持續(xù)更長(zhǎng)的作用時(shí)間。也就是說(shuō),短暫的、小面積的單個(gè)晶體管的單粒子效應(yīng)能夠通過(guò)時(shí)序電路的邏輯功能傳播到相鄰的區(qū)域,并導(dǎo)致該區(qū)域邏輯功能的伴隨故障,這類現(xiàn)象為單粒子效應(yīng)的伴隨現(xiàn)象。伴隨現(xiàn)象在FPGA功能模塊中表現(xiàn)出的故障藕合與傳遞特性被稱為伴隨特性。
伴隨特性產(chǎn)生的原因是,由于單個(gè)高能粒子由于質(zhì)量、能量、入射角以及所帶電荷的不同,在不同結(jié)構(gòu)和材料的PN結(jié)中造成能量沉積的分布特性也不相同,形成的等離子體體積也不相同,但是一般都認(rèn)為,高能粒子入射到硅材料后絕大部分能量沉積在一個(gè)以入射點(diǎn)為靶心圓形狀區(qū)域內(nèi)。這樣的空間分布特性,在應(yīng)用層次上向功能模塊層面擴(kuò)充,表現(xiàn)出“伴隨特性”的單粒子效應(yīng)故障的可測(cè)形式。
由此,根據(jù)單粒子效應(yīng)的空間分布特性,單粒子效應(yīng)故障的傳遞過(guò)程可描述為:電路單元的單粒子效應(yīng)造成其自身所在的功能模塊的故障,以及其一定物理相鄰區(qū)域內(nèi)功能電路的故障。即高能粒子的影響通過(guò)單粒子效應(yīng)的空間分布特性產(chǎn)生了傳遞,并被記錄在其他功能模塊中。
因此,單粒子效應(yīng)故障的檢測(cè)可以考慮在待檢測(cè)電路附近,合理放置狀態(tài)已知的檢測(cè)電路。通過(guò)其狀態(tài)的變化,推斷待檢測(cè)電路是否發(fā)生單粒子故障。這樣的方法,除了可以準(zhǔn)確檢測(cè)、定位故障電路,還能以降低故障檢測(cè)帶來(lái)的資源或者性能損失。
3 FPGA單粒子軟錯(cuò)誤檢測(cè)電路設(shè)計(jì)
FPGA單粒子軟錯(cuò)誤的檢測(cè)和診斷的關(guān)鍵是尋找已知狀態(tài)點(diǎn)進(jìn)行比較。因此,F(xiàn)PGA檢測(cè)點(diǎn)的選擇需篩選出本身狀態(tài)已知的點(diǎn),或設(shè)計(jì)已知狀態(tài)點(diǎn),以實(shí)現(xiàn)狀態(tài)的對(duì)比分析。即若篩選出的待檢測(cè)點(diǎn)狀態(tài)已知,則該點(diǎn)選擇為檢測(cè)點(diǎn);若篩選出的待檢測(cè)點(diǎn)狀態(tài)未知,則選擇與該檢測(cè)點(diǎn)耦合關(guān)系最緊密的狀態(tài)已知點(diǎn)為檢測(cè)點(diǎn)。
由第2節(jié)的分析可知,當(dāng)一束高能粒子轟擊到FPGA的某一區(qū)域時(shí),發(fā)生單粒子軟錯(cuò)誤的區(qū)域是以該被轟擊區(qū)域?yàn)橹行?、直徑遠(yuǎn)大于該轟擊區(qū)域直徑的一圓形區(qū)域。因此,當(dāng)某一待檢測(cè)點(diǎn)發(fā)生了單粒子軟錯(cuò)誤,基于空間上的分布特性,其相鄰區(qū)域內(nèi)的電路也將發(fā)生單粒子軟錯(cuò)誤。由此,基于單粒子效應(yīng)的空間分布特性,本文設(shè)計(jì)了如圖1所示的狀態(tài)已知的檢測(cè)電路,用于檢測(cè)狀態(tài)未知的功能電路的狀態(tài)。同時(shí),該檢測(cè)電路對(duì)狀態(tài)已知功能電路同樣可用。
此時(shí),無(wú)論待檢測(cè)點(diǎn)狀態(tài)是否已知,均可在其周圍放置圖1所示的原理電路,完成FPGA單粒子軟錯(cuò)誤的檢測(cè)。其中,檢測(cè)電路的設(shè)計(jì)可采用觸發(fā)器沿敏感復(fù)位或采用鎖存器電平敏感復(fù)位兩種設(shè)計(jì),分別如圖2、圖3所示。
圖2、圖3所示檢測(cè)電路中。每個(gè)檢測(cè)電路存儲(chǔ)一個(gè)已知的初始值(0、1均可)。初始狀態(tài)、復(fù)位之后以及當(dāng)前值與初始值相同時(shí),Q端向外輸出低電平;當(dāng)檢測(cè)點(diǎn)的當(dāng)前值與初始值不同時(shí)(即將當(dāng)前值與初始值進(jìn)行異或操作),認(rèn)為發(fā)生了SEU翻轉(zhuǎn),Q端向外輸出高電平并保持,直到rst信號(hào)有效,檢測(cè)點(diǎn)恢復(fù)到初始狀態(tài)(rst上跳沿或下跳沿復(fù)位可采用圖2所示電路;rst高電平或低電平復(fù)位可采用圖3所示電路。設(shè)計(jì)中選用一種即可)。檢測(cè)電路的真值表如表2所示。
由此,每個(gè)檢測(cè)點(diǎn)可以由多級(jí)、多個(gè)檢測(cè)電路組成,每級(jí)可以有多個(gè)檢測(cè)電路,如在圖1中,檢測(cè)點(diǎn)0由兩級(jí)檢測(cè)電路組成,第一級(jí)包含1個(gè)檢測(cè)電路,第二級(jí)包含2個(gè)檢測(cè)電路。同級(jí)之間的多個(gè)檢測(cè)電路之間、多級(jí)之間,產(chǎn)生的輸出信號(hào)通過(guò)或門,產(chǎn)生新的輸出,最終,每個(gè)檢測(cè)點(diǎn)輸出1跟SEU信號(hào),送往SEU狀態(tài)寄存器。
SEU狀態(tài)寄存器的個(gè)數(shù)、每個(gè)寄存器的位數(shù),可以根據(jù)自己的實(shí)際情況確定,只需“寄存器個(gè)數(shù)×寄存器位數(shù)=檢測(cè)點(diǎn)數(shù)量”即可。
狀態(tài)讀取模塊根據(jù)用戶實(shí)際情況進(jìn)行設(shè)計(jì),可使用用戶芯片中原有的數(shù)據(jù)讀取通路。圖1的示例中,使用并行接口對(duì)SEU狀態(tài)寄存器進(jìn)行讀取,數(shù)據(jù)線、地址線的位數(shù)可根據(jù)實(shí)際情況進(jìn)行設(shè)定。
SEU狀態(tài)讀取完畢后,通過(guò)該接口,設(shè)置復(fù)位寄存器的值,產(chǎn)生rst信號(hào),對(duì)所有檢測(cè)點(diǎn)中的檢測(cè)電路進(jìn)行復(fù)位,將其恢復(fù)到初始狀態(tài)。
當(dāng)完成一次檢測(cè)后,由SEU狀態(tài)寄存器記錄當(dāng)次檢測(cè)結(jié)果,該結(jié)果可以由狀態(tài)讀取模塊根據(jù)需求讀出。同時(shí),根據(jù)檢測(cè)結(jié)果,驅(qū)動(dòng)FPGA完成局部電路刷新,以恢復(fù)期正常狀態(tài)。
顯然,該檢測(cè)電路可以推廣到所有FPGA組成模塊的檢測(cè),只需將其放置在待檢測(cè)電路的附近,利用單粒子效應(yīng)的空問(wèn)特性,均可根據(jù)檢測(cè)模塊的狀態(tài)變化,獲得待檢測(cè)電路發(fā)生單粒子軟錯(cuò)誤的情況。
4 仿真驗(yàn)證
本文利用圖1所示的檢測(cè)電路,并在Modelsim下進(jìn)行了仿真測(cè)試,結(jié)果如圖4所示。
圖4中,通過(guò)tb向第31和第2個(gè)SEU檢測(cè)點(diǎn),即SEU31、SEU2注入了SEU故障??梢钥吹?,SEU內(nèi)部狀態(tài)寄存器的值已經(jīng)改變,通過(guò)狀態(tài)讀取模塊,可以將SEU狀態(tài)讀出(讀出的結(jié)果為seu_status_readout)。仿真結(jié)果證明了本文設(shè)計(jì)的檢測(cè)電路的可用性和有效性。
5 結(jié)論
本文分析了FPGA器件發(fā)生單粒子效應(yīng)的空間分布特性,設(shè)計(jì)并實(shí)現(xiàn)了一種檢測(cè)電路。將該電路放置在FPGA待檢測(cè)電路的附近,利用單粒子效應(yīng)的空間特性,均可根據(jù)檢測(cè)模塊的狀態(tài)變化,獲得待檢測(cè)電路發(fā)生單粒子軟錯(cuò)誤的情況。仿真實(shí)驗(yàn)表明,該電路是可行、有效的檢測(cè)電路,具有很小的資源或者性能損失,具有很好地應(yīng)用價(jià)值。
評(píng)論