吳珍妮 ,梁華國(guó) ,黃正峰 ,陳秀美 ,曹 源
(1.合肥工業(yè)大學(xué) 計(jì)算機(jī)與信息學(xué)院,安徽 合肥 230009;2.合肥工業(yè)大學(xué) 電子科學(xué)與應(yīng)用物理學(xué)院,安徽 合肥 230009)
軟錯(cuò)誤 (Soft Error)也稱為單事件翻轉(zhuǎn)SEU(Single Event Upset),是由宇宙輻射中的中子和封裝材料中的α粒子轟擊電路所造成的瞬態(tài)錯(cuò)誤[1],它是一種間歇性的不可預(yù)測(cè)的硬件工作錯(cuò)誤。過(guò)去曾經(jīng)認(rèn)為高能粒子在穿越大氣層時(shí)能量迅速減弱,不會(huì)引起地面上的集成電路發(fā)生功能性錯(cuò)誤。但是隨著集成電路特征尺寸的急劇減小,單芯片中的節(jié)點(diǎn)迅速增加,并且由于供電電壓的降低,節(jié)點(diǎn)的電量也隨之降低,較低能量的粒子也有可能影響集成電路的正常運(yùn)行[2]。
當(dāng)粒子轟擊集成電路時(shí),粒子與硅晶格在庫(kù)倫力的作用下會(huì)產(chǎn)生沉積電荷。當(dāng)電荷累計(jì)到一定量時(shí),受影響節(jié)點(diǎn)會(huì)翻轉(zhuǎn)到一個(gè)錯(cuò)誤的邏輯值。對(duì)于存儲(chǔ)器或觸發(fā)器等時(shí)序邏輯電路,錯(cuò)誤的值將一直被保持到下一個(gè)值寫(xiě)入,這種現(xiàn)象稱為SEU。對(duì)于組合邏輯電路,錯(cuò)誤值只會(huì)形成一個(gè)寬 0.35 ns~1.3 ns的毛刺[3],稱為單事件瞬態(tài)SET(Single Event Transient)。SEU的發(fā)生頻率很高,商用MIPS處理器在500 km地球近地軌道上大約每分鐘發(fā)生1次 SEU[2]。據(jù)參考文獻(xiàn)[1]統(tǒng)計(jì)的數(shù)據(jù),存儲(chǔ)器和時(shí)序邏輯電路SEU的發(fā)生頻率約是組合邏輯電路SET的9倍。
針對(duì)軟錯(cuò)誤,國(guó)際上提出了許多單元級(jí)的容錯(cuò)設(shè)計(jì)。在組合邏輯電路上,針對(duì)單個(gè)門(mén)提出加固方法,主要有輸出鉗位電路法[4]和復(fù)制門(mén)法[5]。而在時(shí)序邏輯電路上,以設(shè)計(jì)具有容錯(cuò)性能結(jié)構(gòu)的新型時(shí)序單元(latch,flip-flop)來(lái)代替?zhèn)鹘y(tǒng)結(jié)構(gòu)的時(shí)序單元,從而達(dá)到容軟錯(cuò)誤的目的。已提出的結(jié)構(gòu)有 TMR-latch[6]、SDT-latch[7]、DF-DICE-latch[8],以及本研究小組所提出的RHBD-latch[9]等。
本文通過(guò)對(duì)時(shí)序單元的容錯(cuò)性能進(jìn)行分析,考慮流水線電路時(shí)序單元數(shù)目多、對(duì)SEU敏感度大的特點(diǎn),利用RHBD-latch結(jié)構(gòu)代替?zhèn)鹘y(tǒng)時(shí)序單元,設(shè)計(jì)出具有優(yōu)良容錯(cuò)性能的流水線電路。同時(shí)綜合考慮提高可靠性所帶來(lái)的附加開(kāi)銷(xiāo),提出了基于開(kāi)銷(xiāo)限制前提的容錯(cuò)流水線電路設(shè)計(jì)解決思路。該方案能使傳統(tǒng)電路以較少的附加開(kāi)銷(xiāo)達(dá)到容錯(cuò)性能的顯著提升。
本研究小組在參考文獻(xiàn)[9]中提出的RHBD-latch具有良好的容錯(cuò)性能,它采用了帶有內(nèi)部反饋鏈的雙向互鎖結(jié)構(gòu),從而消除了鎖存器內(nèi)部的脆弱點(diǎn)。RHBD-latch的結(jié)構(gòu)如圖1所示,輸入D1或D2可以加一級(jí)延時(shí)單元,這樣RHBD-latch就能夠同時(shí)消除SEU和SET對(duì)電路的影響。RHBD-latch結(jié)構(gòu)擁有3個(gè)獨(dú)立的C單元CE(C-Element):CE1、CE2、CE3。 CE1 和 CE2 形成了一個(gè)雙向互鎖的保持結(jié)構(gòu),這樣既可以在鎖存器非透明的時(shí)候保持正確的值,又可以消除粒子轟擊電路內(nèi)部節(jié)點(diǎn)帶來(lái)的影響。無(wú)論鎖存器是否處于非透明狀態(tài),CE3都可以阻止SEU造成的輸出錯(cuò)誤。
為了評(píng)估時(shí)序單元對(duì)SEU的容錯(cuò)性能,本文引入了參數(shù)STF(SEU-Tolerance Function)。STF與時(shí)序單元內(nèi)部節(jié)點(diǎn)數(shù)Ninternal-node和脆弱點(diǎn)數(shù)Nvulnerable-node有關(guān)。脆弱點(diǎn)(vulnerable node)是指內(nèi)部節(jié)點(diǎn)中存在某些節(jié)點(diǎn),當(dāng)這些節(jié)點(diǎn)被粒子轟擊后會(huì)直接造成單元輸出錯(cuò)誤。
Setvulnerable-node、Setinternal-node分別表示單元脆弱點(diǎn)和內(nèi)部節(jié)點(diǎn)的集合。
電路在180 nm工藝下,由宇宙輻射中的中子和封裝材料中的α粒子轟擊電路所造成的沉積電荷量最大可達(dá)300 fC,電荷量的上限會(huì)隨著工藝水平的提高而降低。例如在130 nm、100 nm、70 nm工藝水平下,沉積電荷量的上限分別是150 fC、80 fC、40 fC[10]。
對(duì)于傳統(tǒng)的鎖存器結(jié)構(gòu):Setvulnerable-node=Setinternal-node,即鎖存器中的任意節(jié)點(diǎn)受到粒子轟擊并隨之產(chǎn)生一定量的沉積電荷后(這里采用180 nm工藝下的沉積電荷上限Qmax=300 fC),都會(huì)造成輸出錯(cuò)誤。而對(duì)于RHBD-latch結(jié)構(gòu),通過(guò)SPICE工具進(jìn)行仿真后的實(shí)驗(yàn)證明,RHBD-latch結(jié)構(gòu)不含脆弱點(diǎn),Setvulnerable-node=?。 定義:
式中VF(Vulnerability Factor)為時(shí)序單元的脆弱因子,
STF∈[0,1],STF的值越高,單元的容錯(cuò)性能就越強(qiáng)。對(duì)于傳統(tǒng)結(jié)構(gòu)的 latch,STF=0,而對(duì)于 RHBD-latch結(jié)構(gòu),STF=1。
流水線電路將功能的執(zhí)行操作分成多步并在若干個(gè)高速時(shí)鐘內(nèi)完成,如圖2所示。
時(shí)序單元對(duì)整個(gè)流水線電路工作起到至關(guān)重要的作用。流水線電路中存在大量的觸發(fā)器,若其中某個(gè)觸發(fā)器發(fā)生SEU,則很可能造成下級(jí)多個(gè)觸發(fā)器出錯(cuò),并最終引起整個(gè)電路功能錯(cuò)誤。本文針對(duì)電路的SEU,使用主從RHBD結(jié)構(gòu)的D觸發(fā)器(RHBD-DFF)代替?zhèn)鹘y(tǒng)觸發(fā)器,如圖3所示。若將原始電路中的傳統(tǒng)觸發(fā)器全部替換為RHBD-DFF,根據(jù)RHBD結(jié)構(gòu)的容錯(cuò)性能,相對(duì)于使用傳統(tǒng)鎖存器或觸發(fā)器,整體電路的容錯(cuò)性能將能得到最大提升。但綜合考慮電路工作的實(shí)際條件,由于RHBD結(jié)構(gòu)相對(duì)于傳統(tǒng)鎖存器或觸發(fā)器,在面積上有一定的附加開(kāi)銷(xiāo),而對(duì)于大多數(shù)片上系統(tǒng)SoC(System on Chip)設(shè)計(jì),由于芯片內(nèi)部硬件資源有限,因此,對(duì)所設(shè)計(jì)電路存在一定開(kāi)銷(xiāo)限制。在此前提下,可以挑選出對(duì)整體電路的運(yùn)行功能以及可靠性影響最大,即最關(guān)鍵的觸發(fā)器集合進(jìn)行替換,從而達(dá)到以最小的代價(jià)獲得最大容錯(cuò)性能的目的。
評(píng)價(jià)電路受軟錯(cuò)誤影響程度的指標(biāo)是軟錯(cuò)誤率SER(Soft Error Rate),即軟錯(cuò)誤的發(fā)生頻率。容錯(cuò)流水線電路SER:
式中,SER(FFi)是單個(gè)觸發(fā)器FFi受粒子轟擊并出錯(cuò)的頻率,SetFF為原始流水線電路的全部時(shí)序單元集合(本文統(tǒng)一時(shí)序單元為主從鎖存器結(jié)構(gòu)的 D觸發(fā)器),SetFFH表示需要用RHBD-DFF進(jìn)行替換的觸發(fā)器集合。本文提出的容錯(cuò)流水電路設(shè)計(jì)是在期望可靠性最大的情況下(SetFF=SetFFH),即需要將電路中所有傳統(tǒng)觸發(fā)器替換成RHBD-DFF,這是由傳統(tǒng)觸發(fā)器或鎖存器對(duì)SEU的敏感性以及RHBD結(jié)構(gòu)優(yōu)良的容錯(cuò)性能所決定的。但對(duì)于許多SoC設(shè)計(jì),由于芯片內(nèi)資源有限,電路存在開(kāi)銷(xiāo)限制條件,為了在有限的開(kāi)銷(xiāo)限制條件下達(dá)到電路容錯(cuò)性能的最佳提升,則需要挑選出最關(guān)鍵的觸發(fā)器集合SetFFH,SetFFH?SetFF,僅對(duì)集合SetFFH中的觸發(fā)器進(jìn)行替換。
為了評(píng)估電路容錯(cuò)性能的改善,本文引入容錯(cuò)性能改善系數(shù) STIF(SEU-Tolerance Improved Factor):
式中,SERpipeline為原始流水線電路的SER。
本文以4級(jí)流水布斯乘法器為實(shí)驗(yàn)電路,內(nèi)含66個(gè)D觸發(fā)器,采用加速的方法[11]對(duì)電路進(jìn)行故障注入??紤]輸入是隨機(jī)分布的情況,趨于極限則概率服從均勻分布,即將所有輸入的向量組合都考慮到,并給每種組合賦予相同的出現(xiàn)概率。在每種輸入情況下,對(duì)被測(cè)電路每個(gè)觸發(fā)器分別注入故障,通過(guò)復(fù)位D觸發(fā)器來(lái)模擬SEU的出現(xiàn)。
通過(guò)仿真工具NC-Verilog及綜合工具Design Compiler對(duì)電路進(jìn)行了仿真和綜合,根據(jù)式(5)及本文提出的容錯(cuò)設(shè)計(jì)方案,在對(duì)實(shí)驗(yàn)電路進(jìn)行容錯(cuò)設(shè)計(jì)改進(jìn)后,STIF能達(dá)到100%,即容錯(cuò)性能的最大提升,相對(duì)于原始電路,帶來(lái)的額外面積開(kāi)銷(xiāo)為51.3%,如圖4所示。圖4中同時(shí)列出使用其他容錯(cuò)SEU結(jié)構(gòu)的鎖存器對(duì)電路進(jìn)行替換時(shí),所帶來(lái)的額外面積開(kāi)銷(xiāo)情況。需要注意的是,在使用 SDT-latch和 DF-DICE-latch進(jìn)行替換時(shí),雖然額外面積開(kāi)銷(xiāo)相對(duì)于本方案較低,但由于其結(jié)構(gòu)本身存在脆弱點(diǎn)(即STF<1)的情況下,即使將電路的傳統(tǒng)時(shí)序單元全部替換,也無(wú)法使STIF達(dá)到100%的提升,電路的容錯(cuò)性能無(wú)法完善。RHBD-latch和TMR-latch的結(jié)構(gòu)內(nèi)部不存在脆弱點(diǎn),單元容錯(cuò)性能相同,即STF=1,但在達(dá)到相同的STIF情況下,采用TMR-latch設(shè)計(jì)電路的額外開(kāi)銷(xiāo)較大。
圖4 各種鎖存器設(shè)計(jì)電路的額外面積開(kāi)銷(xiāo)
在考慮面積開(kāi)銷(xiāo)限制條件的前提下,確定不同大小的SetFFH對(duì)整體電路容錯(cuò)能力提升STIF帶來(lái)的影響,如圖5所示。橫坐標(biāo)表示對(duì)不同大小SetFFH進(jìn)行替換后所造成的額外面積開(kāi)銷(xiāo)。若對(duì)電路時(shí)序單元全部采用本方案(RHBD-latch結(jié)構(gòu))進(jìn)行替換,STIF達(dá)到100%時(shí),電路的額外面積開(kāi)銷(xiāo)為51.3%。若有存在面積開(kāi)銷(xiāo)限制,例如要求額外開(kāi)銷(xiāo)在10%左右,可選取對(duì)應(yīng)的SetFFH、根據(jù)實(shí)驗(yàn)結(jié)果,替換后,整體電路面積僅比原始電路多了11.5%,而 STIF提升到 55.4%。
圖5 電路容錯(cuò)效果提升
本文針對(duì)環(huán)境輻射引起地面電路出現(xiàn)軟錯(cuò)誤,并對(duì)電路工作構(gòu)成嚴(yán)重影響這一事實(shí),對(duì)當(dāng)今數(shù)字電路設(shè)計(jì)應(yīng)用廣泛的流水線電路,提出了容錯(cuò)設(shè)計(jì)方案。在對(duì)時(shí)序單元進(jìn)行容錯(cuò)性能分析的基礎(chǔ)上,采用容錯(cuò)性能優(yōu)良的RHBD-latch結(jié)構(gòu)對(duì)流水線電路中存在的大量傳統(tǒng)時(shí)序單元進(jìn)行替換,使流水線電路具備容錯(cuò)特性。本文使用RHBD-latch結(jié)構(gòu)來(lái)代替原始電路傳統(tǒng)觸發(fā)器中的主從鎖存器,其結(jié)構(gòu)的優(yōu)良性能夠極大地提高流水線電路的可靠性。若使用其他有脆弱點(diǎn)的結(jié)構(gòu)(如DF-DICEDFF或SDT-DFF),將無(wú)法使電路的容錯(cuò)性能得到最優(yōu)提升。相比于用TMR-DFF替換,本方案在達(dá)到相同STIF的前提下,面積開(kāi)銷(xiāo)可節(jié)省30%。
[1]MITRA S,SEIFERT N,ZHANG M,et al.Robust system design with built-in soft-error resilience[J].Computer,2005,38(2):43-52.
[2]陳微,龔銳,劉芳,等.FT51:一種容軟錯(cuò)誤高可靠微控制器[J].計(jì)算機(jī)學(xué)報(bào),2007,30(10):1662-1673.
[3]EATON P, BENEDETTO J, MAVIS D, et al.Single event transient pulsewidth measurements using a variable temporal latch technique[J].Nuclear Science, IEEE Transactions on,2004,51(6):3365-3368.
[4]GARG R, JAYAKUMAR N, KHATRI S P, et al.A design approach for radiation-hard digital electronics[C]//ProceedingsofDesign Automation Conference, 2006 43rd ACM/IEEE,2006:773-778.
[5]NIEUWLAND A K, JASAREVIC S, JERIN G.Combinational logic soft error analysis and protection[C]//Proceedings of On-Line Testing Symposium,2006.IOLTS 2006.12th IEEE International,2006:6.
[6]FAZELI M, PATOOGHY A, MIREMADI S G, etal.Feedback redundancy:a power efficient SEU-tolerant latch design for deep sub-micron technologies[C]//Proceedings of Dependable Systems and Networks, 2007.DSN’07.37th Annual IEEE/IFIP International Conference on,2007:276-285.
[7]ZHAO Chong, ZHAO Yi, DEY S.Intelligent robustness insertion for optimal transient error tolerance improvement in VLSI circuits[J].Very Large Scale Integration(VLSI)Systems, IEEE Transactions on, 2008, 16(6):714-724.
[8]NASEER R,DRAPER J.DF-DICE:a scalable solution for soft error tolerant circuit design[C]//Proceedings of Circuits and Systems,2006.ISCAS 2006.Proceedings.2006 IEEE International Symposium on,2006:4.
[9]HUANG Zheng Feng,LIANG Hua Guo.A new radiation hardened by design latch for ultra-deep-sub-micron technologies[C]//Proceedings of On-Line Testing Symposium,2008.IOLTS’08.14th IEEE International, 2008:175-176.
[10]ZHOU Qu Ming,MOHANRAM K.Gate sizing to radiation harden combinational logic[J].Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on,2006,25(1):155-166.
[11]唐志敏,黃海林,許彤.龍芯1號(hào)處理器的故障注入方法與軟錯(cuò)誤敏感性分析 [J].計(jì)算機(jī)研究與發(fā)展,2006,43(10):1820-1827.