徐輝 施峰
(安徽理工大學(xué),安徽 淮南232001)
電路可靠性已成為現(xiàn)代納米電子器件中的主要問題。隨著CMOS技術(shù)快速發(fā)展,節(jié)點(diǎn)的供電電壓和電容也在不斷地降低。電路節(jié)點(diǎn)存儲(chǔ)的關(guān)鍵電荷減小,增加了輻射環(huán)境中對(duì)于外部噪聲的敏感性。當(dāng)一個(gè)帶有高能量的粒子(比如α粒子或者中子)轟擊組合電路中的敏感節(jié)點(diǎn)時(shí),可能會(huì)產(chǎn)生一個(gè)電流脈沖,該脈沖被稱為單粒子瞬態(tài)(single event transient,SET)[1]。SET會(huì)通過組合電路下游傳播,在下一個(gè)時(shí)序電路鎖存,從而造成軟錯(cuò)誤;當(dāng)一個(gè)高能粒子轟擊鎖存器或者觸發(fā)器中的內(nèi)部節(jié)點(diǎn)時(shí),粒子轟擊產(chǎn)生的沉積電荷大小超過了臨界電荷時(shí),就會(huì)導(dǎo)致存儲(chǔ)值發(fā)生翻轉(zhuǎn),這種現(xiàn)象稱為單粒子翻轉(zhuǎn)(single event upset,SEU)[1]。半導(dǎo)體行業(yè)協(xié)會(huì)路線圖(The Semi-conductor Industry Association Roadmap)表明SEU效應(yīng)已經(jīng)成為未來電子系統(tǒng)的可靠運(yùn)行主要威脅因素之一[2]。
目前,國內(nèi)外眾多學(xué)者對(duì)軟錯(cuò)誤的研究,提出了一些有效的措施。對(duì)于存儲(chǔ)單元,通常選擇成本較低的糾錯(cuò)碼技術(shù)進(jìn)行軟錯(cuò)誤防護(hù)。在一般的應(yīng)用中,存儲(chǔ)元件已不再是研究的重點(diǎn)了??馆椛浼庸碳夹g(shù)主要集中在鎖存器的設(shè)計(jì)上,對(duì)于鎖存器電路SEU防護(hù)的加固方法可以被分成三類。第一類是有內(nèi)部互鎖反饋回路的鎖存器,例如文獻(xiàn)[5]中提到的DICE(Dual Interlocked Storage Cell)鎖存器;第二類,鎖存器具有通過使用C單元或者三模冗余(TMR)的方式過濾和屏蔽SEU的能力,例如文獻(xiàn)[15]中提到的FERST(Feedback redundant SEU-tolerant latch)鎖存器;第三類,鎖存器通過增加晶體管尺寸來增強(qiáng)敏感節(jié)點(diǎn)的電容,例如文獻(xiàn)[11]中含有施密特觸發(fā)器的鎖存器。這些加固方法的性能都是通過提升SEU容忍能力、面積、速度和功耗進(jìn)行評(píng)估。
針對(duì)軟錯(cuò)誤對(duì)鎖存器帶來的影響,本文提出一種低功耗的抗SEU/SET鎖存器。鎖存器由3個(gè)互相鎖存的C單元構(gòu)成,通過采用高電平信號(hào)控制時(shí)鐘反相器的方法構(gòu)建內(nèi)部反饋回路。透明期狀態(tài)時(shí),回路處在關(guān)斷狀態(tài),從而降低鎖存器的功耗。提出的鎖存器是基于異構(gòu)的雙模冗余互鎖設(shè)計(jì)。當(dāng)鎖存器內(nèi)部節(jié)點(diǎn)受到高能粒子轟擊從而發(fā)生翻轉(zhuǎn),其輸出節(jié)點(diǎn)的邏輯值依然保持正確的邏輯值。受到影響的內(nèi)部節(jié)點(diǎn),很快在下一個(gè)透明期到來被恢復(fù)。除此之外,通過在一路添加延遲單元,可以很好地過濾從上游組合電路傳播過來的SET脈沖,對(duì)于輸出不受影響。
圖1所示為標(biāo)準(zhǔn)靜態(tài)鎖存器,由2個(gè)傳輸門和3個(gè)反相器構(gòu)成。通過使用反相器INV3和傳輸門TG2組成反饋回路存儲(chǔ)數(shù)據(jù)[3]。由參考文獻(xiàn)[16]實(shí)驗(yàn)結(jié)果測得可知,鎖存器內(nèi)部節(jié)點(diǎn)(圖1中節(jié)點(diǎn)B,C或Q)關(guān)鍵電荷非常低,易受到瞬態(tài)故障的影響,使得輸出節(jié)點(diǎn)邏輯值發(fā)生偏轉(zhuǎn),并且不能恢復(fù)。
圖1 標(biāo)準(zhǔn)靜態(tài)鎖存器
圖2所示為基于三模冗余的TMR鎖存器。TMR鎖存器是將靜態(tài)鎖存器復(fù)制成三份(latch1,latch2,latch3),每一個(gè)靜態(tài)鎖存器的輸出都和表決電路的輸出相連。當(dāng)任意一個(gè)靜態(tài)鎖存器中的內(nèi)部節(jié)點(diǎn)受到瞬態(tài)故障影響時(shí),TMR鎖存器都會(huì)保證有正確的邏輯值輸出。雖然TMR鎖存器對(duì)單粒子翻轉(zhuǎn)全免疫,但是成本開銷較大。
圖2 TMR鎖存器
圖3所示為文獻(xiàn)[14]提出的LSEH-1鎖存器,該鎖存器包含三個(gè)反饋回路(A,B,C)和1個(gè)C單元構(gòu)成。當(dāng)其中任意一個(gè)反饋回路受到粒子轟擊后,使得節(jié)點(diǎn)發(fā)生翻轉(zhuǎn)。另外兩個(gè)反饋回路沒有受到影響,并且糾正受到影響的節(jié)點(diǎn)。另外,LESH-1鎖存器利用時(shí)間偏移原理,能夠過濾從上游組合電路傳播過來SET脈沖。
圖3 LSEH-1鎖存器
圖4所示為文獻(xiàn)[15]提出的FERST鎖存器。該鎖存器能夠過濾N1、N2、N3、N4和Q節(jié)點(diǎn)上的瞬態(tài)故障,對(duì)SEU完全免疫。但是,由于采用了多個(gè)C單元,使得數(shù)據(jù)通過鎖存器的延遲時(shí)間大大增加,且該結(jié)構(gòu)不適用于門控時(shí)鐘電路。
圖4 FERST鎖存器
圖5所示為文獻(xiàn)[11]提出的STI鎖存器。該鎖存器由時(shí)鐘控制的反相器,施密特觸發(fā)器和電壓比較器組成。STI鎖存器利用施密特觸發(fā)器的時(shí)間滯后特性提供全節(jié)點(diǎn)保護(hù),避免軟錯(cuò)誤發(fā)生。由于該鎖存器采用了施密特觸發(fā)器,使得該鎖存器傳播延遲比較大。
圖5 STI鎖存器
本文提出了一種基于雙模冗余下的低功耗加固鎖存器,電路結(jié)構(gòu)如圖6所示。鎖存器中的每一個(gè)C單元輸出狀態(tài)都是由另外兩個(gè)C單元輸出控制,三個(gè)C單元之間相互形成了互鎖的結(jié)構(gòu)。其中,D和Q是鎖存器的輸入和輸出節(jié)點(diǎn),CLK和CLKB分別為系統(tǒng)時(shí)鐘和反系統(tǒng)時(shí)鐘。該結(jié)構(gòu)包含3個(gè)傳輸門(TG1,TG2,TG3),4個(gè)反相器(INV1,INV2,INV3,INV4),2個(gè)時(shí)鐘反相器(GINV1,GINV2),3個(gè)二輸入的C單元(CE1,CE2,CE3)。
圖6 提出的加固鎖存器
當(dāng)CLK=1,CLKB=0時(shí),鎖存器進(jìn)入透明狀態(tài),傳輸 門TG1和TG2打開,TG3關(guān)閉,時(shí)鐘反相器GINV1,GINV2關(guān)閉,反饋回路Loop1和Loop2處于斷開狀態(tài)。內(nèi)部節(jié)點(diǎn)N3、N4分別通過傳輸門TG1和TG2與輸入節(jié)點(diǎn)D連接,N3和N4一方面分別通過反相器INV1和INV2把數(shù)據(jù)寫入到N1和N2節(jié)點(diǎn);N1和N2作為CE3單元的輸入,通過CE3單元把數(shù)據(jù)寫入到Q節(jié)點(diǎn)。另一方面N3和N4分別通過反相器INV4和INV3把數(shù)據(jù)寫入到N5和A節(jié)點(diǎn),N5和A作為CE1和CE2的輸入。在透明期時(shí),TG3和反饋回路關(guān)閉,降低鎖存器工作時(shí)的功耗。
當(dāng)CLK=0,CLKB=1時(shí),鎖存器進(jìn)入鎖存狀態(tài),傳輸門TG1和TG2關(guān)閉,內(nèi)部節(jié)點(diǎn)N3和N4與輸入節(jié)點(diǎn)D之間斷開,TG3打開,晶體管MN11和MN13打開,使得時(shí)鐘反相器GINV1,GINV2打開,反饋回路Loop1和Loop2處于導(dǎo)通。此時(shí),輸出節(jié)點(diǎn)Q通過傳輸門TG3,與時(shí)鐘反相器GINV1直接相連。Loop1反饋回路導(dǎo)通,使得CE1單元正常工作,并保持N3節(jié)點(diǎn)的邏輯值;Loop2反饋回路的導(dǎo)通,使得B節(jié)點(diǎn)的電荷通過時(shí)鐘門GIV2被節(jié)點(diǎn)N3補(bǔ)充。B點(diǎn)驅(qū)動(dòng)的晶體管MP4和MN3與A點(diǎn)驅(qū)動(dòng)晶體管MP3和MN4一起工作保持N4節(jié)點(diǎn)的邏輯值。因此,三個(gè)C單元(CE1,CE2,CE3)之間相互形成互鎖的結(jié)構(gòu),使得輸出節(jié)點(diǎn)一直都存在邏輯值。圖7所示為鎖存器在透明期和鎖存期時(shí),內(nèi)部每個(gè)節(jié)點(diǎn)仿真波形圖。
圖7 本文提出的鎖存器的仿真波形
鎖存器中對(duì)SEU敏感的節(jié)點(diǎn)有N3、N5、A、B、NQ、C、Q、N1、N2、N4。節(jié)點(diǎn)N3或C,N5、A、B和NQ,N1和N2發(fā)生瞬態(tài)故障情形相同,只需分析其中一個(gè)節(jié)點(diǎn)的瞬態(tài)故障即可。因此,SEU影響鎖存器的情形從N3、N5、Q、N1和N4這5種情況討論。
1.當(dāng)N3節(jié)點(diǎn)發(fā)生瞬態(tài)故障時(shí),內(nèi)部節(jié)點(diǎn)N5、N1、B會(huì)發(fā)生翻轉(zhuǎn),N4保持高阻態(tài),節(jié)點(diǎn)N3的翻轉(zhuǎn)不會(huì)影響輸出節(jié)點(diǎn)Q的邏輯值。根據(jù)C單元的特性,兩個(gè)輸入信號(hào)不同時(shí),輸出端將保持高阻態(tài),依然保持了正確的輸出值。
2.當(dāng)N5節(jié)點(diǎn)發(fā)生瞬態(tài)故障時(shí),輸出節(jié)點(diǎn)Q的邏輯值沒有影響,依然保持了正確的輸出值。在鎖存階段,當(dāng)N5節(jié)點(diǎn)短暫的發(fā)生翻轉(zhuǎn),由于單元CE1的屏蔽功能,N3節(jié)點(diǎn)處在高阻態(tài),通過驅(qū)動(dòng)晶體管MP7和MN7把N5恢復(fù)至正確的邏輯值。
3.當(dāng)Q節(jié)點(diǎn)發(fā)生瞬態(tài)故障時(shí),由于節(jié)點(diǎn)NQ和輸出節(jié)點(diǎn)Q通過時(shí)鐘門GIV1相連,節(jié)點(diǎn)NQ也將受到影響,會(huì)發(fā)現(xiàn)翻轉(zhuǎn)。其他內(nèi)部節(jié)點(diǎn)沒有受到影響(N5節(jié)點(diǎn)不變,使得N3節(jié)點(diǎn)處在高阻態(tài)),N2和N1節(jié)點(diǎn)保持不變,通過驅(qū)動(dòng)CE3單元快速恢復(fù)節(jié)點(diǎn)Q的邏輯值。
4.當(dāng)N1節(jié)點(diǎn)發(fā)生瞬態(tài)故障,CE3單元的兩個(gè)輸入不相同,由于單元CE3的屏蔽功能,輸出節(jié)點(diǎn)Q的邏輯值不受影響。由于N3節(jié)點(diǎn)未受到瞬態(tài)故障影響,通過反相器INV1把N1恢復(fù)至正確的邏輯值。
5.當(dāng)N4節(jié)點(diǎn)發(fā)生瞬態(tài)故障時(shí),由于節(jié)點(diǎn)N4和節(jié)點(diǎn)A通過反相器INV3相連,A節(jié)點(diǎn)也將受到影響,會(huì)發(fā)生翻轉(zhuǎn)。在另一條異構(gòu)的路徑中,N3節(jié)點(diǎn)沒有受到影響,與N3節(jié)點(diǎn)類似,Q節(jié)點(diǎn)處在高阻態(tài)。
綜上所述,該鎖存器對(duì)SEU完全免疫。
本文提出的防護(hù)SET鎖存器結(jié)構(gòu)如圖6所示。通過在輸入節(jié)點(diǎn)D2和傳輸門TG2之間添加延遲單元,使得鎖存器的兩個(gè)輸入D1和D2之間產(chǎn)生時(shí)間偏移[4],在利用末端C單元的屏蔽能力過濾傳入的SET。
當(dāng)CLK=1,CLKB=0時(shí),鎖存器進(jìn)入透明期。此時(shí),時(shí)鐘反相器GINV1和GINV2,傳輸門TG3,兩個(gè)反饋回路Loop1和Loop2均關(guān)閉。輸入被分成兩條獨(dú)立的路徑應(yīng)用在C單元上,一路是直接通過N3節(jié)點(diǎn)的D1路徑,另一路是從D2到N4帶有延遲單元的D2路徑,通過兩條數(shù)據(jù)路徑和C單元過濾從上游組合電路中的SET。
本文利用Hspice仿真工具對(duì)提出的鎖存器進(jìn)行SEU故障注入,以評(píng)估提出鎖存器的抗SEU能力。實(shí)驗(yàn)條件為:45nm的PTM工藝模型[5],1.0V供電電壓、時(shí)鐘頻率為500MHz、環(huán)境溫度為25℃。采用文獻(xiàn)[6]中雙指數(shù)電流源模型模擬粒子轟擊所產(chǎn)生的瞬態(tài)脈沖[6]。其中,雙指數(shù)電流源的數(shù)學(xué)公式為:
其中,I(t)為節(jié)點(diǎn)收集的電荷引起的電流,Q為受到高能粒子轟擊后節(jié)點(diǎn)收集的臨界電荷量,τ1和τ2是與工藝相關(guān)的時(shí)間常數(shù)[7]??紤]到讓實(shí)驗(yàn)的數(shù)據(jù)更加充分,實(shí)驗(yàn)分別在低電平和高電平的情況下對(duì)鎖存器中的節(jié)點(diǎn)進(jìn)行故障注入,仿真結(jié)果如圖8和圖9所示。
圖8 各節(jié)點(diǎn)邏輯為“1”時(shí)的故障注入
圖9 各節(jié)點(diǎn)邏輯值“0”時(shí)的故障注入
由圖8、圖9可知,對(duì)內(nèi)部節(jié)點(diǎn)N3注入SEU,正如之前描述一樣,N5和N1會(huì)發(fā)生翻轉(zhuǎn),但是N2保持不變,并沒有影響Q節(jié)點(diǎn)的輸出。當(dāng)對(duì)N1和N5節(jié)點(diǎn)注入SEU時(shí),Q節(jié)點(diǎn)的邏輯值保持高阻態(tài),并且N1和N5恢復(fù)到之前的正確邏輯值。當(dāng)對(duì)節(jié)點(diǎn)N4注入SEU時(shí),Q節(jié)點(diǎn)保持不變,受到影響的N4節(jié)點(diǎn)在下一個(gè)透明期恢復(fù)過來。對(duì)于鎖存器的輸出節(jié)點(diǎn)Q注入SEU,節(jié)點(diǎn)Q會(huì)在鎖存期間發(fā)生翻轉(zhuǎn),并且在一定時(shí)間內(nèi)恢復(fù)到初始邏輯值狀態(tài)。
從圖10中可知,當(dāng)鎖存器處在透明階段時(shí),分別在時(shí)間4.2ns,對(duì)輸入D1和D2施加電壓信號(hào)為1.0V,寬度為300ps的脈沖。由于D2輸入中存在延遲單元,實(shí)驗(yàn)中延遲的時(shí)間設(shè)置為200ps。因此,時(shí)間在4.4ns時(shí),D2輸入中出現(xiàn)了和D1輸入中相同的脈沖信號(hào)。輸出端Q只產(chǎn)生很小的波動(dòng),幾乎可以忽略。因此,該鎖存器具有過濾從上游組合邏輯傳播來的SET脈沖的能力。
圖10 透明時(shí)期輸入D出現(xiàn)SET故障
為了便于對(duì)已有加固鎖存器充分的比較,表1所示為本文提出的鎖存器與已有的鎖存器的各個(gè)參數(shù)比較結(jié)果。第2列為鎖存器透明期工作時(shí),輸入D至輸出Q的傳播時(shí)間,決定了鎖存器的速度,是重要的性能評(píng)估指標(biāo)。第3列為功耗開銷,是在輸入切換活動(dòng)率為50%的條件下測出。第4列為功耗延遲積(Power Delay Product,PDP),可以綜合的預(yù)估鎖存器的速度和功耗。第5列為面積開銷,根據(jù)文獻(xiàn)[8]中提到的方法計(jì)算面積開銷(使用晶體管數(shù)量代替面積開銷)。第6列為對(duì)SEU都全免疫,只有SIN-LC和靜態(tài)鎖存器對(duì)SEU不免疫,輸出節(jié)點(diǎn)易受到影響。第7列為是否過濾上游組合電路傳播來的SET。從表2中可以看出,文獻(xiàn)[11,12,14,15],TMR和提出的結(jié)構(gòu)均可以屏蔽組合邏輯中的SET。雖然提出的結(jié)構(gòu)在晶體管數(shù)目上沒有優(yōu)勢,延遲處于中等水平,但在同時(shí)抗SEU/SET的鎖存器中,功耗是最小的。PDP損耗與FERST相當(dāng),小于TMR、LCHR、LSEH-1、STI鎖存器。
表1 提出的鎖存器與已有的鎖存器的參數(shù)比較
另外,本文提出的鎖存器相比于已有的鎖存器的參數(shù)相對(duì)比較結(jié)果如表2所示。
鎖存器的參數(shù)相對(duì)比計(jì)算公式:
表2 提出的鎖存器相比于已有的鎖存器的參數(shù)相對(duì)比
從表2中可以看出,本文鎖存器的延遲、功耗和PDP下降的趨勢較明顯。其中,面積開銷平均增加了3.90%,延遲平均下降37.34%,功耗平均下降55.01%,PDP平均下降75.22%。
本文提出了一種低功耗、全免疫的加固鎖存器。該鎖存器的內(nèi)部節(jié)點(diǎn)和輸出節(jié)點(diǎn)不僅完全容忍SEU,而且還具有過濾從上游組合電路傳播過來的SET脈沖能力。HSPICE仿真實(shí)驗(yàn)結(jié)果表明相比于TMR、FERST、LCHR、STI、LESH-1鎖存器,本文提出的鎖存器功耗平均55.01%,PDP平均下降了75.22%,延遲下降了37.34%。