一种低功耗的容软错误锁存器设计

2020-10-10 12:25徐辉施峰
铜陵学院学报 2020年4期
关键词:瞬态功耗时钟

徐辉 施峰

(安徽理工大学,安徽 淮南232001)

一、引言

电路可靠性已成为现代纳米电子器件中的主要问题。随着CMOS技术快速发展,节点的供电电压和电容也在不断地降低。电路节点存储的关键电荷减小,增加了辐射环境中对于外部噪声的敏感性。当一个带有高能量的粒子(比如α粒子或者中子)轰击组合电路中的敏感节点时,可能会产生一个电流脉冲,该脉冲被称为单粒子瞬态(single event transient,SET)[1]。SET会通过组合电路下游传播,在下一个时序电路锁存,从而造成软错误;当一个高能粒子轰击锁存器或者触发器中的内部节点时,粒子轰击产生的沉积电荷大小超过了临界电荷时,就会导致存储值发生翻转,这种现象称为单粒子翻转(single event upset,SEU)[1]。半导体行业协会路线图(The Semi-conductor Industry Association Roadmap)表明SEU效应已经成为未来电子系统的可靠运行主要威胁因素之一[2]。

目前,国内外众多学者对软错误的研究,提出了一些有效的措施。对于存储单元,通常选择成本较低的纠错码技术进行软错误防护。在一般的应用中,存储元件已不再是研究的重点了。抗辐射加固技术主要集中在锁存器的设计上,对于锁存器电路SEU防护的加固方法可以被分成三类。第一类是有内部互锁反馈回路的锁存器,例如文献[5]中提到的DICE(Dual Interlocked Storage Cell)锁存器;第二类,锁存器具有通过使用C单元或者三模冗余(TMR)的方式过滤和屏蔽SEU的能力,例如文献[15]中提到的FERST(Feedback redundant SEU-tolerant latch)锁存器;第三类,锁存器通过增加晶体管尺寸来增强敏感节点的电容,例如文献[11]中含有施密特触发器的锁存器。这些加固方法的性能都是通过提升SEU容忍能力、面积、速度和功耗进行评估。

针对软错误对锁存器带来的影响,本文提出一种低功耗的抗SEU/SET锁存器。锁存器由3个互相锁存的C单元构成,通过采用高电平信号控制时钟反相器的方法构建内部反馈回路。透明期状态时,回路处在关断状态,从而降低锁存器的功耗。提出的锁存器是基于异构的双模冗余互锁设计。当锁存器内部节点受到高能粒子轰击从而发生翻转,其输出节点的逻辑值依然保持正确的逻辑值。受到影响的内部节点,很快在下一个透明期到来被恢复。除此之外,通过在一路添加延迟单元,可以很好地过滤从上游组合电路传播过来的SET脉冲,对于输出不受影响。

二、现有的加固锁存器设计

(一)静态锁存器

图1所示为标准静态锁存器,由2个传输门和3个反相器构成。通过使用反相器INV3和传输门TG2组成反馈回路存储数据[3]。由参考文献[16]实验结果测得可知,锁存器内部节点(图1中节点B,C或Q)关键电荷非常低,易受到瞬态故障的影响,使得输出节点逻辑值发生偏转,并且不能恢复。

图1 标准静态锁存器

(二)TMR锁存器

图2所示为基于三模冗余的TMR锁存器。TMR锁存器是将静态锁存器复制成三份(latch1,latch2,latch3),每一个静态锁存器的输出都和表决电路的输出相连。当任意一个静态锁存器中的内部节点受到瞬态故障影响时,TMR锁存器都会保证有正确的逻辑值输出。虽然TMR锁存器对单粒子翻转全免疫,但是成本开销较大。

图2 TMR锁存器

(三)LSEH-1锁存器

图3所示为文献[14]提出的LSEH-1锁存器,该锁存器包含三个反馈回路(A,B,C)和1个C单元构成。当其中任意一个反馈回路受到粒子轰击后,使得节点发生翻转。另外两个反馈回路没有受到影响,并且纠正受到影响的节点。另外,LESH-1锁存器利用时间偏移原理,能够过滤从上游组合电路传播过来SET脉冲。

图3 LSEH-1锁存器

(四)FERST锁存器

图4所示为文献[15]提出的FERST锁存器。该锁存器能够过滤N1、N2、N3、N4和Q节点上的瞬态故障,对SEU完全免疫。但是,由于采用了多个C单元,使得数据通过锁存器的延迟时间大大增加,且该结构不适用于门控时钟电路。

图4 FERST锁存器

(五)STI锁存器

图5所示为文献[11]提出的STI锁存器。该锁存器由时钟控制的反相器,施密特触发器和电压比较器组成。STI锁存器利用施密特触发器的时间滞后特性提供全节点保护,避免软错误发生。由于该锁存器采用了施密特触发器,使得该锁存器传播延迟比较大。

