吳加威(河海大學物聯(lián)網(wǎng)工程學院,江蘇常州,213022)
?
基于FPGA的觸發(fā)器單粒子翻轉(zhuǎn)錯誤統(tǒng)計電路設(shè)計
吳加威
(河海大學物聯(lián)網(wǎng)工程學院,江蘇常州,213022)
摘要:觸發(fā)器在太空輻射環(huán)境或者地面環(huán)境中受到帶電粒子的輻射打擊,會產(chǎn)生單粒子翻轉(zhuǎn)錯誤。隨著我國航空航天領(lǐng)域的快速發(fā)展,檢測觸發(fā)器芯片的軟錯誤率,評估其可靠性,至關(guān)重要。本系統(tǒng)基于FPGA進行設(shè)計開發(fā),對數(shù)據(jù)通過異或模塊進行比較,然后通過計數(shù)器模塊進行統(tǒng)計,并由PISO模塊轉(zhuǎn)換為串行輸出。系統(tǒng)通過Verilog建模,運行可靠,方案可行。
關(guān)鍵詞:單粒子翻轉(zhuǎn);FPGA;觸發(fā)器;PISO
單粒子翻轉(zhuǎn)指的是當半導體存儲器元件受到帶電粒子輻射打擊時,可能會發(fā)生的一系列存儲位翻轉(zhuǎn)的錯誤,其錯誤的形式主要有SBU/MBU(即單位/多位翻轉(zhuǎn))兩種。
隨著我國航空航天領(lǐng)域的快速發(fā)展,航天器、衛(wèi)星等所載的半導體器件用到了大量的靜態(tài)存儲單元器和觸發(fā)器等。而隨著半導體工藝現(xiàn)代科技的持續(xù)向前快速發(fā)展,器件進入了納米工藝制程,對單粒子翻轉(zhuǎn)錯誤越來越敏感。因此,為了檢測集成觸發(fā)器單粒子翻轉(zhuǎn)造成的軟錯誤率,提高系統(tǒng)的可靠性,我們開發(fā)了基于FPGA系統(tǒng)的錯誤統(tǒng)計電路。
為了實現(xiàn)檢測集成觸發(fā)器存儲位翻轉(zhuǎn)錯誤的功能,實現(xiàn)方案較多。因為FPGA具有實現(xiàn)簡單、可擴展性強等優(yōu)點,本系統(tǒng)基于FPGA進行設(shè)計。根據(jù)電路的預(yù)期功能,把電路分為四個模塊,電路總體結(jié)構(gòu)圖如下圖。
圖1 片內(nèi)錯誤統(tǒng)計電路總體結(jié)構(gòu)圖
如圖1所示,錯誤統(tǒng)計電路整體分為四個大模塊,數(shù)據(jù)流經(jīng)由異或模塊輸入,輸出一串二進制的數(shù)字序列,再輸入至DFF(即D觸發(fā)器)模塊,會產(chǎn)生一列脈沖波形,把它作為計數(shù)脈沖輸入至計數(shù)器模塊,計數(shù)器模塊輸出并行的計數(shù)結(jié)果,計數(shù)結(jié)果4位并行地輸入至PISO(即并入串出)模塊,PISO模塊串行輸出4位二進制數(shù),每組二進制數(shù)對應(yīng)一個計數(shù)器的計數(shù)結(jié)果。觀察此時的輸出結(jié)果,可以確定片內(nèi)錯誤統(tǒng)計電路能否正常工作,達到統(tǒng)計被測觸發(fā)器芯片出錯次數(shù)的預(yù)期要求。
2.1異或模塊
異或模塊,用一個異或門實現(xiàn)兩列數(shù)組異或,得到一列0和1組成的二進制數(shù)組。異或模塊有兩路輸入,一路是觸發(fā)器的輸出,另外一路是觸發(fā)器的輸入。當兩位相同時,異或輸出為0,否則為1。
2.2DFF(D觸發(fā)器)模塊
該模塊使用上升沿觸發(fā)的D觸發(fā)器,其外接一個時鐘信號,在時鐘信號的上升沿到來時,D觸發(fā)器的輸出Q與輸入D相同,此時輸入為0波形顯示為低電平,輸入為1波形則為高電平,這樣D觸發(fā)器就完成了波形發(fā)生器的功能。
2.3計數(shù)器模塊
計數(shù)器模塊用四個T′觸發(fā)器級聯(lián)組成一個4位異步計數(shù)器,其結(jié)構(gòu)如圖2所示。為了防止片內(nèi)錯誤統(tǒng)計電路本身出錯,我們把T′觸發(fā)器用另外一個組合電路等價代替,即三個D觸發(fā)器連接到表決器。這種做法是防止計數(shù)器受到外界干擾或者內(nèi)部的其他原因,改變其中一個觸發(fā)器的邏輯狀態(tài),造成計數(shù)錯誤,影響到最后結(jié)果。
2.4PISO模塊
將四個相同的D觸發(fā)器級聯(lián),它們共用同一個新時鐘,而且每個D觸發(fā)器都對應(yīng)一個計數(shù)器電路的T′觸發(fā)器。共經(jīng)過四個計數(shù)周期,最后的D觸發(fā)器會輸出串行的4位二進制數(shù),即前級計數(shù)器模塊的計數(shù)結(jié)果。
整個片內(nèi)錯誤統(tǒng)計電路的頂層模塊top用結(jié)構(gòu)描述方式描述,具體代碼如下所述。其中,輸入“crest_SR_in”是被檢測芯片輸出的數(shù)據(jù),輸入“RPG_in“是原始數(shù)據(jù),“crest_clk”是波形發(fā)生D觸發(fā)器的時鐘信號,也是計數(shù)器模塊的計數(shù)周期,“clear”是4位異步二進制計數(shù)器的置數(shù)端,用來初始化計數(shù)器,讓它從“0000”狀態(tài)開始計數(shù),“l(fā)oadBar_shift”是PISO中數(shù)據(jù)選擇器的數(shù)據(jù)選擇位,“counter_clk”是PISO中四個D觸發(fā)器共有的時鐘輸入信號,“serial_out”是整個電路最終的輸出結(jié)果。
module top (crest_SR_in,RPG_in,crest_clk,clear,
loadBar_shift,counter_clk,serial_out);
input crest_SR_in,RPG_in,crest_clk,
clear,loadBar_shift,counter_clk;
output serial_out;
wire crest_SR_in,RPG_in,out1, out2,out3,out4,out5,out6,serial_out;
XOR u1(out1,crest_SR_in,RPG_in);
DFFF u2(out2,out1,crest_clk);
not u3(out3,out2);
not u4(out4,out3);
TMR_counter u5(Q0,Q1,Q2,Q3,out4,clear);
PISO u6(out5,~Q0,~Q1,~Q2,~Q3,counter_clk,loadBar_ shift);
not u7(out6,out5);
not u8(serial_out,out6);
endmodule
本系統(tǒng)基于FPGA,設(shè)計了檢測集成觸發(fā)器單粒子翻轉(zhuǎn)錯誤的統(tǒng)計系統(tǒng),并由Verilog建模,仿真結(jié)果證明了設(shè)計的可行性。因為本系統(tǒng)基于FPGA,具有開發(fā)周期短、系統(tǒng)驗證方便快捷,功能可擴展等優(yōu)點。
圖2 計數(shù)器模塊的結(jié)構(gòu)示意圖
圖3 PISO模塊內(nèi)部結(jié)構(gòu)圖
參考文獻
[1]丁義剛, Ding Yigang - 《航天器環(huán)境工程》 2007年5期
[2]楊善潮, 齊超, 劉巖, 郭曉強, 金曉明, 陳偉, 白小燕, 林東生,王桂珍 - 《強激光與粒子束》 2015年11期
[3]楊海鋼, 孫嘉斌, 王慰, Yang Hai-gang, Sun Jia-bin, Wang Wei - 《電子與信息學報》 2010年3期
Design and Implementation of Flip-flop Single Event Upset Error Counting Circuit based on FPGA
Wu Jiawei
(Collge of IOT, Hohai University,Changzhou,213022)
Abstract:Flip-flops may observe single event upsets induc ed by radiation strikes when they are exposed to radiation environments.With the development of our space exploration,we need to evaluate the soft error rate of flip-flops.Thus,this paper presents an error detection system based on FPGA. This system compares data through an XOR module,and the result is transferred to a counter and a PISO afterwards to to be sent in serial.The system has been modeled with Verilog and it runs very well.
Keywords:Single Event Upset;FPGA;Flip-flop;PISO