一種改進(jìn)的對抗軟錯誤電路結(jié)構(gòu)設(shè)計
由上述分析可知,該電路可以實現(xiàn)電路對多個SEU引起的數(shù)據(jù)錯誤翻轉(zhuǎn)進(jìn)行檢測和糾正,從而提高電路的可靠性。
如圖3所示,該電路分為兩個部分,上虛框內(nèi)是每一個數(shù)據(jù)單獨具有的錯誤檢測和修改部分;下虛框內(nèi)是該電路的公用部分。
該電路結(jié)構(gòu)運用到N位觸發(fā)器的原理框圖如圖4所示。與原來的設(shè)計類似,該電路結(jié)構(gòu)有N個獨立模塊和一個公用模塊。由圖可知,每個單獨模塊輸出的信號SEU_O通過一個N輸入或門,得出的邏輯值傳輸給公共模塊的SEU信號,以控制各個單獨模塊的數(shù)據(jù)糾正。當(dāng)檢測到SEU發(fā)生后,觸發(fā)器的輸出變?yōu)?,CMOS傳輸門被導(dǎo)通。本文引用地址:http://cafeforensic.com/article/190562.htm
此時,各個單獨模塊的信號S4通過一個N輸入或門,得出的邏輯值傳輸給公共模塊,以改變鎖存器的輸出,進(jìn)而各個模塊的信號SEU_O也只與各個模塊的數(shù)據(jù)沿和時鐘沿有關(guān),回到了錯誤檢測和糾正的準(zhǔn)備狀態(tài)。從而達(dá)到多次檢驗和糾正SEU引起的錯誤數(shù)據(jù)翻轉(zhuǎn)。
3 仿真結(jié)果
為驗證多次檢測和糾正電路的可靠性,使用仿真器的內(nèi)建命令進(jìn)行了錯誤注入,運用TB文件對輸入數(shù)據(jù)進(jìn)行控制,以模擬真實情況下的SEU。在不是信號上升沿的時候,使觸發(fā)器中輸出信號Q發(fā)生翻轉(zhuǎn),模擬SEU引起的錯誤輸出,通過觀察信號Q的值,進(jìn)行檢驗電路的檢測和修改功能。
圖5是基于上述電路結(jié)構(gòu)和錯誤注入的仿真結(jié)果。從圖中可以看出,隨著觸發(fā)器的輸出信號Q的變化,檢測和糾正電路的工作狀態(tài)。在左側(cè)橢圓標(biāo)示的位置,是正確的數(shù)據(jù)翻轉(zhuǎn)。此時產(chǎn)生了數(shù)據(jù)脈沖和時鐘脈沖,檢測信號SEU_O和鎖存器的輸出(LATCH)沒有發(fā)生變化,保持0的狀態(tài);在右側(cè)橢圓標(biāo)示的位置可以看出,是錯誤的數(shù)據(jù)翻轉(zhuǎn)引起Q變?yōu)?。
此時,檢測電路檢測出其為錯誤的數(shù)據(jù)翻轉(zhuǎn),信號SEU_O由0變?yōu)?,鎖存器輸出信號變?yōu)?,CMOS傳輸門導(dǎo)通。當(dāng)信號SEU_O為1時,糾正電路對Q值進(jìn)行糾正,Q值恢復(fù)為正確值,與此同時,信號S4(即Q_pulse)產(chǎn)生一個正脈沖。由于CMOS傳輸門此時導(dǎo)通,所以信號S4經(jīng)過一個CMOS傳輸門和一個非門傳輸給鎖存器,鎖存器的輸出信號變?yōu)?,CMOS傳輸門關(guān)閉。由于在SEU_O信號由0變?yōu)?時,鎖存器被置為1。此時,信號SEU_O變?yōu)?,信號SEU_O和鎖存器的輸出(LATCH)恢復(fù)錯誤糾正前的狀態(tài)。由上述分析可知,信號SEU_O跳變?yōu)?的時間間隔很短,如圖5所示。
4 結(jié)語
本文提出的電路結(jié)構(gòu)可以實現(xiàn)對SEU引起的數(shù)據(jù)錯誤翻轉(zhuǎn)進(jìn)行多次檢測和糾正,完善了參考文獻(xiàn)所述電路結(jié)構(gòu),打破了該電路的1個時鐘只可以糾正1次SEU引起錯誤的局限性。在提高電路結(jié)構(gòu)的檢測和糾正能力的同時,本文提出的電路結(jié)構(gòu)只是增加了極少的資源消耗。為了更好地檢測SEU引起的錯誤翻轉(zhuǎn),在每個單獨模塊中只由原來的與門替換為異或門;為了實現(xiàn)對電路錯誤翻轉(zhuǎn)的多次檢測,僅在電路的公共模塊上增加了一個N輸入或門,即整個電路只是增加了一個或門。因此,僅占用較少的面積和資源,就能對觸發(fā)器的錯誤翻轉(zhuǎn)進(jìn)行實時監(jiān)控。
DIY機械鍵盤相關(guān)社區(qū):機械鍵盤DIY
評論