吴珍妮 ,梁华国 ,黄正峰 ,陈秀美 ,曹 源
(1.合肥工业大学 计算机与信息学院,安徽 合肥 230009;2.合肥工业大学 电子科学与应用物理学院,安徽 合肥 230009)
软错误 (Soft Error)也称为单事件翻转SEU(Single Event Upset),是由宇宙辐射中的中子和封装材料中的α粒子轰击电路所造成的瞬态错误[1],它是一种间歇性的不可预测的硬件工作错误。过去曾经认为高能粒子在穿越大气层时能量迅速减弱,不会引起地面上的集成电路发生功能性错误。但是随着集成电路特征尺寸的急剧减小,单芯片中的节点迅速增加,并且由于供电电压的降低,节点的电量也随之降低,较低能量的粒子也有可能影响集成电路的正常运行[2]。
当粒子轰击集成电路时,粒子与硅晶格在库伦力的作用下会产生沉积电荷。当电荷累计到一定量时,受影响节点会翻转到一个错误的逻辑值。对于存储器或触发器等时序逻辑电路,错误的值将一直被保持到下一个值写入,这种现象称为SEU。对于组合逻辑电路,错误值只会形成一个宽 0.35 ns~1.3 ns的毛刺[3],称为单事件瞬态SET(Single Event Transient)。SEU的发生频率很高,商用MIPS处理器在500 km地球近地轨道上大约每分钟发生1次 SEU[2]。据参考文献[1]统计的数据,存储器和时序逻辑电路SEU的发生频率约是组合逻辑电路SET的9倍。
针对软错误,国际上提出了许多单元级的容错设计。在组合逻辑电路上,针对单个门提出加固方法,主要有输出钳位电路法[4]和复制门法[5]。而在时序逻辑电路上,以设计具有容错性能结构的新型时序单元(latch,flip-flop)来代替传统结构的时序单元,从而达到容软错误的目的。已提出的结构有 TMR-latch[6]、SDT-latch[7]、DF-DICE-latch[8],以及本研究小组所提出的RHBD-latch[9]等。
本文通过对时序单元的容错性能进行分析,考虑流水线电路时序单元数目多、对SEU敏感度大的特点,利用RHBD-latch结构代替传统时序单元,设计出具有优良容错性能的流水线电路。同时综合考虑提高可靠性所带来的附加开销,提出了基于开销限制前提的容错流水线电路设计解决思路。该方案能使传统电路以较少的附加开销达到容错性能的显著提升。
本研究小组在参考文献[9]中提出的RHBD-latch具有良好的容错性能,它采用了带有内部反馈链的双向互锁结构,从而消除了锁存器内部的脆弱点。RHBD-latch的结构如图1所示,输入D1或D2可以加一级延时单元,这样RHBD-latch就能够同时消除SEU和SET对电路的影响。RHBD-latch结构拥有3个独立的C单元CE(C-Element):CE1、CE2、CE3。 CE1 和 CE2 形成了一个双向互锁的保持结构,这样既可以在锁存器非透明的时候保持正确的值,又可以消除粒子轰击电路内部节点带来的影响。无论锁存器是否处于非透明状态,CE3都可以阻止SEU造成的输出错误。
为了评估时序单元对SEU的容错性能,本文引入了参数STF(SEU-Tolerance Function)。STF与时序单元内部节点数Ninternal-node和脆弱点数Nvulnerable-node有关。脆弱点(vulnerable node)是指内部节点中存在某些节点,当这些节点被粒子轰击后会直接造成单元输出错误。
Setvulnerable-node、Setinternal-node分别表示单元脆弱点和内部节点的集合。
电路在180 nm工艺下,由宇宙辐射中的中子和封装材料中的α粒子轰击电路所造成的沉积电荷量最大可达300 fC,电荷量的上限会随着工艺水平的提高而降低。例如在130 nm、100 nm、70 nm工艺水平下,沉积电荷量的上限分别是150 fC、80 fC、40 fC[10]。
对于传统的锁存器结构:Setvulnerable-node=Setinternal-node,即锁存器中的任意节点受到粒子轰击并随之产生一定量的沉积电荷后(这里采用180 nm工艺下的沉积电荷上限Qmax=300 fC),都会造成输出错误。而对于RHBD-latch结构,通过SPICE工具进行仿真后的实验证明,RHBD-latch结构不含脆弱点,Setvulnerable-node=Ø。 定义:
式中VF(Vulnerability Factor)为时序单元的脆弱因子,
STF∈[0,1],STF的值越高,单元的容错性能就越强。对于传统结构的 latch,STF=0,而对于 RHBD-latch结构,STF=1。
流水线电路将功能的执行操作分成多步并在若干个高速时钟内完成,如图2所示。
时序单元对整个流水线电路工作起到至关重要的作用。流水线电路中存在大量的触发器,若其中某个触发器发生SEU,则很可能造成下级多个触发器出错,并最终引起整个电路功能错误。本文针对电路的SEU,使用主从RHBD结构的D触发器(RHBD-DFF)代替传统触发器,如图3所示。若将原始电路中的传统触发器全部替换为RHBD-DFF,根据RHBD结构的容错性能,相对于使用传统锁存器或触发器,整体电路的容错性能将能得到最大提升。但综合考虑电路工作的实际条件,由于RHBD结构相对于传统锁存器或触发器,在面积上有一定的附加开销,而对于大多数片上系统SoC(System on Chip)设计,由于芯片内部硬件资源有限,因此,对所设计电路存在一定开销限制。在此前提下,可以挑选出对整体电路的运行功能以及可靠性影响最大,即最关键的触发器集合进行替换,从而达到以最小的代价获得最大容错性能的目的。
评价电路受软错误影响程度的指标是软错误率SER(Soft Error Rate),即软错误的发生频率。容错流水线电路SER:
式中,SER(FFi)是单个触发器FFi受粒子轰击并出错的频率,SetFF为原始流水线电路的全部时序单元集合(本文统一时序单元为主从锁存器结构的 D触发器),SetFFH表示需要用RHBD-DFF进行替换的触发器集合。本文提出的容错流水电路设计是在期望可靠性最大的情况下(SetFF=SetFFH),即需要将电路中所有传统触发器替换成RHBD-DFF,这是由传统触发器或锁存器对SEU的敏感性以及RHBD结构优良的容错性能所决定的。但对于许多SoC设计,由于芯片内资源有限,电路存在开销限制条件,为了在有限的开销限制条件下达到电路容错性能的最佳提升,则需要挑选出最关键的触发器集合SetFFH,SetFFH⊆SetFF,仅对集合SetFFH中的触发器进行替换。
为了评估电路容错性能的改善,本文引入容错性能改善系数 STIF(SEU-Tolerance Improved Factor):
式中,SERpipeline为原始流水线电路的SER。
本文以4级流水布斯乘法器为实验电路,内含66个D触发器,采用加速的方法[11]对电路进行故障注入。考虑输入是随机分布的情况,趋于极限则概率服从均匀分布,即将所有输入的向量组合都考虑到,并给每种组合赋予相同的出现概率。在每种输入情况下,对被测电路每个触发器分别注入故障,通过复位D触发器来模拟SEU的出现。
通过仿真工具NC-Verilog及综合工具Design Compiler对电路进行了仿真和综合,根据式(5)及本文提出的容错设计方案,在对实验电路进行容错设计改进后,STIF能达到100%,即容错性能的最大提升,相对于原始电路,带来的额外面积开销为51.3%,如图4所示。图4中同时列出使用其他容错SEU结构的锁存器对电路进行替换时,所带来的额外面积开销情况。需要注意的是,在使用 SDT-latch和 DF-DICE-latch进行替换时,虽然额外面积开销相对于本方案较低,但由于其结构本身存在脆弱点(即STF<1)的情况下,即使将电路的传统时序单元全部替换,也无法使STIF达到100%的提升,电路的容错性能无法完善。RHBD-latch和TMR-latch的结构内部不存在脆弱点,单元容错性能相同,即STF=1,但在达到相同的STIF情况下,采用TMR-latch设计电路的额外开销较大。
图4 各种锁存器设计电路的额外面积开销
在考虑面积开销限制条件的前提下,确定不同大小的SetFFH对整体电路容错能力提升STIF带来的影响,如图5所示。横坐标表示对不同大小SetFFH进行替换后所造成的额外面积开销。若对电路时序单元全部采用本方案(RHBD-latch结构)进行替换,STIF达到100%时,电路的额外面积开销为51.3%。若有存在面积开销限制,例如要求额外开销在10%左右,可选取对应的SetFFH、根据实验结果,替换后,整体电路面积仅比原始电路多了11.5%,而 STIF提升到 55.4%。
图5 电路容错效果提升
本文针对环境辐射引起地面电路出现软错误,并对电路工作构成严重影响这一事实,对当今数字电路设计应用广泛的流水线电路,提出了容错设计方案。在对时序单元进行容错性能分析的基础上,采用容错性能优良的RHBD-latch结构对流水线电路中存在的大量传统时序单元进行替换,使流水线电路具备容错特性。本文使用RHBD-latch结构来代替原始电路传统触发器中的主从锁存器,其结构的优良性能够极大地提高流水线电路的可靠性。若使用其他有脆弱点的结构(如DF-DICEDFF或SDT-DFF),将无法使电路的容错性能得到最优提升。相比于用TMR-DFF替换,本方案在达到相同STIF的前提下,面积开销可节省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:一种容软错误高可靠微控制器[J].计算机学报,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号处理器的故障注入方法与软错误敏感性分析 [J].计算机研究与发展,2006,43(10):1820-1827.