《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于分區(qū)測試的翻轉故障注入方法研究
基于分區(qū)測試的翻轉故障注入方法研究
2017年電子技術應用第8期
王 鵬1,張道陽1,2,蘆 浩1,薛茜男1
1.中國民航大學 天津市民用航空器適航與維修重點實驗室,天津300300; 2.中國民航大學 安全科學與工程學院,天津300300
摘要: 針對航空器中SRAM型FPGA的單粒子翻轉效應故障注入研究越來越重要的趨勢,提出基于分區(qū)測試的翻轉故障注入方法。根據FPGA配置幀的結構特點,對其進行分區(qū)測試,分析配置存儲器中的敏感位,找到FPGA配置幀中最為敏感的區(qū)域?;趧討B(tài)可重構技術設計了故障注入測試系統(tǒng),并進行了試驗驗證。測試結果表明,該方法具有較好的準確率,且能夠大大提高翻轉故障注入測試的測試效率。
中圖分類號: TN47
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.170808
中文引用格式: 王鵬,張道陽,蘆浩,等. 基于分區(qū)測試的翻轉故障注入方法研究[J].電子技術應用,2017,43(8):88-91.
英文引用格式: Wang Peng,Zhang Daoyang,Lu Hao,et al. The research of flip-flop fault injection method based on partition test[J].Application of Electronic Technique,2017,43(8):88-91.
The research of flip-flop fault injection method based on partition test
Wang Peng1,Zhang Daoyang1,2,Lu Hao1,Xue Qiannan1
1.Tianjin Key Laboratory for Civil Aircraft Airworthiness and Maintenance,Civil Aviation University of China, Tianjin 300300,China; 2.College of Safety Science & Engineering,Civil Aviation University of China,Tianjin 300300,China
Abstract: With the increasingly important trend on fault injection of single event upset for SRAM-based FPGAs in aircraft, a method of flip-flop fault injection based on partition test was proposed. According to the structural characteristics of the FPGA configuration frame, partition test is done, the sensitive bits of the configuration memory are analyzed,and the most sensitive area of the FPGA configuration frame is found. This paper designs a test system of fault injection based on dynamic reconfiguration, and verifies it by experiments. The test results show that this method has good accuracy and can greatly improve the efficiency of the flip-flop fault injection test.
Key words : partition test;fault injection;FPGA;flip-flop fault

0 引言

    隨著航電技術不斷發(fā)展,對信號處理能力、處理器及集成電路的要求越來越高,由于SRAM型FPGA具有高性能、可重復編程的特點,使得其在航空領域的應用越來越廣泛[1]。航空器在飛行期間,航空電子設備一直處于大氣層中的帶電粒子輻射環(huán)境中,隨著應用在航空電子設備中芯片的集成度越來越高,以前主要集中在航天領域的單粒子效應問題,在航空領域出現的幾率也越來越高,其中的SRAM型FPGA對大氣中帶電粒子更是十分敏感,很容易產生單粒子翻轉效應[2]。但是在航空領域對單粒子效應的研究卻相對較少。歐美航空局方已明確提出[3],應考慮機載電子硬件的翻轉故障,并采取相應的措施。因此,對于應用在航空環(huán)境中的電子設備,必須要對其進行單粒子翻轉效應的測試,確保其設計的可靠性滿足要求。

    目前,國內外對基于FPGA的單粒子翻轉故障注入測試方法展開了眾多研究。國外YOSHIHIRO I等人提出了一種基于幀的局部可重構方法[4],能夠快速地對SRAM型FPGA進行故障注入。此外ELYAS A G等人提出一種故障注入框架設計[5],評估FPGA設計的可靠性。國內在該領域起步較晚,但是也已經有了很大的進展。北京航空航天大學的宋凝芳等人設計一種逐位翻轉故障注入方法[6],按照逐位進行故障注入,但是逐位翻轉會占用許多時間。朱明達等人則提出對SRAM型FPGA進行單粒子翻轉的定位故障注入方法[7],但是未能對故障注入后的FPGA設計功能危害性進行評估,因此實際的測試效果還需要進一步分析。

    本文提出一種基于分區(qū)測試的翻轉故障注入方法,將被測FPGA程序的配置幀分成若干區(qū)域,根據Xilinx Virtex的結構特性,采用動態(tài)重配置的配置方法,對劃分出來的每個區(qū)域中的配置幀進行翻轉故障注入測試,分析其中每個區(qū)域對FPGA功能的影響。