图5 STI锁存器

三、提出的加固锁存器设计

(一)电路结构与容SEU原理

本文提出了一种基于双模冗余下的低功耗加固锁存器,电路结构如图6所示。锁存器中的每一个C单元输出状态都是由另外两个C单元输出控制,三个C单元之间相互形成了互锁的结构。其中,D和Q是锁存器的输入和输出节点,CLK和CLKB分别为系统时钟和反系统时钟。该结构包含3个传输门(TG1,TG2,TG3),4个反相器(INV1,INV2,INV3,INV4),2个时钟反相器(GINV1,GINV2),3个二输入的C单元(CE1,CE2,CE3)。

图6 提出的加固锁存器

当CLK=1,CLKB=0时,锁存器进入透明状态,传输 门TG1和TG2打开,TG3关闭,时钟反相器GINV1,GINV2关闭,反馈回路Loop1和Loop2处于断开状态。内部节点N3、N4分别通过传输门TG1和TG2与输入节点D连接,N3和N4一方面分别通过反相器INV1和INV2把数据写入到N1和N2节点;N1和N2作为CE3单元的输入,通过CE3单元把数据写入到Q节点。另一方面N3和N4分别通过反相器INV4和INV3把数据写入到N5和A节点,N5和A作为CE1和CE2的输入。在透明期时,TG3和反馈回路关闭,降低锁存器工作时的功耗。

当CLK=0,CLKB=1时,锁存器进入锁存状态,传输门TG1和TG2关闭,内部节点N3和N4与输入节点D之间断开,TG3打开,晶体管MN11和MN13打开,使得时钟反相器GINV1,GINV2打开,反馈回路Loop1和Loop2处于导通。此时,输出节点Q通过传输门TG3,与时钟反相器GINV1直接相连。Loop1反馈回路导通,使得CE1单元正常工作,并保持N3节点的逻辑值;Loop2反馈回路的导通,使得B节点的电荷通过时钟门GIV2被节点N3补充。B点驱动的晶体管MP4和MN3与A点驱动晶体管MP3和MN4一起工作保持N4节点的逻辑值。因此,三个C单元(CE1,CE2,CE3)之间相互形成互锁的结构,使得输出节点一直都存在逻辑值。图7所示为锁存器在透明期和锁存期时,内部每个节点仿真波形图。

图7 本文提出的锁存器的仿真波形

锁存器中对SEU敏感的节点有N3、N5、A、B、NQ、C、Q、N1、N2、N4。节点N3或C,N5、A、B和NQ,N1和N2发生瞬态故障情形相同,只需分析其中一个节点的瞬态故障即可。因此,SEU影响锁存器的情形从N3、N5、Q、N1和N4这5种情况讨论。

1.当N3节点发生瞬态故障时,内部节点N5、N1、B会发生翻转,N4保持高阻态,节点N3的翻转不会影响输出节点Q的逻辑值。根据C单元的特性,两个输入信号不同时,输出端将保持高阻态,依然保持了正确的输出值。

2.当N5节点发生瞬态故障时,输出节点Q的逻辑值没有影响,依然保持了正确的输出值。在锁存阶段,当N5节点短暂的发生翻转,由于单元CE1的屏蔽功能,N3节点处在高阻态,通过驱动晶体管MP7和MN7把N5恢复至正确的逻辑值。

3.当Q节点发生瞬态故障时,由于节点NQ和输出节点Q通过时钟门GIV1相连,节点NQ也将受到影响,会发现翻转。其他内部节点没有受到影响(N5节点不变,使得N3节点处在高阻态),N2和N1节点保持不变,通过驱动CE3单元快速恢复节点Q的逻辑值。

4.当N1节点发生瞬态故障,CE3单元的两个输入不相同,由于单元CE3的屏蔽功能,输出节点Q的逻辑值不受影响。由于N3节点未受到瞬态故障影响,通过反相器INV1把N1恢复至正确的逻辑值。

5.当N4节点发生瞬态故障时,由于节点N4和节点A通过反相器INV3相连,A节点也将受到影响,会发生翻转。在另一条异构的路径中,N3节点没有受到影响,与N3节点类似,Q节点处在高阻态。

综上所述,该锁存器对SEU完全免疫。

(二)容SET原理

本文提出的防护SET锁存器结构如图6所示。通过在输入节点D2和传输门TG2之间添加延迟单元,使得锁存器的两个输入D1和D2之间产生时间偏移[4],在利用末端C单元的屏蔽能力过滤传入的SET。

