一種改進(jìn)的對抗軟錯(cuò)誤電路結(jié)構(gòu)設(shè)計(jì)
上述基于時(shí)鐘沿檢測和糾正電路是針對一個(gè)觸發(fā)器的情況,但是一個(gè)系統(tǒng)設(shè)計(jì)必定會包含多個(gè)觸發(fā)器。如圖2所示為該電路結(jié)構(gòu)應(yīng)用到多個(gè)觸發(fā)器的原理圖。電路結(jié)構(gòu)可以分為獨(dú)立模塊和公用模塊兩個(gè)部分。時(shí)鐘是整個(gè)電路系統(tǒng)公用的部分,所以時(shí)鐘沿單元是可以公用的。此外,鎖存器是存儲前一個(gè)時(shí)刻的電路狀態(tài),所以也是可以作為公用單元使用的。本文引用地址:http://m.butianyuan.cn/article/190562.htm
N個(gè)單獨(dú)模塊產(chǎn)生的錯(cuò)誤檢測信號SEU_O,通過N位的或門輸入給公共模塊,進(jìn)而對電路中N能發(fā)器的輸出進(jìn)行修改。由圖2可知,任何一個(gè)觸發(fā)器檢測出有SEU錯(cuò)誤產(chǎn)生,該觸發(fā)器的單獨(dú)模塊輸出信號SEU_O變?yōu)?,那么公共模塊的輸入信號SEU變?yōu)?,進(jìn)而通過各個(gè)模塊的S5信號對狀態(tài)進(jìn)行保存,使其對改變后的值不進(jìn)行錯(cuò)誤處理。
2 多次檢測單粒子翻轉(zhuǎn)的電路結(jié)構(gòu)
由第一節(jié)可知,該方案雖然可以以較小的面積和使用較少的邏輯器件實(shí)現(xiàn)單粒子翻轉(zhuǎn)的檢測和糾正。但是它存在兩個(gè)問題,第一個(gè)問題是對于數(shù)據(jù)轉(zhuǎn)變沿的檢測只可以檢測0到1的轉(zhuǎn)變,不可以檢測到1到0的轉(zhuǎn)變,以至于對由于SEU引起的由1變?yōu)?的數(shù)據(jù)錯(cuò)誤翻轉(zhuǎn)無法檢測,影響電路系統(tǒng)的穩(wěn)定行;第二個(gè)問題是該電路結(jié)構(gòu)設(shè)計(jì)的假設(shè)條件,每1個(gè)時(shí)鐘周期只發(fā)生1次單粒子翻轉(zhuǎn)引起的數(shù)據(jù)錯(cuò)誤。由圖2可知,當(dāng)一個(gè)時(shí)鐘上升沿來臨,鎖存器的輸出Q被清零,SEU_O的值只與數(shù)據(jù)沿和時(shí)鐘沿有關(guān)。當(dāng)任何一個(gè)觸發(fā)器的輸出由于受到SEU的影響發(fā)生翻轉(zhuǎn)時(shí),通過各個(gè)獨(dú)立模塊的錯(cuò)誤檢測電路,檢測出有錯(cuò)誤發(fā)生。此時(shí),該獨(dú)立模塊的SEU_O變?yōu)?,并對該模塊中的觸發(fā)器輸出進(jìn)行糾正。同時(shí),公共模塊的鎖存器被置為1,由前面的式(2)可知。SEU_O變?yōu)?,并且與S3和S4無關(guān),直到下一個(gè)時(shí)鐘上升沿到來時(shí),鎖存器才被再次置為0,才會隨著S3和S4發(fā)生變化。由上述分析可知,該電路結(jié)構(gòu)在一個(gè)時(shí)鐘周期內(nèi)只可以檢測和糾正一次單粒子翻轉(zhuǎn)引起的數(shù)據(jù)輸出錯(cuò)誤。
在只有一位觸發(fā)器的情況下,電路在每一個(gè)時(shí)鐘最多發(fā)生一次翻轉(zhuǎn)的假設(shè)是可以接受的。但是,隨著現(xiàn)在電路規(guī)模和功能要求的增加,這將限制電路對數(shù)據(jù)的檢測和糾正,嚴(yán)重影響電路系統(tǒng)的可靠性。
2.1 數(shù)據(jù)沿的產(chǎn)生
針對第一個(gè)問題,本文對數(shù)據(jù)轉(zhuǎn)變沿的檢測采用下述結(jié)構(gòu)。該電路結(jié)構(gòu)采用2個(gè)非門和1個(gè)異或門。利用兩個(gè)非門來產(chǎn)生延時(shí),異或門對延時(shí)后的信號和原來的信號進(jìn)行比較,進(jìn)而在上升沿和下降沿時(shí)產(chǎn)生一個(gè)脈沖,用于數(shù)據(jù)沿的檢測。
2.2 多次檢測和糾正錯(cuò)誤數(shù)據(jù)電路
針對第二個(gè)問題,本文添加了少量的邏輯電路,以實(shí)現(xiàn)對由SEU引起的錯(cuò)誤數(shù)據(jù)的多次檢測和糾正。原理圖如圖3所示,與參考文獻(xiàn)提出的電路原理相比,該電路結(jié)構(gòu)只是在公共模塊上增加了1個(gè)非門和1個(gè)CMOS傳輸門,用于檢測數(shù)據(jù)修改是否完成,并對鎖存器賦值,使電路在數(shù)據(jù)糾正完成以后,讓鎖存器輸出變?yōu)?,即恢復(fù)到?jīng)]:有檢測到錯(cuò)誤發(fā)生的狀態(tài)。該電路可以對下一個(gè)由SEU引起的數(shù)據(jù)翻轉(zhuǎn)進(jìn)行檢測和糾正,進(jìn)而大大提高電路的穩(wěn)定性和可靠性。
電路原理:當(dāng)時(shí)鐘處于上升沿時(shí),信號S3產(chǎn)生一個(gè)高脈沖,此時(shí)鎖存器被清零。鎖存器輸出0時(shí),CMOS傳輸門被關(guān)閉,不傳輸數(shù)據(jù)。當(dāng)檢測到由于SEU引起的Q值翻轉(zhuǎn)時(shí),SEU_O變?yōu)?,此時(shí)鎖存器被置為1。當(dāng)SEU_O變?yōu)?時(shí),對數(shù)據(jù)Q進(jìn)行糾正,Q值發(fā)生翻轉(zhuǎn),會產(chǎn)生一個(gè)高脈沖。當(dāng)鎖存器被置為1時(shí),CMOS傳輸門導(dǎo)通,SEU_O又變?yōu)?。數(shù)據(jù)Q被糾正,發(fā)生翻轉(zhuǎn)產(chǎn)生1個(gè)高脈沖,此時(shí)CMOS傳輸門被導(dǎo)通。數(shù)據(jù)Q產(chǎn)生的脈沖經(jīng)過傳輸門和非門,變?yōu)榈兔}沖,該脈沖傳輸?shù)芥i存器的輸入端,進(jìn)而鎖存器的輸出變?yōu)?。此時(shí),CMOS傳輸門關(guān)閉,信號SEU_O只與S4和S3有關(guān),電路的錯(cuò)誤檢測和糾正電路恢復(fù)到?jīng)]有發(fā)生錯(cuò)誤時(shí)的狀態(tài),準(zhǔn)備檢測下一個(gè)數(shù)據(jù)沿。
DIY機(jī)械鍵盤相關(guān)社區(qū):機(jī)械鍵盤DIY
評論