一種快速低開銷全自動數字集成電路單粒子故障注入系統的製作方法
2023-10-25 02:24:02 1

本發明涉及一種快速低開銷全自動數字集成電路單粒子故障注入系統,屬於半導體集成電路抗空間單粒子效應能力驗證技術領域。
背景技術:
複雜的空間環境中包含了大量的粒子(電子、中子、質子和重離子)和射線。這些輻射粒子會引起半導體器件發生單粒子效應,使半導體器件狀態發生擾動或永久性失效。數字集成電路在應用於航天設備之前,需要在地面上評估數字集成電路內部單元和節點的抗單粒子性能,地面上通常依靠重離子加速器來模擬單粒子試驗。近年來由於進行輻射試驗的加速器機時減小,成本增高,數字集成電路的抗單粒子性能的驗證變得更加困難,已經對航天用關鍵器件的研製造成一定程度的影響。由於單粒子故障注入技術能夠有效的評估數字集成電路的單粒子敏感性,越來越受到人們的重視。現如今單粒子故障注入實施方案主要分為硬體注入和仿真實現兩方面,由於電路封裝和集成度的限制,硬體故障注入的覆蓋率不足並且會對電路本身產生不可預估的損害,而基於仿真實現的單粒子故障注入方法由於其快捷、成本低,可以在電路設計的整個過程中評估單粒子性能等優勢成為了單粒子故障注入研究的熱點。
現有的基於仿真的數字集成電路單粒子故障注入方法存在以下兩個不足:一方面是系統的智能性不夠,在單粒子故障注入試驗的過程中需要試驗者手動的進行很多操作,嚴重的影響了試驗進程。例如:不能夠自動生成含有故障接口的目標電路網表、與商用仿真軟體的通用性不好、與實際空間輻照情況連接程度不高,不能自動實現單粒子故障注入;另一方面由於數字集成電路的規模通常會很大,一款普通的asic電路至少會有一百萬個電路節點,有時甚至需要對所有的電路節點都完成故障注入,因而對進行單粒子故障注入試驗的計算機性能的要求苛刻。
技術實現要素:
本發明的技術解決問題是:克服現有技術的不足,提供一種快速低開銷全自動數字集成電路單粒子故障注入系統,實現了全自動的單粒子故障注入,降低了對大規模數字集成電路進行單粒子故障注入試驗的計算機性能的要求。
本發明的技術解決方案是:一種快速低開銷全自動數字集成電路單粒子故障注入系統,包括人機操作界面、故障電路網表代碼生成模塊、功能向量和故障信號隨機產生模塊、仿真統計和計算輸出模塊;
人機操作界面:接收用戶輸入的目標電路網表文件以及參數設置信息,並輸出給故障注入器;顯示故障注入器返回的實時信息;
故障電路網表代碼生成模塊:接收來自人機操作界面的目標電路網表文件,進行verilog門級網表詞法分析,生成帶有n個故障注入埠的故障電路網表文件,輸出給仿真統計和計算輸出模塊;
功能向量和故障信號隨機產生模塊:對每種工作模式下的測試向量文件進行故障注入的相關配置,生成帶有故障注入信息的測試向量文件以及用於仿真的宏文件,輸出給仿真統計和計算輸出模塊;
仿真統計和計算輸出模塊:根據故障電路網表文件、帶有故障注入信息的測試向量文件以及仿真軟體自動執行的宏文件,對目標電路進行故障注入仿真,並對每次故障注入仿真前後的電路運行結果進行對比,根據故障類型庫把每次的對比結果進行分類與匯總統計,並將對比結果和分類與匯總統計結果返回給人機操作界面。
所述故障電路網表代碼生成模塊生成帶有n個故障注入埠的故障電路網表文件的實現方法如下:
(2.1)將來自人機操作界面的目標電路網表文件,轉化成基於庫單元的門級電路網表文件;
(2.2)在基於庫單元的門級電路網表文件的模塊聲明部分,定義故障注入埠;
(2.3)在基於庫單元的門級電路網表文件中,為故障注入埠添加屬性信息,所述屬性信息包括埠類型以及與其他埠連接關係,埠類型為輸入埠或輸出埠;
(2.4)按照步驟(2.2)和(2.3),選擇一個庫單元,在目標電路上添加故障注入埠,並根據該故障注入埠與其他埠的連接關係,搭建臨時連接線網;
(2.5)判斷是否完成了所有故障注入埠的添加,如果完成,返回故障注入埠的總數,進入步驟(2.6);否則跳轉到(2.4),重新選擇未添加故障注入埠的庫單元進行故障注入,直到完成所有故障注入埠的添加;
(2.6)生成帶有n個故障注入埠的故障電路網表文件。
所述功能向量和故障信號隨機產生模塊生成帶有故障注入信息的測試向量文件以及仿真軟體自動執行的宏文件的實現過程為:
(3.1)根據來自人機操作界面的參數設置信息獲取目標電路不同工作模式下的測試向量、時序約束信息;
(3.2)選擇一種工作模式,對測試向量文件進行故障注入配置,生成帶有故障注入信息的測試向量文件,所述故障注入配置包括對故障注入的電路節點、故障注入時間、故障注入的持續時間、故障注入的次數設置隨機函數;
(3.3)重複步驟(3.2),直到完成對所有工作模式的故障注入配置,對生成的各個測試向量文件進行保存;
(3.4)根據目標電路故障注入的仿真流程,生成用於仿真的宏文件。
所述仿真統計和計算輸出模塊的實現方式如下:
(4.1)仿真統計和計算輸出模塊對沒有任何故障注入的目標電路進行仿真,得到沒有進行故障注入的仿真結果;
(4.2)根據故障電路網表文件、帶有故障注入信息的測試向量文件以及用於仿真的宏文件,對目標電路進行故障注入仿真;
(4.3)把每次進行故障注入後的仿真結果和沒有進行故障注入的仿真結果進行對比分析;
(4.4)根據故障類型庫把每次進行故障注入後的對比結果進行分類鑑別與匯總統計,將對比結果和分類與匯總統計結果返回給人機操作界面;
(4.5)刪除本次進行故障注入生成的仿真文件;
(4.6)根據帶有故障注入信息的測試向量文件以及用於仿真的宏文件,判斷是否完成所有類型的故障注入,如果是則結束,否則返回步驟(4.2)。
本發明與現有技術相比有益效果為:
(1)本發明利用正則表達式對電路網表文件進行了詞法分析,實現了故障注入埠的自動添加,利用tcl語言實現了商用軟體的自動控制和調用,根據實際的空間輻照環境設置了故障注入的隨機函數,最終實現了單粒子故障注入的全自動進行。
(2)本發明在故障注入的仿真過程中對生成的過程文件進行了自動識別和實時刪除,解決了仿真過程中內存爆炸問題,減小了對用於仿真的計算機的性能要求。
附圖說明
圖1是本發明系統的結構原理圖;
圖2是本發明故障電路網表代碼生成模塊的實現流程圖;
圖3是本發明功能向量和故障隨機信號產生模塊的實現流程圖;
圖4是本發明仿真統計和計算輸出模塊的實現流程圖;
具體實施方式
考慮到進行大規模集成電路單粒子故障注入時智能化程度不夠,並且對故障注入的計算機大內存、高性能的要求,提供一種快速低開銷全自動數字集成電路單粒子故障注入系統。該系統在靈活的分析硬體程式語言的基礎上能夠實現對庫單元中所有單元類型的全自動的故障注入,並且實時的處理故障注入過程中生成的過程文件,減小了用於故障注入的計算機的負載,實現了全自動的單粒子故障注入。
圖1為本發明的結構原理圖。本發明裝置包括人機操作界面、故障注入器、tcl接口協議模塊和商用軟體模塊;其中故障注入器包括故障電路網表代碼生成模塊、功能向量和故障信號隨機產生模塊、仿真統計和計算輸出模塊。
用戶通過人機操作界面載入目標電路網表文件、故障類型庫、不同模式下的參數設置信息,通過人機操作界面輸出給故障注入器。顯示故障注入器返回的實時信息。其中故障類型庫中包括故障的各種類型,如單粒子功能中斷、單粒子翻轉等。
故障電路網表代碼生成模塊:接收來自人機操作界面的目標電路網表文件,進行verilog門級網表詞法分析,生成帶有n個故障注入埠的故障電路網表文件,輸出給仿真統計和計算輸出模塊。
如圖2所示,生成帶有n個故障注入埠的故障電路網表文件的具體實現過程如下:
(2.1)將來自人機操作界面的目標電路網表文件,轉化成基於庫單元的門級電路網表文件;
(2.2)在基於庫單元的門級電路網表文件的模塊聲明部分,定義故障注入埠;
(2.3)在基於庫單元的門級電路網表文件中,為故障注入埠添加屬性信息,其中屬性信息包括埠類型以及與其他埠連接關係,埠類型為輸入埠或輸出埠;
(2.4)按照步驟(2.2)和(2.3),選擇一個庫單元,在目標電路上添加故障注入埠,並根據該故障注入埠與其他埠的連接關係,通過與非門(xor)和內部連接線網來實現與其他埠的連接;
(2.5)判斷是否完成了所有故障注入埠的添加,如果完成,返回故障注入埠的總數,進入步驟(2.6);否則跳轉到(2.4),重新選擇未添加故障注入埠的庫單元進行故障注入,直到完成所有故障注入埠的添加;
(2.6)生成帶有n個故障注入埠的故障電路網表文件。
在上述過程中,利用正則表達式對目標電路網表文件進行了詞法分析,實現對關鍵字的精確查找。
功能向量和故障信號隨機產生模塊:對每種工作模式下的測試向量文件進行故障注入的相關配置,生成帶有故障注入信息的測試向量文件以及仿真軟體自動執行的宏文件,輸出給仿真統計和計算輸出模塊。
如圖3所示,生成帶有故障注入信息的測試向量文件以及仿真軟體自動執行的宏文件的實現過程為:
(3.1)根據來自人機操作界面的參數設置信息獲取目標電路不同工作模式下的測試向量、時序約束信息;
(3.2)選擇一種工作模式,對測試向量文件進行故障注入配置,生成帶有故障注入信息的測試向量文件,所述故障注入配置包括對電路不同的故障注入節點設置隨機函數、對故障輸入時間設置隨機函數、對故障的持續時間設置隨機函數、對故障注入的次數設置隨機函數;其中隨機函數主要通過不同的輻射強度、不同功能模式下電路內部單元的利用效率來實現,從而實現與實際空間環境輻射強度的連接。
對電路不同的故障注入節點設置隨機函數:i=(δu,δo)*rand(j);
其中i為待注入節點的序號,δu為某一庫單元在不同工作模式下的利用因子,δo為某一庫單元在目標電路所佔的比例係數,rand為仿真軟體提供的隨機函數,j為待注入節點的總個數。
對故障的持續時間設置隨機函數:t=(δlet,δp,δb)*rand(t0);
其中t為故障注入的持續時間,δlet為線性轉移能量影響因子,δp為工藝參數影響因子,δb為脈衝展寬效應影響因子,t0為初始的故障持續時間,設置為1ns;rand為仿真軟體提供的隨機函數。
(3.3)重複步驟(3.2),直到完成對所有工作模式的故障注入配置,對生成的各個測試向量文件進行保存;
(3.4)根據目標電路故障注入的仿真流程,生成用於仿真的宏文件。宏文件包括不同工作模式下目標電路編譯與仿真的宏文件,由人機互動界面採集的輸入信息按照仿真器(如modelsim)要求的格式生成,主要功能是按照試驗者的要求推動故障注入仿真的進行。
如圖4所示,仿真統計和計算輸出模塊首先對沒有任何故障注入的目標電路進行仿真,得到沒有進行故障注入的仿真結果,即「黃金文件」(正確的波形文件vcd文件)。然後根據故障電路網表文件、帶有故障注入信息的測試向量文件以及仿真軟體自動執行的宏文件,對目標電路進行故障注入仿真,並對每次故障注入仿真前後的電路運行結果進行對比,根據故障類型庫把每次的對比結果進行分類與匯總統計,並將對比結果和分類與匯總統計結果返回給人機操作界面。
比如:以某一埠為例,如果輸出數據錯誤,則將其分類為輸出錯誤;如果輸出錯誤並且之後的若干個周期錯誤仍然不可恢復我們認為發生一次單粒子功能中斷事件,如果在監控的時間內可恢復我們認為發生為一次單粒子翻轉事件。
一般情況下數字集成電路的電路節點多在百萬量級,進行仿真的過程中會有很大的數據量,會影響到用於故障注入仿真的計算機的運算速度,拖慢仿真進程,因而在系統每次進行故障注入仿真的過程文件進行了實時處理,每次對比完畢後,系統會自動識別並刪除過程文件。從而節約用於仿真的電腦的磁碟空間,加快仿真速度。
仿真統計和計算輸出模塊通過tcl接口協議模塊調用商用軟體modelsim實現目標電路的仿真,最後利用tcl語言在按照modelsim要求的格式在外部軟體ultraedit中完成宏文件(dofiles文件)的自動生成。也可以通過調用spaceradiation計算目標電路的在軌錯誤率,能夠預估目標電路在實際空間輻照情況的抗單粒子特性。
本發明利用c#和tcl語言進行編程,在硬體描述語言詞法分析的基礎上實現了目標電路網表文件和功能向量的故障接口自動添加與故障信號隨機函數的配置,根據不同的功能模式實現了仿真宏文件和相關文件的自動生成和保存,最終通過商用仿真軟體實現了故障注入仿真,結果分析和輸出的全自動化。本發明在故障注入仿真的過程中能夠對生成的過程文件進行自動識別和處理,減小了對仿真計算機運算性能的要求。本發明能夠在電路設計的整個過程中快速的評估目標電路的抗單粒子的性能,為設計者提供加固方向和單粒子錯誤的相關指標。
利用本發明的單粒子故障注入系統在通用的計算機上對一款百萬門級的數字專用集成電路進行了故障注入試驗,採用了基於空間輻照環境的隨機故障注入算法進行故障注入配置,對每次進行故障注入仿真的過程文件實時刪除,從而節約用於仿真的計算機磁碟空間,加快仿真速度,實現了單粒子故障注入的全自動進行。仿真得到的不同let值下重離子翻轉截面和該款電路實際重離子試驗結果近似。
本發明未詳細說明部分屬本領域技術人員公知常識。