新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 一種改進的對抗軟錯誤電路結(jié)構(gòu)設(shè)計

一種改進的對抗軟錯誤電路結(jié)構(gòu)設(shè)計

作者: 時間:2012-03-31 來源:網(wǎng)絡(luò) 收藏

上述基于時鐘沿檢測和糾正是針對一個觸發(fā)器的情況,但是一個系統(tǒng)設(shè)計必定會包含多個觸發(fā)器。如圖2所示為該結(jié)構(gòu)應(yīng)用到多個觸發(fā)器的原理圖。結(jié)構(gòu)可以分為獨立模塊和公用模塊兩個部分。時鐘是整個電路系統(tǒng)公用的部分,所以時鐘沿單元是可以公用的。此外,鎖存器是存儲前一個時刻的電路狀態(tài),所以也是可以作為公用單元使用的。

本文引用地址:http://butianyuan.cn/article/190562.htm

b.jpg


N個單獨模塊產(chǎn)生的錯誤檢測信號SEU_O,通過N位的或門輸入給公共模塊,進而對電路中N能發(fā)器的輸出進行修改。由圖2可知,任何一個觸發(fā)器檢測出有SEU錯誤產(chǎn)生,該觸發(fā)器的單獨模塊輸出信號SEU_O變?yōu)?,那么公共模塊的輸入信號SEU變?yōu)?,進而通過各個模塊的S5信號對狀態(tài)進行保存,使其對改變后的值不進行錯誤處理。

2 多次檢測單粒子翻轉(zhuǎn)的電路結(jié)構(gòu)
由第一節(jié)可知,該方案雖然可以以較小的面積和使用較少的邏輯器件實現(xiàn)單粒子翻轉(zhuǎn)的檢測和糾正。但是它存在兩個問題,第一個問題是對于數(shù)據(jù)轉(zhuǎn)變沿的檢測只可以檢測0到1的轉(zhuǎn)變,不可以檢測到1到0的轉(zhuǎn)變,以至于對由于SEU引起的由1變?yōu)?的數(shù)據(jù)錯誤翻轉(zhuǎn)無法檢測,影響電路系統(tǒng)的穩(wěn)定行;第二個問題是該電路的假設(shè)條件,每1個時鐘周期只發(fā)生1次單粒子翻轉(zhuǎn)引起的數(shù)據(jù)錯誤。由圖2可知,當(dāng)一個時鐘上升沿來臨,鎖存器的輸出Q被清零,SEU_O的值只與數(shù)據(jù)沿和時鐘沿有關(guān)。當(dāng)任何一個觸發(fā)器的輸出由于受到SEU的影響發(fā)生翻轉(zhuǎn)時,通過各個獨立模塊的錯誤檢測電路,檢測出有錯誤發(fā)生。此時,該獨立模塊的SEU_O變?yōu)?,并對該模塊中的觸發(fā)器輸出進行糾正。同時,公共模塊的鎖存器被置為1,由前面的式(2)可知。SEU_O變?yōu)?,并且與S3和S4無關(guān),直到下一個時鐘上升沿到來時,鎖存器才被再次置為0,才會隨著S3和S4發(fā)生變化。由上述分析可知,該電路結(jié)構(gòu)在一個時鐘周期內(nèi)只可以檢測和糾正一次單粒子翻轉(zhuǎn)引起的數(shù)據(jù)輸出錯誤。
在只有一位觸發(fā)器的情況下,電路在每一個時鐘最多發(fā)生一次翻轉(zhuǎn)的假設(shè)是可以接受的。但是,隨著現(xiàn)在電路規(guī)模和功能要求的增加,這將限制電路對數(shù)據(jù)的檢測和糾正,嚴重影響電路系統(tǒng)的可靠性。
2.1 數(shù)據(jù)沿的產(chǎn)生
針對第一個問題,本文對數(shù)據(jù)轉(zhuǎn)變沿的檢測采用下述結(jié)構(gòu)。該電路結(jié)構(gòu)采用2個非門和1個異或門。利用兩個非門來產(chǎn)生延時,異或門對延時后的信號和原來的信號進行比較,進而在上升沿和下降沿時產(chǎn)生一個脈沖,用于數(shù)據(jù)沿的檢測。
2.2 多次檢測和糾正錯誤數(shù)據(jù)電路
針對第二個問題,本文添加了少量的邏輯電路,以實現(xiàn)對由SEU引起的錯誤數(shù)據(jù)的多次檢測和糾正。原理圖如圖3所示,與參考文獻提出的電路原理相比,該電路結(jié)構(gòu)只是在公共模塊上增加了1個非門和1個CMOS傳輸門,用于檢測數(shù)據(jù)修改是否完成,并對鎖存器賦值,使電路在數(shù)據(jù)糾正完成以后,讓鎖存器輸出變?yōu)?,即恢復(fù)到?jīng)]:有檢測到錯誤發(fā)生的狀態(tài)。該電路可以對下一個由SEU引起的數(shù)據(jù)翻轉(zhuǎn)進行檢測和糾正,進而大大提高電路的穩(wěn)定性和可靠性。

c.jpg


電路原理:當(dāng)時鐘處于上升沿時,信號S3產(chǎn)生一個高脈沖,此時鎖存器被清零。鎖存器輸出0時,CMOS傳輸門被關(guān)閉,不傳輸數(shù)據(jù)。當(dāng)檢測到由于SEU引起的Q值翻轉(zhuǎn)時,SEU_O變?yōu)?,此時鎖存器被置為1。當(dāng)SEU_O變?yōu)?時,對數(shù)據(jù)Q進行糾正,Q值發(fā)生翻轉(zhuǎn),會產(chǎn)生一個高脈沖。當(dāng)鎖存器被置為1時,CMOS傳輸門導(dǎo)通,SEU_O又變?yōu)?。數(shù)據(jù)Q被糾正,發(fā)生翻轉(zhuǎn)產(chǎn)生1個高脈沖,此時CMOS傳輸門被導(dǎo)通。數(shù)據(jù)Q產(chǎn)生的脈沖經(jīng)過傳輸門和非門,變?yōu)榈兔}沖,該脈沖傳輸?shù)芥i存器的輸入端,進而鎖存器的輸出變?yōu)?。此時,CMOS傳輸門關(guān)閉,信號SEU_O只與S4和S3有關(guān),電路的錯誤檢測和糾正電路恢復(fù)到?jīng)]有發(fā)生錯誤時的狀態(tài),準(zhǔn)備檢測下一個數(shù)據(jù)沿。

DIY機械鍵盤相關(guān)社區(qū):機械鍵盤DIY




評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