王海滨,侍 言,郭 刚,韩光洁
1(河海大学 信息科学与工程学院,江苏 常州 213022) 2(中国原子能科学研究院 国防科技工业抗辐照应用技术创新中心,北京 102413)
随着晶体管尺寸不断减小,单粒子效应(Single Event Effects,SEE)会造成集成电路严重的可靠性问题.单粒子效应由质子、中子、重离子等高能粒子撞击电路的敏感区域而引起[1],这些粒子与硅材料相互作用,形成电子-空穴对,通过漂移和扩散运动被附近节点收集,从而导致组合逻辑电路出现单粒子瞬态(Single Event Transient,SET),存储单元出现单粒子翻转(Single Event Upset,SEU),严重时甚至导致电路的永久性损坏[2].为了克服单粒子效应对存储单元的影响,在电路工艺上可以采用FDSOI技术,当然也可以在架构上采用错误检测和纠正技术(Error Detection and Correction,EDAC),由于触发器遍布芯片各处,会导致不必要的硬件开销[3].在前人的研究中,对触发器采用电路级加固被证明是有效的,所提出的双联锁存储单元(Dual Interlocked Storage Cell,DICE)[4]和三模冗余触发器(Triple Modular Redundancy D Flip-Flop,TMR DFF)可以有效的缓解单粒子翻转所导致的单节点翻转(Single Node Upset,SNU),并广泛应用于航天航空领域.
然而,随着芯片的集成度越来越高,节点电容和节点间距的减小,使得一个高能粒子的撞击可能会影响多个电路节点[5],并导致双节点翻转(Double Node Upset,DNU)和三节点翻转(Triple Node Upset,TNU).这对设计具有良好抗辐照性能的存储模块是一项很大的挑战,尤其在恶劣辐射环境中使用的关键部位[6].
针对上述问题,提出了一种可以对三节点翻转免疫的触发器(Rectangle DFF),该触发器的门控装置由1个时钟晶体管堆栈结构组成,由于其传输信号的时间窗口期很小,可以对触发器输入上的SET进行屏蔽;锁存部分包括:6个传输反相器、12个交叉耦合反相器构成两个TPDICE(Triple Path Dual Interlocked Storage Cell)环形结构和3个二输入的C单元构成的两级错误拦截装置.其中,两个TPDICE环形结构分别可以做到SNU自恢复,并且在出现TNU时,还有冗余节点保留正确的数据并对其部分节点进行恢复,而对于上恢复不了的错误节点,两级错误拦截装置可以对错误节点进行屏蔽.因此,提出的触发器能够实现3节点翻转免疫,具有更高的抗辐照性能.
目前,主流的存储电路加固是对锁存器的加固,而主从式触发器是由两个锁存器再加上时钟门控装置组成.所以,想要提高触发器的抗辐照性能,重点是对锁存部分进行电路加固设计.其中,C单元和DICE结构是典型的锁存电路加固结构.图1展示了不同输入的C单元[7]和DICE结构示意图.图1(a)是二输入和三输入的C单元结构示意图,当C单元的所有输入值相同时,输出为输入的反向值;若C单元的一个输入因为受到单粒子影响而不尽相同时,输出为高阻状态.图1(b)是在C单元的基础上加上钟控装置,只有在特定的时钟下,C单元结构才会正常工作,当钟控装置关闭时,C单元不工作从而减小功耗.DICE结构如图1(c)所示,它利用一对冗余节点来实现SNU自恢复,但是当非相邻的节点受到DNU时候会失效,即仅能从三分之一的 DNU 中自恢复[8].前人根据这两个加固结构,设计出一些经典的锁存器加固方案,如图2所示,图中开关所示为传输门,若开关旁边为CLK,则说明传输门中PMOS晶体管的栅极连接CLK,NMOS 晶体管的栅极连接到 NCK;若开关旁边为NCK,则反之.
图1 抗辐照设计中常用的加固结构Fig.1 Widely used components in radiation hardened designs
图2 已有的加固锁存器Fig.2 Previous hardened D-latch
图2(a)为FERST锁存器[9]的示意图,它由两个二输入的C单元和反相器组成的互锁反馈回路来稳健的保存回路,同时在输出阶段,使用一个二输入的C单元和保持器保持数据.FERST锁存器可以对SNU免疫,但是当出现DNU时,会保留无效的数据.图2(b)为CLCT锁存器[10],基于钟控技术,在锁存模式下DICE没有正反馈回路,防止了输出节点中的电流竞争,且DICE和保存器中保留的数据被反馈到三输入C单元的输上,这可以防止由于SNU和DNU的出现导致错误数据通过Q传播.但是,它对保持器上的SNU和DICE上出现的DNU不能自恢复,Q会出现高阻的状态.图2(c)基于此对高阻抗敏感的问题进行改进,通过三输入C单元和基于钟控的TPDICE驱动,对所有内部节点和输出节点不仅可以实现SNU自恢复,而且可以完全容忍DNU[11].但是,以上提出的锁存器不能对TNU免疫,图2(d)的TNUCT[12]可以实现TNU免疫,将4个DICE结构组成环形,单个DICE结构可以实现SNU自恢复,利用其他冗余节点,在出现TNU时候,总有节点保留正确数据,再通过3个C单元组成的错误拦截结构来阻止传播,完全做到TNU的免疫.但是此设计面积开销很大,如果改为D触发器电路,会超过基准的三模冗余触发器.为此,提出一种面积开销不超过三模冗余触发器,且可以完全容忍TNU的触发器电路.
图3(a)为提出的Rectangle DFF电路设计图,其中D为输入信号,Q为输出信号,CLK为时钟信号,NCK为反时钟信号.触发器的钟控装置由文献[13]提出的时钟晶体管堆栈结构组成,工作原理是利用CLK和NCK及其延迟节点构建狭窄的时间窗来传输数据,时间窗口位于CLK和CLKd的过渡期间,由CLK的正边沿(0→1)触发,并在CLK变低之前保持稳定;而锁存部分由6个传输反相器、12个交叉耦合反相器构成两个TPDICE环形结构和3个二输入的C单元构成的两级错误拦截装置组成,不仅可以对TNU免疫,而且只有触发时候数据才能传输进来,避免其他时刻上组合逻辑电路中的SET脉冲进入触发器.
图3 Rectangle D触发器结构Fig.3 Proposed rectangle DFF design
图3(b)为Rectangle DFF电路的版图设计,首先,为了防止组合逻辑电路中的SET,采用保护环[14]和阱接触[15]来保持电路阱电势,降低SET脉冲宽度,减小触发器上SEU的产生.而对于锁存部分的版图设计,则是采用节点电荷共享[16]的思想和节点分离[17]方法进行布局布线,对于电路中连接两个TPDICE环的晶体管PM1′~PM6′、NM1′~NM6′用节点分离的方式进行设计;对于晶体管PM1~PM6、NM1~NM6,因为它们属于一个TPDICE环中,影响范围小,则利用电荷共享的原理,将两个同时受打击的漏极节点放置在同一个方向,通过抵消PMOS晶体管收集的正电荷和NMOS晶体管收集的负电荷进行加固.
当CLK=0或CLK=1时候,时钟晶体管堆栈结构关闭,逻辑值无法传输,锁存器不工作可以降低功耗.当时钟处于正边沿时,时钟晶体管堆栈结构打开,逻辑值传输到n1、n3、n5、n7、n9、Q.将逻辑值直接连接到Q,减小传输延迟;其余的5个节点通过交叉耦合反相器将逻辑值传入到n2、n4、n6、n8、n10.6个交叉耦合反相器组成一个环形TPDICE结构,可以实现SNU自恢复,DNU发生时仍有1对正确节点.将如上构建的两个环形TPDICE中间节点进行连接组成一个大的矩形,可以保证在出现TNU时候,仍有正确节点,再利用C单元构建的两级错误拦截装置阻断错误数据的传输,使输出Q保持正确;而当节点翻转同时出现在两级错误拦截装置和TPDICE结构上时,由于错误拦截装置的输入不会同时翻转,并可以做到对错误的屏蔽,输出Q保持正确.综上所述,Rectangle DFF可以很好的存储数据并具有抗辐照性能.
本节将介绍触发器在保持状态下受到SNU、DNU、TNU的情况,并系统分析其抗辐照能力.
2.2.1 SNU免疫
根据设计的对称性,节点n1、n3、n5、n7、n9为D的相同值;n2、n4、n6、n8、n10为D相反值;C单元堆栈中的n13、n14为D相反值.因此,对于SNU的分析,有13种可能发生方式,分为以下3种情况进行说明.
第1种情况:当SNU出现在TPDICE环形结构中,即节点n1~n10.以TPDICE1为例进行说明,当CLK处于上升沿时候,信号D输入到节点n1、n3、n5,在由交叉耦合反相器传入n2、n4、n6.当D=0时,n1=n3=n5=0,通过PM1′、PM2、PM3′将数据传输,n2=n4=n6=1;当D=1时,n1=n3=n5=1,通过NM1、NM2′、NM3将数据传输,n2=n4=n6=0.当其任意一个节点发生SNU,以D=0,n1=0为例,当n1翻转为1,通过NM1,n2=0,由于交叉结构,错误不能继续传播;而n3=0、n6=1,通过PM2、NM1恢复n2=1,n1=0.其他单个节点的分析与其类似.综上,TPDICE1和TPDICE2中的10个节点可以实现SNU自恢复.
第2种情况:当SNU出现在两级错误拦截装置中,即n13、n14.由于第1级的4个输入n1、n9、n3、n7保持正确,可以恢复n13和n14,表明此种情况下,触发器可以实现SNU自恢复.
第3种情况:当Q节点上出现SNU,虽然会使Q暂时翻转,但是由于TPDICE环形结构和两级错误拦截装置不会受到影响,所以Q在之后可以恢复.
综上所述,Rectangle DFF可以对电路出现的SNU免疫.
2.2.2 DNU免疫
触发器对DNU免疫,一共有78种可能发生方式,可以概括为如下5种情况进行分析.
第1种情况:当两个节点翻转出现在TPDICE环形结构中,这种情况有4小类,第1类是TPDICE1和TPDICE2中各有一个节点,即
第2种情况:当TPDICE环形结构中有一个节点翻转,在两级错误拦截装置中有一个节点翻转时,有20种情况.根据2.2.1中分析,TPDICE有一个节点翻转时可以自恢复,所以不管n13和n14哪个翻转,错误不可继续传播到Q,且可以由第一级输入恢复.
第3种情况:当TPDICE环形结构中有一个节点翻转,Q翻转时,有10种情况.根据2.2.1中分析,TPDICE有一个节点翻转时可以自恢复,虽然Q节点暂时翻转,但通过n13和n14可以恢复Q上的值.
第4种情况:当两级错误拦截装置中有两个节点翻转时,即
第5种情况:两级错误拦截装置中有一个节点翻转,Q翻转时,有2种可能发生方式,即
综上分析,Rectangle DFF可以对电路出现的DNU免疫.
2.2.3 TNU免疫
在本节中,将对触发器的TNU免疫分为6种情况进行分析,共有286种可能发生方式.
第1种情况:当TPDICE环形结构中有3个节点翻转时,有5小类,第1类是3个节点只属于TPDICE1或者只属于TPDICE2中,且3个节点相邻,有4种可能发生方式,即
第2种情况:当TPDICE环形结构中有两个节点翻转,另一个在两级错误拦截装置中,即
第3种情况:当TPDICE环形结构中有两个节点翻转,另一个在Q上,即
第4种情况:当TPDICE环形结构中有一个节点翻转,在两级错误拦截装置中n13和n14同时翻转,即
第5种情况:当TPDICE环形结构中有一个节点翻转,在两级错误拦截装置中n13和n14有一个翻转,Q翻转,即
第6种情况:当两级错误拦截装置中n13和n14两个同时翻转,Q翻转,即
综上所述,Rectangle DFF能够做到对电路中出现的 SNU、DNU和TNU的免疫.
本文采用40nm CMOS技术对Rectangle DFF进行设计,仿真条件为标称电压1.1V、温度为27℃、时钟频率为250MHz,并采用SPECTRE仿真工具验证触发器的对SNU、DNU、TNU的免疫能力.在此次模拟中,用于锁存的PMOS晶体管的W/L=4,NMOS晶体管的W/L=3.
本文采用双指数电流源来模拟高能粒子入射电路节点所引起的瞬态电流[18],公式(1)给出注入电荷的表达式[19].在仿真时,设置注入的总电荷为0.1pC.
(1)
波形图中的标记代表在该节点该时刻注入故障.如图4所示,在保持期的不同时刻对Rectangle DFF的不同节点注入一个电荷,来验证不同情况下容忍SNU翻转的能力.图4(a)所示为SNU的第一种情况,在Q=0时,分别在4ns,5ns,6ns,12ns,13ns依次对节点n1,n3,n5,n7,n9注入正向脉冲,在Q=1时,分别在8ns,9ns,10ns,16ns,17ns依次对节点n1,n3,n5,n7,n9注入负向脉冲,可见输出Q的逻辑值正确.图4(b)验证了第2种和第3种情况,在Q=0时,4ns,5ns分别对节点n13,n14注入负向脉冲,6ns对Q注入正向脉冲;在Q=1时,8ns,9ns分别对节点n13,n14注入正向脉冲,10ns对Q注入负向脉冲,所有翻转的节点都可以自恢复到初始状态.
图4 SNU容错仿真波形Fig.4 Simulation results of SNU injected
如图5所示,在保持期的不同时刻对Rectangle DFF的不同节点注入两个电荷,来验证在5种情况下容忍DNU翻转的能力.图5(a)验证了第1种情况,分别在4ns、5ns、6ns、12ns对
图5 DNU容错仿真波形Fig.5 Simulation results of DNU injected
如图6所示,在保持期的不同时刻对Rectangle DFF 的不同节点注入3个电荷,来验证在6种情况下容忍翻转的能力.图6(a)验证了第1种情况,分别在16ns、17ns、18ns、20ns、21ns对
图6 TNU容错仿真波形Fig.6 Simulation results of TNU injected
本节将Rectangle DFF与基准的三模冗余触发器进行比较,主要从触发器加固性能、面积、延迟、功耗和功耗延迟积等方面比较.为了实验公平性,比较的触发器都使用相同的宽长比,采用40nm CMOS体硅工艺,1.1V供电电压,250MHz时钟频率,温度为27℃.
首先对加固性能进行比较,从表1中可以看出,三模冗余触发器不具备容忍DNU和TNU的能力,因为它由3个标准D触发器和三选二投票器构成.由于标准D触发器未做加固处理,对SNU没有容忍性,而三选二投票器也仅仅只能容忍SNU,对于翻转的节点也无法做到自恢复.而Rectangle DFF可以利用两个TPDICE环做到SNU自恢复,并且可以容忍DNU和TNU,所以Rectangle DFF比三模冗余触发器更可靠.
表1 触发器加固性能比较Table 1 Reliability comparisons among filp-flop
然后对两者开销进行比较,从表2的第2列比较两者面积,虽然Rectangle DFF为了容忍单粒子多点翻转,需要较多的晶体管构建高可靠路径,但可以看出所提出的触发器晶体管数目小于三模冗余触发器的晶体管数目.三模冗余触发器是经过所有晶体管才将Q送出,延迟较大,由于Rectangle DFF在触发时将输入D通过反相器传输到输出Q,所以延迟仅为TMR的56%.在功耗上,由于Rectangle DFF 为脉冲触发,会造成较大的功耗开销,其功耗为三模冗余触发器的1.75倍,但Rectangle DFF功率延迟积仍比TMR下降2%.综上分析,Rectangle DFF总开销优于三模冗余触发器.
表2 触发器开销比较Table 2 Overhead comparisons among filp-flop
随着CMOS工艺的进一步发展,需要改进触发器电路设计,以使其工作在恶劣的辐照环境中.基于40nm CMOS体硅工艺,提出了一种对单粒子三节点翻转免疫的触发器(Rectangle DFF).该设计由2个TPDICE组成的环形结构和3个C单元组成,两级拦截装置可以有效地屏蔽电路内部节点的单粒子错误.与三模冗余触发器电路相比,Rectangle DFF的面积开销降低15%,延迟降低44%,功率延迟积降低2%.