隨著半導(dǎo)體工藝的不斷發(fā)展,器件特征尺寸逐漸減少,激發(fā)單粒子翻轉(zhuǎn)(Single Event Upset, SEU)效應(yīng)所需的能量閾值呈幾何級下降趨勢。例如,65 nm工藝下器件發(fā)生電平翻轉(zhuǎn)需6500個電荷,16 nm工藝下器件電平翻轉(zhuǎn)僅需1000個電荷 。
雖然電平錯誤翻轉(zhuǎn)引發(fā)的軟錯誤不會對電路造成永久性的破壞,但是由于發(fā)生的能量閾值較低,所以在所有單粒子效應(yīng)造成集成電路工作失效的事件中,電平錯誤翻轉(zhuǎn)效應(yīng)引起的事件占有比例最高,為40%。
由此可見,軟錯誤已經(jīng)成為先進(jìn)工藝下大規(guī)模數(shù)字集成電路在輻射環(huán)境中最為主要的失效模式,這極大地限制了集成電路在一些可靠性較高的領(lǐng)域尤其是富含高通量低能粒子的航天航空場景中的應(yīng)用。為促進(jìn)航空航天事業(yè)的快速發(fā)展,需要對集成電路功能軟錯誤的敏感性進(jìn)行充分的研究和評估。
在所有的評估手段中,空間環(huán)境實(shí)測的方式獲得的數(shù)據(jù)最為準(zhǔn)確,但航天器的發(fā)射次數(shù)和載荷都是有限的,實(shí)驗(yàn)機(jī)會少且價格昂貴。因此,更多的評估手段被開發(fā)出來,主要有輻照測試,軟件仿真和現(xiàn)場可編程門陣列(Field Programmable Gate Array, FPGA)模擬等技術(shù)路線 。
輻照測試可以精確控制輻射強(qiáng)度和時間,相比空間試驗(yàn)有著良好的可控性和靈活性。但是搭建輻照測試環(huán)境的開銷依然非常龐大,具備輻照測試條件的單位也極少。此外,輻照測試需要批量測試,在測試過程中也極可能損傷芯片,且芯片出錯后也很難定位敏感節(jié)點(diǎn),故一般只用于成品芯片的性能測試和最終測試。
軟件仿真通過數(shù)學(xué)分析方法,將真實(shí)情況下單粒子效應(yīng)對電路造成的影響轉(zhuǎn)化為故障產(chǎn)生概率,故障持續(xù)時間和故障節(jié)點(diǎn)位置等故障模型參數(shù),最后將故障注入到電路中 。
軟件仿真的優(yōu)勢在于模擬單粒子效應(yīng)的靈活性,可從工藝級、器件級、晶體管級、門級和行為級各個層次對單粒子效應(yīng)進(jìn)行建模、仿真和分析。但隨著電路規(guī)模的增加,軟件仿真計(jì)算過程的時間開銷也在顯著增加,諸如開關(guān)級模擬的時間爆炸問題 。
相對于軟件仿真技術(shù),F(xiàn)PGA模擬單粒子翻轉(zhuǎn)效應(yīng)的實(shí)現(xiàn)成本更低,評估速度更快,更適合用于快速評估集成電路對單粒子翻轉(zhuǎn)效應(yīng)的敏感程度。具體實(shí)現(xiàn)方式主要有FPGA重配置注入故障,掃描鏈注入故障和旁路電路注入故障3種。
FPGA重配置注入故障是基于FPGA的重配置功能,在運(yùn)行過程中,動態(tài)修改FPGA的配置信息以實(shí)現(xiàn)注入故障。掃描鏈注入故障是復(fù)用可測性設(shè)計(jì)的掃描鏈結(jié)構(gòu),將故障寫至掃描鏈的入口,控制掃描鏈的數(shù)據(jù)進(jìn)行串行移動,將故障準(zhǔn)確寫入待評估的寄存器中。旁路電路注入故障的實(shí)現(xiàn)原理和掃描鏈注入故障的實(shí)現(xiàn)原理類似,也是在原有的電路結(jié)構(gòu)上添加附加電路,然后對電路注入故障以模擬單粒子翻轉(zhuǎn)效應(yīng),但是消除了掃描鏈注入故障速度慢的缺點(diǎn)。
FPGA重配置注入故障、掃描鏈注入故障和旁路電路注入故障由于實(shí)現(xiàn)方式不一樣,在評估速度、敏感點(diǎn)定位精度和使用電路規(guī)模等性能上也各有優(yōu)劣。本文總結(jié)了FPGA重配置注入故障技術(shù),討論了掃描鏈注入故障技術(shù),描述了旁路電路注入故障技術(shù),對比了3種注入故障技術(shù)并對各類技術(shù)的發(fā)展方向進(jìn)行了展望。
2
** FPGA重配置注入故障**
FPGA的配置信息包含了各類邏輯資源的配置狀況、電壓標(biāo)準(zhǔn)、連線情況和用戶設(shè)計(jì)的使用情況 ^[14]^ 。借助配置控制指令,即可通過專用的配置讀寫接口(Internal Configuration Access Port,ICAP)訪問FPGA的配置信息 ^[15]^ ;同時也能將其中某一位數(shù)據(jù)進(jìn)行翻轉(zhuǎn)(如0到1或1到0),再把修改后的配置信息寫回FPGA以實(shí)現(xiàn)故障注入;最后持續(xù)讀取配置信息還可監(jiān)控故障注入后對電路造成的影響。
基于重配置的故障注入流程如圖1所示,按照配置范圍的大小,F(xiàn)PGA重配置技術(shù)可以進(jìn)一步分為全局重配置和部分重配置 ^[16-17]^ 。全局重配置對整個FPGA芯片進(jìn)行重新配置。在配置過程中,F(xiàn)PGA由于原始配置信息被清除而處于非正常工作狀態(tài),直到配置信息重新完整寫入,F(xiàn)PGA才能正確工作。因此,從時間軸上看,F(xiàn)PGA工作是不連續(xù)的。全局重配置的優(yōu)勢在于配置過程的實(shí)現(xiàn)十分簡單,不需要分析待測電路所使用的硬件資源,同時其電路評估速度比軟件仿真要快幾個數(shù)量級。
全局重配置的方式也存在重大缺陷,由于每次故障注入時都需要重新配置全部信息,會引入一定的時間開銷,而且時間開銷和配置信息的大小成正比。以Xilinx Zynq 7020為例,配置文件的大小為32.5 Mbit,在工作頻率為100 MHz時,單次配置全部配置信息所需時間為32 ms ;如果對32.5 Mbit里每個比特位均進(jìn)行一次故障注入測試,總計(jì)時間為284 h。
部分重配置則克服了以上缺陷,可選擇部分配置信息進(jìn)行重配置,未重配置的電路不受影響,對應(yīng)的功能仍然可以正常運(yùn)作。由于部分重配置大幅減少了讀寫的配置信息,可顯著縮短重配置時間。
文獻(xiàn)[19]使用Xilinx Virtex系列FPGA作為測試平臺,當(dāng)以全局重配置模式對電路注入故障時,完成單次配置需要169.738 ms。而如果只修改和待測電路相關(guān)的8 frame配置信息,僅需0.424 ms。此外,對于FPGA設(shè)計(jì)的電路,F(xiàn)PGA的利用率一般不會達(dá)到100%,未使用的空閑配置位無需被注入故障,這可以進(jìn)一步減少時間開銷 ^[20]^ 。
基于重配置的故障注入技術(shù)的主要優(yōu)勢是基于FPGA的內(nèi)部功能實(shí)現(xiàn),因此不會對待測電路造成影響,不會產(chǎn)生額外的硬件資源開銷,實(shí)現(xiàn)成本極低,可適用于大規(guī)模電路,且電路評估速度也較為理想。但也存在不足之處,主要體現(xiàn)在3個方面。
其一是待評估的FPGA必須具備重配置功能,限制了FPGA硬件的選擇范圍。其二是每次執(zhí)行故障注入時,需要訪問、修改和重寫配置信息,使得上位機(jī)和待評估FPGA之間會進(jìn)行大量的數(shù)據(jù)交互,相對于FPGA電路的運(yùn)行時間,交互過程產(chǎn)生的時間開銷要高的多。以Xilinx Virtex系列FPGA為例,理論上配置全部比特位所需時間為9.9 ms,但實(shí)際通過計(jì)算機(jī)并口傳輸配置數(shù)據(jù)的過程需要20 s 。
部分重配置減少了信息交互的數(shù)據(jù)量,提高了評估效率,但整體測試的時間開銷中數(shù)據(jù)交互過程仍占有較大比例。其三是主流FPGA的配置信息是加密的,雖然FPGA重配置技術(shù)能夠在電路中注入故障,但是電路出現(xiàn)故障后,由于無法解析主流FPGA的配置信息,所以很難定位到具體的電路節(jié)點(diǎn),給加固設(shè)計(jì)帶來了困難。
3
掃描鏈注入故障
掃描鏈源于可測性設(shè)計(jì)。在可測性設(shè)計(jì)中,首先將寄存器替換為掃描寄存器,然后將多個掃描寄存器相連以形成掃描鏈結(jié)構(gòu),最后以移位寄存器的工作方式將測試激勵寫入掃描鏈的首端,或者將測試響應(yīng)從掃描鏈的末端讀出 。
可視作在普通寄存器結(jié)構(gòu)上添加了一個2選1數(shù)據(jù)選擇器。掃描寄存器有兩個工作模式,工作模式的切換由信號Scan_en決定。當(dāng)Scan_en不使能時,掃描寄存器為正常工作模式,此時功能等同于常規(guī)的D寄存器,采樣輸入端D的電平并輸出。當(dāng)Scan_en使能時,寄存器切換為掃描模式,此時可通過Scan_in輸入故障數(shù)據(jù)以模擬單粒子翻轉(zhuǎn)效應(yīng) 。
將當(dāng)前掃描寄存器的輸出端Q和下一級掃描寄存器輸入端Scan_in連接起來,就構(gòu)成了掃描鏈。掃描鏈結(jié)構(gòu)如圖3所示,基于掃描寄存器的結(jié)構(gòu)和工作原理可推導(dǎo)出,Scan_en不使能時,電路正常工作。Scan_en使能時,可以通過移位將故障數(shù)據(jù)串行輸入到任意寄存器的Scan_in端,最終實(shí)現(xiàn)對任意寄存器注入故障以模擬單粒子翻轉(zhuǎn)效應(yīng)。
在實(shí)現(xiàn)掃描鏈注入故障電路時,掃描鏈的結(jié)構(gòu)不是固定的,不同的掃描鏈電路產(chǎn)生的資源開銷和故障注入速度也不同。文獻(xiàn)[23]設(shè)計(jì)了3種不同的掃描鏈電路來實(shí)現(xiàn)故障注入,其中開銷最大的電路和開銷最小的電路資源開銷相差近3倍,但單次故障注入時間減少了數(shù)微秒,雖然速度區(qū)別不大,但在大規(guī)模電路測試中能節(jié)約的時間開銷極為可觀。因此測試人員可根據(jù)測試平臺提供資源(寄存器和數(shù)據(jù)選擇器等)的大小和實(shí)際可達(dá)到的注入速度權(quán)衡使用合適的掃描鏈電路。
掃描鏈技術(shù)的優(yōu)勢在于可適用于任意規(guī)模電路的測試,也可用于ASIC電路的評估,同時不受FPGA測試平臺的限制。故障注入速度最快可達(dá)到微秒級別,相對于重配置技術(shù)有了進(jìn)一步的提高。由于掃描鏈的插入對象可以是任意觸發(fā)器,因此故障注入后電路敏感節(jié)點(diǎn)的定位精度也較高。其最主要的缺陷是會產(chǎn)生額外的資源開銷,且額外開銷會隨著電路規(guī)模的增大而增加。此外,為了能夠正確定位電路對單粒子翻轉(zhuǎn)效應(yīng)的敏感區(qū)域,串行移位時鐘的頻率還不能較高,這樣使得掃描鏈串行移位的時間開銷顯得頗為可觀,需要在掃描鏈長度和評估速度上做出折衷。
最后,值得指出的是,掃描鏈技術(shù)在故障數(shù)據(jù)傳輸過程中存在和重配置技術(shù)一樣的問題。文獻(xiàn)[24]中提到所設(shè)計(jì)掃描鏈的單次故障注入速度為1 μs左右,但受串口傳輸?shù)南拗?,每次故障激勵?shù)據(jù)的下發(fā)需要3.84 ms,因此接口的傳輸速率成為制約速度的主要因素。文獻(xiàn)[22]中每次注入故障時需要主機(jī)和FPGA進(jìn)行故障數(shù)據(jù)交互過程,頻繁地通信導(dǎo)致故障注入速度偏慢。文獻(xiàn)[23]針對數(shù)據(jù)通信過程進(jìn)行了優(yōu)化,將測試電路所需的故障激勵數(shù)據(jù)一次性全部發(fā)送到FPGA的存儲區(qū),隨后FPGA內(nèi)部自動執(zhí)行全部測試過程,主機(jī)和FPGA只需在起始階段通信一次,減小了數(shù)據(jù)通信的時間開銷,故障注入速度相對于文獻(xiàn)[22]提高了2個數(shù)量級。
-
FPGA
+關(guān)注
關(guān)注
1625文章
21628瀏覽量
601261 -
半導(dǎo)體
+關(guān)注
關(guān)注
334文章
26875瀏覽量
214438 -
電平
+關(guān)注
關(guān)注
5文章
357瀏覽量
39813 -
器件
+關(guān)注
關(guān)注
4文章
302瀏覽量
27763
發(fā)布評論請先 登錄
相關(guān)推薦
評論