?

面向FPGA的故障注入測試技術研究*

2018-12-20 06:47王艷軍姜婷婷張峻瑋
湘潭大學自然科學學報 2018年4期
關鍵詞:故障注入觸發器管理器

王艷軍,姜婷婷,張峻瑋

(1.91404部隊 軟件測評中心,河北 秦皇島 066001;2.江蘇自動化研究所 信息技術部,江蘇 連云港 222002)

近年來,集成電路已經融入我們的生活之中,如汽車、手機、熱水器.軍工方面集成電路被廣泛應用于航天、船舶領域[1].集成電路的廣泛應用要求其有較高的可靠性與實時約束性.可靠性評估常用的方法有兩種:輻射測試和故障注入[2-5].輻射測試可以比較真實地模擬空間環境,但是成本高昂,并且實驗周期較長[6].故障注入是一種評價重要的評估微處理器和尋找決定可靠性參數的方法.故障注入方法大致可以分為4類[7]:① 硬件故障注入;② 軟件故障注入;③ 模擬故障注入;④ FPGA故障注入.相對于硬件故障注入與軟件故障注入[8],模擬故障注入有更好的可觀察性和可控制性,但模擬故障注入耗時高,FPGA故障注入既能保證不錯的可控制性和可觀察性,還可以加快故障注入測試.因此基于FPGA的故障注入具有重要的研究價值.

目前,基于FPGA的故障注入方法研究主要著眼于兩個方面:基于配置技術的研究及基于儀表技術的研究.基于配置技術的FPGA故障注入主要是通過修改FPGA的配置數據,進行故障注入實驗來達到故障注入的目的.例如王鵬等[9]根據FPGA配置幀的結構特點,對其進行分區測試,分析配置存儲器中的敏感位,找到FPGA配置幀中最為敏感的區域,設計了故障注入測試系統,并進行了試驗驗證.基于儀表技術的FPGA故障注入技術主要是通過在原來電路上加上額外的電路進行故障注入.這兩種方法都存在一定的問題.首先,基于配置技術的FPGA故障注入雖然注入過程可控制性和可觀察性都很高,但FPGA需要進行重新配置,時間開銷大.而基于儀表技術的FPGA故障注入雖然不需要增加時間開銷,但需要增加額外的空間開銷.為移除主機與FPGA間的交互時間,加速故障注入測評實驗,本文提出一種面向FPGA的故障注入測試框架,實現面向FPGA的故障注入技術研究.

1 故障模型

人類的生活環境中充滿了宇宙射線、太陽的粒子輻射、電磁輻射等[7].在輻射環境中,集成電路容易受到影響[10-13],發生單粒子效應.單粒子效應可以劃分為單粒子翻轉(single event upset,SEU)、單粒子閂鎖(single event latch-up,SEL)等[14-15].為了注入SEU缺陷,在元電路中增加額外的電路,如圖1所示,當設置FIS為高電平時,原輸入信號數據進行反轉,反轉后的數值將被輸入觸發器中.這種方法的好處是在每次進行故障注入時不用進行中斷處理,更符合實際應用需求.

2 故障注入測試架構

如圖2所示,面向FPGA的故障注入測試架構主要包含3個模塊.

① 故障注入管理模塊:這個模塊負責在需要進行故障注入時將FIS置1并觸發觀察模塊.

② 觀察模塊:當觀察模塊被觸發后,觀察模塊開始從觀察點記錄數據,該功能通過觀察電路實現.

③ 結果分析模塊:當觀察模塊記錄到兩組實驗后開始觸發結果分析模塊.其中,第一組是無故障運行實驗,第二組是故障注入實驗.結果分析模塊比較兩個實驗的觀察結果,并報告測試結果.

2.1 故障注入管理

故障注入模塊負責管理和執行故障注入測試實驗.該模塊在剛開始時設置故障注入定時器.設置定時器后,模塊開始計數直到達到預定的故障注入時間.最后,決定是否進行故障注入(通過設置FIS來實現).在這里,交替運行故障注入實驗和無故障運行(無故障注入)實驗.無故障運行實驗結果作為實驗比較的基準.在實際操作時,也可以在幾個時鐘周期內進行無故障運行實驗.設置相同的輸入波形和時鐘周期,運行故障注入實驗.這樣的好處是可以避免記錄所有的故障、無故障數據.

2.2 觀察

當觀察模塊被觸發后,模塊開始從觀察點記錄數據,觀察電路如圖3所示.在實驗中,無故障運行和故障實驗交替運行,用無故障運行觸發器來區分它們.無故障運行和故障運行實驗一共會產生兩種路徑.用加法電路將新觀察到的結果與原先觀察到的結果相加.這里用加法器的原因是如果觀察的數據與無故障運行結果不同,它會影響到加法結果,并且更容易產生兩組不同的結果.

我們通常假設故障注入會維持幾個時鐘周期,這樣我們僅需要記錄這幾個時鐘周期的數據,便能大大加速故障注入實驗.

2.3 結果分析

當觀察模塊記錄到兩組實驗后開始觸發結果分析模塊.它僅比較無故障運行與故障寄存器,然后提取故障統計信息.它的工作主要是找出兩組數據中的不同值,并進行統計.

3 故障注入過程

(1) 故障注入管理器設置定時器與無故障觸發器.故障注入管理器首先檢查無故障觸發器,如果它為1,根據故障注入時間與實驗時間為定時器設置新值.如果觸發器為0,定時器保持在之前無故障運行時的數值.(2) 故障注入定時器開始進行定時,直到數值變為0.(3) 故障定時器變成0后,故障注入管理器開始檢查無故障觸發器,如果它是0,故障注入管理器將FIS置為1.(4)故障注入管理器觸發觀察模塊,觀察模塊設置觀察計時器并且開始記錄觀察值.觀察計時器決定觀察電路的觀察時間.(5)如果觀察時間變成0,檢查無故障觸發器為0還是為1.如果無故障觸發器為1,觀察模塊將無故障觸發器清空,執行過程將從步驟(1)重新開始.

4 結論

首先,通過幾種故障注入方法的對比分析,強調了基于FPGA的故障注入方法研究的重要性;其次,提出了一種面向FPGA的故障注入測試框架架構,包括管理、觀察及結果分析等模塊;最后,對故障注入過程進行了詳細介紹,并給出相關結論.在后續工作中,將進一步對該注入方法進行研究,將其擴展到其他領域,爭取應用到復雜裝備系統的故障注入研究.

猜你喜歡
故障注入觸發器管理器
模擬訓練裝備故障注入系統研究
淺談時序邏輯電路的成長記憶
啟動Windows11任務管理器的幾種方法
應急狀態啟動磁盤管理器
SM4算法前四輪約減輪故障注入分析
Windows文件緩沖處理技術概述
一種多類型總線故障注入系統設計*
觸發器在酒店管理系統中的應用
列車MVB總線故障注入研究
幾種常見觸發器工作方式的討論
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合