1 故障注入測試系統(tǒng)實現

    本文的故障注入測試系統(tǒng)是基于動態(tài)重配置方法實現,總體結構包含硬件部分和軟件部分,系統(tǒng)結構如圖1所示。

ck5-t1.gif

    故障注入測試系統(tǒng)的硬件部分基于FPGA搭建,硬件平臺是整個測試系統(tǒng)的關鍵部分,承載整個測試系統(tǒng)的運行。故障注入測試系統(tǒng)的硬件設計包括:主控FPGA模塊、被測FPGA設計模塊、配置數據存儲模塊、被測設計存儲模塊。根據動態(tài)重配置方法,采用兩片FPGA設計,一片FPGA用于控制整個測試系統(tǒng)的運行,采用Altera FPGA Cyclone-III系列EP3C16;另一片FPGA作為被測芯片,采用Xilinx FPGA Virtex-II系列XC2V40。

    主控FPGA模塊是故障注入測試系統(tǒng)的核心,該模塊用來對被測FPGA模塊進行翻轉故障注入以及記錄被測設計功能出錯的錯誤位,同時與故障注入軟件控制模塊進行數據交互。被測FPGA設計模塊用于加載待測試的FPGA設計,主控FPGA通過SelectMAP方式對被測FPGA進行故障注入。配置數據存儲模塊,用于存放主控FPGA設計以及被測FPGA設計的prom格式配置文件,上電自動配置對應的FPGA。被測設計存儲模塊用于存放被測FPGA的.mcs格式配置文件,主控FPGA會根據接收到初始配置數據提取指令,提取該存儲模塊中的配置數據存放至片外SRAM中。

    故障注入測試系統(tǒng)的軟件部分基于LabVIEW平臺開發(fā),作為故障注入工具,用來實現故障注入功能,同時也具有故障顯示以及數據分析功能,用于控制整個故障注入測試過程,通過串口與主控FPGA相連接進行數據指令交互。其主要功能包括:指令控制、數據分析、測試結果保存、故障顯示。

2 故障注入測試及結果分析

2.1 翻轉故障被測對象

    本文的被測芯片為Virtex-II XC2V40。實驗對兩種電路進行單位翻轉故障注入測試分析,并且還分別對兩種電路進行三模冗余(Triple Modular Redundancy,TMR)加固后重新測試。測試內容分為TMR加固效果測試和對XC2V40的配置存儲器進行分類測試。

    采用的被測電路有4個,分別為:移位寄存器電路(Shift)、經過三模冗余設計的移位寄存器電路(Shift_TMR)、FIFO電路(FIFO)和經過三模冗余設計的FIFO電路(FIFO_TMR)。

2.2 翻轉故障注入實驗

    本次測試主要從3個方面進行考察:(1)被測電路敏感位信息;(2)對FPGA配置幀進行分區(qū)測試;(3)TMR加固效果。

    敏感位測試是本次測試的一個重要測試內容,敏感位也即錯誤位,這些錯誤位直接導致FPGA程序的功能產生錯誤。FPGA在受到粒子輻照后,這些內部的能夠導致FPGA程序功能出錯的敏感位很有可能產生位翻轉,而一旦產生翻轉則必將對FPGA程序的功能產生影響。因此對一個FPGA程序,其敏感位的確定對于抗輻射設計來說是尤為重要的信息,如果能夠知道這些敏感位的準確位置,便可以對這些敏感位所對應的程序進行相關的防護措施,避免FPGA設計的功能產生故障,保證其設計的可靠性。測試程序Shift和shift_TMR的敏感幀地址信息分別如圖2和圖3所示。

ck5-t2+t3.gif

    通過本故障注入測試系統(tǒng)對Shift、Shift_TMR、FIFO和FIFO_TMR這幾個測試程序進行翻轉故障注入后,檢測到了被測程序的輸出與期望的輸出結果不一致,這就表明這幾個被測程序在故障注入測試過程確實產生功能故障。故障注入測試系統(tǒng)在檢測到故障產生的同一時間記錄了產生故障的配置位地址信息,表明本設計系統(tǒng)能夠對故障進行相對應的記錄。圖2和圖3顯示了部分的敏感位地址信息,通過幀地址和該幀中的錯誤位便可以查詢到具體的出錯地址。