当CLK=1,CLKB=0时,锁存器进入透明期。此时,时钟反相器GINV1和GINV2,传输门TG3,两个反馈回路Loop1和Loop2均关闭。输入被分成两条独立的路径应用在C单元上,一路是直接通过N3节点的D1路径,另一路是从D2到N4带有延迟单元的D2路径,通过两条数据路径和C单元过滤从上游组合电路中的SET。

(三)SEU故障注入实验

本文利用Hspice仿真工具对提出的锁存器进行SEU故障注入,以评估提出锁存器的抗SEU能力。实验条件为:45nm的PTM工艺模型[5],1.0V供电电压、时钟频率为500MHz、环境温度为25℃。采用文献[6]中双指数电流源模型模拟粒子轰击所产生的瞬态脉冲[6]。其中,双指数电流源的数学公式为:

其中,I(t)为节点收集的电荷引起的电流,Q为受到高能粒子轰击后节点收集的临界电荷量,τ1和τ2是与工艺相关的时间常数[7]。考虑到让实验的数据更加充分,实验分别在低电平和高电平的情况下对锁存器中的节点进行故障注入,仿真结果如图8和图9所示。

图8 各节点逻辑为“1”时的故障注入

图9 各节点逻辑值“0”时的故障注入

由图8、图9可知,对内部节点N3注入SEU,正如之前描述一样,N5和N1会发生翻转,但是N2保持不变,并没有影响Q节点的输出。当对N1和N5节点注入SEU时,Q节点的逻辑值保持高阻态,并且N1和N5恢复到之前的正确逻辑值。当对节点N4注入SEU时,Q节点保持不变,受到影响的N4节点在下一个透明期恢复过来。对于锁存器的输出节点Q注入SEU,节点Q会在锁存期间发生翻转,并且在一定时间内恢复到初始逻辑值状态。

(四)SET故障注入实验

从图10中可知,当锁存器处在透明阶段时,分别在时间4.2ns,对输入D1和D2施加电压信号为1.0V,宽度为300ps的脉冲。由于D2输入中存在延迟单元,实验中延迟的时间设置为200ps。因此,时间在4.4ns时,D2输入中出现了和D1输入中相同的脉冲信号。输出端Q只产生很小的波动,几乎可以忽略。因此,该锁存器具有过滤从上游组合逻辑传播来的SET脉冲的能力。

图10 透明时期输入D出现SET故障

四、锁存器的性能比较

为了便于对已有加固锁存器充分的比较,表1所示为本文提出的锁存器与已有的锁存器的各个参数比较结果。第2列为锁存器透明期工作时,输入D至输出Q的传播时间,决定了锁存器的速度,是重要的性能评估指标。第3列为功耗开销,是在输入切换活动率为50%的条件下测出。第4列为功耗延迟积(Power Delay Product,PDP),可以综合的预估锁存器的速度和功耗。第5列为面积开销,根据文献[8]中提到的方法计算面积开销(使用晶体管数量代替面积开销)。第6列为对SEU都全免疫,只有SIN-LC和静态锁存器对SEU不免疫,输出节点易受到影响。第7列为是否过滤上游组合电路传播来的SET。从表2中可以看出,文献[11,12,14,15],TMR和提出的结构均可以屏蔽组合逻辑中的SET。虽然提出的结构在晶体管数目上没有优势,延迟处于中等水平,但在同时抗SEU/SET的锁存器中,功耗是最小的。PDP损耗与FERST相当,小于TMR、LCHR、LSEH-1、STI锁存器。

表1 提出的锁存器与已有的锁存器的参数比较

另外,本文提出的锁存器相比于已有的锁存器的参数相对比较结果如表2所示。

锁存器的参数相对比计算公式:

表2 提出的锁存器相比于已有的锁存器的参数相对比

从表2中可以看出,本文锁存器的延迟、功耗和PDP下降的趋势较明显。其中,面积开销平均增加了3.90%,延迟平均下降37.34%,功耗平均下降55.01%,PDP平均下降75.22%。

五、结论

本文提出了一种低功耗、全免疫的加固锁存器。该锁存器的内部节点和输出节点不仅完全容忍SEU,而且还具有过滤从上游组合电路传播过来的SET脉冲能力。HSPICE仿真实验结果表明相比于TMR、FERST、LCHR、STI、LESH-1锁存器,本文提出的锁存器功耗平均55.01%,PDP平均下降了75.22%,延迟下降了37.34%。

猜你喜欢
瞬态功耗时钟
基于任务映射的暗硅芯片功耗预算方法
别样的“时钟”
激发态和瞬态中间体的光谱探测与调控
古代的时钟
高压感应电动机断电重启时的瞬态仿真
基于改进HHT的非高斯噪声中瞬态通信信号检测
揭开GPU功耗的面纱
有趣的时钟
数字电路功耗的分析及优化
时钟会开“花”