2.2.1 被測電路的敏感位

    根據上述的測試流程對4個測試電路分別進行翻轉故障注入測試,首先對4個測試電路進行全幀故障注入測試,最終的測試結果統(tǒng)計如表1。

ck5-b1.gif

    根據測試得到的數據可以計算出系統(tǒng)的錯誤率Rerror以及功能失效率λ[7],計算公式如式(1)和式(2):

ck5-gs1-2.gif

    從表1可以看出,引起被測FPGA設計的錯誤位置分布在不同的區(qū)域中,在各個區(qū)域中所占的比例也有所不同。

    (1)從表1中統(tǒng)計的錯誤信息可以看出,經過三模冗余加固的Shift和FIFO設計,其IOB和IOI部分的配置幀錯誤未能得到改善,并且錯誤數目以及錯誤位置沒有改變。

    (2)對Shift、Shift_TMR、FIFO和FIFO_TMR這4個被測FPGA設計進行翻轉故障注入測試,最終得到的大部分敏感位都在CLB中,GCLK、IOB、IOI、BRAM和BRAM Int這幾類幀中只存在少數錯誤位,CLB中敏感位占全部敏感位的比例分別為93.35%、88.68%、86.84%和70.59%,可見CLB對整個設計的影響是最主要的。從資源的分配來看,CLB所占的比例也是最大,GCLK、IOB和IOI所占的比例很少。結合得到的敏感位置,就三模冗余加固而言,可以忽略GCLK、IOB、IOI、BRAM和BRAM Int這幾類幀的影響,重點關注CLB,主要考察該部分幀即可。

    (3)經過三模冗余加固的被測設計,其出錯的數目明顯少于未經過三模冗余的被測設計,被測shift設計和shift_TMR設計產生的錯誤分別為189個和53個,其錯誤率分別為2.04%和0.57%;被測FIFO設計和FIFO_TMR設計產生的錯誤分別為38個和17個,其錯誤率分別為0.41%和0.18%;從這些數據可以說明三模的加固效果還是較好的,能夠對單位翻轉起到一定的防護作用。

2.2.2 分區(qū)測試結果

    分區(qū)測試是將FPGA中的配置存儲器分成若干的不同區(qū)域,然后對這些不同的區(qū)域單獨進行故障注入測試。本測試將配置存儲器分為4個區(qū)域,如表2所示。通過對配置幀進行分區(qū)翻轉故障注入測試的測試結果如表3所示。

ck5-b2.gif

ck5-b3.gif

    被測Shift設計的CLB配置存儲器中錯誤位存在于CLB1中,錯誤的數目為184個;被測shift_TMR設計的CLB配置存儲器中錯誤位存在于CLB1中,其錯誤數目為47個。

    被測FIFO設計的CLB配置存儲器中錯誤位存在于CLB1和CLB2中,其錯誤數目分別為19個和14個;被測FIFO_TMR設計的CLB配置存儲器中錯誤位存在于CLB1中,其錯誤位數為12個。從測試結果可以看出,敏感位主要集中在幀地址范圍為30~117幀中。

2.2.3 分區(qū)測試法結果分析

    本文提出的分區(qū)測試方法,集中測試幀地址范圍為30~117幀的區(qū)域,并將測得的敏感位數進行擬合計算,擬合結果如式(3):

    ck5-gs3.gif

其中,total1為采用分區(qū)測試法得到的敏感位;NCLB1為CLB1中測得的敏感位;NGBI為GBI這幾類幀測得的敏感位。

    最終用分區(qū)測試法得到的結果total1與總的測試結果total進行比較,如表4所示。

ck5-b4.gif

    表4表明,分區(qū)測試法得到的結果與沒有進行分區(qū)測試法得到的結果非常接近。根據分區(qū)測試法,被測Shift設計根據分區(qū)測試法得到的結果準確度為100%;被測Shift_TMR設計根據分區(qū)測試法得到的結果準確度為98%;被測FIFO設計根據分區(qū)測試法得到的結果準確度為63%;被測FIFO_TMR設計根據分區(qū)測試法得到的結果準確度為100%。可以看出,采用分區(qū)測試法得到的結果能夠準確地表示出整個測試結果。

2.3 可靠度曲線

    本文采用常規(guī)的TMR來作為防輻射設計。根據式(1)和式(2),通過軟件計算得到錯誤率和失效率。根據得到的失效率計算電路的可靠度R(t),如式(4):

    ck5-gs4.gif

其中,t為時間,R(t)為系統(tǒng)可靠度。

    通過式(4)繪制出被測Shift電路和被測Shift_TMR電路的可靠度曲線,如圖4所示。

ck5-t4.gif

    從表1中得知被測Shift設計和Shift_TMR設計的失效率分別為8.32×10-5和2.33×10-5;被測FIFO設計和FIFO_TMR設計的失效率分別為1.67×10-5和7.48×10-6;通過分區(qū)測試法計算得到幾個測試程序的失效率如表4,被測shift設計和shift_TMR設計的失效率分別為8.32×10-5和2.32×10-5;被測FIFO設計和FIFO_TMR設計的失效率分別為1.07×10-5和7.48×10-6??梢钥闯霾捎萌H哂嗉庸淘O計后的程序其失效率要比未采用三模冗余設計程序的失效率低很多,系統(tǒng)出錯的可能性也就低了許多。通過圖4看出,分區(qū)測試法得到的結果與未經過分區(qū)測試法的測得的結果很接近,表明本文提出的分區(qū)測試法有著較好的準確性。從可靠度曲線也可以看出,采用三模冗余的FPGA設計的可靠度要高出許多,系統(tǒng)的可靠性更好。

3 結語

    本文基于FPGA動態(tài)重配置方法,針對FPGA內部配置幀提出了一種分區(qū)測試方法,該方法旨在定位FPGA配置數據中的敏感位,能夠幫助程序設計人員更加便捷有效地進行翻轉故障注入測試。本文提出的基于分區(qū)測試的翻轉故障注入方法,能夠對FPGA的配置幀劃分不同區(qū)域進行翻轉故障注入測試,發(fā)現在不同的FPGA電路設計中其配置數據的分布也是不盡相同。測試結果發(fā)現配置幀中GCLK、IOB和IOI這幾類幀中的錯誤位相對較少,也不容易變化,可能與所分配FPGA的管腳有關。在所有的配置幀中,CLB這類幀產生的敏感位最多,通過對CLB分區(qū)測試發(fā)現敏感位主要集中在CLB1幀中,且GBI中的敏感位數較固定。因此對于本次使用的測試FPGA程序只需對幀地址范圍為30~117幀進行翻轉故障測試,再進行擬合計算,即可得到被測設計的翻轉失效率。該方法既能節(jié)約測試時間,也能保證測試結果的準確性。在對兩個測試程序進行TMR加固設計后發(fā)現,其CLB幀中的敏感位大大減少,錯誤率和失效率降低許多,程序的可靠性明顯提高,說明TMR對CLB幀中的加固有一定作用。

參考文獻

[1] BANERJEE P,SANGTANI M,SUR-KOLAY S.Floor planning for partially reconfigurable FPGAs[J].Computer-Aided Design of Integrated Circuits and Systems,IEEE Transactions on,2011,30(1):8-17.

[2] 鄧先坤,肖立伊,李家強.SRAM型FPGA的SEU故障注入系統(tǒng)設計[J].微電子學與計算機,2014,31(3):134-137.

[3] RTCA/DO-254.Design assurance guidance for airborne electronic hardware[S].2010.

[4] YOSHIHIRO I,KOHEI T,MOTOKI A.Accelerated evaluation of SEU failure-in-time using frame-based partial reconfiguration[C].Field-Programmable Technology,2012 International Conference on,2013:220-223.

[5] ELYAS A G,ZANA G,SEYED G M.A non-intrusive portable fault injection framework to assess reliability of FPGA-based designs[C].Field-Programmable Technology,2013 International Conference on,2014:398-401.

[6] 宋凝芳,秦姣梅,江云天,等.SRAM型FPGA單粒子效應逐位翻轉故障注入方法[J].北京航空航天大學學報,2012,38(10):1285-1289.

[7] 朱明達.SRAM型FPGA單粒子翻轉故障定位注入研究[J].電光與控制,2016,23(11):134-137.

[8] YUI C,SWIFT C,CARMICHAEL C.Singel event upset susceptibility testing of the Xilinx Virtex Ⅱ FPGA[C].Military and Aerospace Applications of Programmable Devices and Technologies Conference(MAPLD),2002:212-217.



作者信息:

王  鵬1,張道陽1,2,蘆  浩1,薛茜男1

(1.中國民航大學 天津市民用航空器適航與維修重點實驗室,天津300300;

2.中國民航大學 安全科學與工程學院,天津300300)

此內容為AET網站原創(chuàng),未經授權禁止轉載。