一种基于40nm CMOS体硅工艺的抗单粒子翻转触发器设计

2023-12-13 01:39王海滨韩光洁
小型微型计算机系统 2023年12期
关键词:触发器晶体管错误

王海滨,侍 言,郭 刚,韩光洁

1(河海大学 信息科学与工程学院,江苏 常州 213022) 2(中国原子能科学研究院 国防科技工业抗辐照应用技术创新中心,北京 102413)

1 引 言

随着晶体管尺寸不断减小,单粒子效应(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节点翻转免疫,具有更高的抗辐照性能.

1 已有的加固结构

目前,主流的存储电路加固是对锁存器的加固,而主从式触发器是由两个锁存器再加上时钟门控装置组成.所以,想要提高触发器的抗辐照性能,重点是对锁存部分进行电路加固设计.其中,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的触发器电路.

2 加固的触发器设计

2.1 电路结构和工作原理

图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可以很好的存储数据并具有抗辐照性能.

2.2 抗单粒子翻转的原理

本节将介绍触发器在保持状态下受到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中各有一个节点,即等35种可能发生方式.根据2.2.1中第1种情况分析,则该触发器可以实现DNU的自恢复.第2类是当两个错误节点出现在TPDICE1或者TPDICE2的相邻节点时,即.例如,当D=1时,n1=n3=n5=1,n2=n4=n6=0;若n1翻转为0,n2翻转为1,则通过PM1′和NM2,使n6=1,n3=0,而n4和n5仍然正确,通过PM3和NM2′可以对n3和n6进行恢复,虽然n1和n2仍不正确,但是触发器仍可以通过两级错误拦截装置进行过滤,保证Q上值正确.当D=0时,分析与上类似,Q仍保持正常值.第3类是当一个TPDICE上间隔为1的两个节点出现错误,即.由于TPDICE1和TPDICE2结构相似,所以以TPDICE1为例,若D=1时,n1=n3=1;若n1和n3被翻转到0,则通过PM1′和PM2,使n6=n2=0,而n4=0,n5=1,则通过PM3和NM2′,可以恢复n6=0,n3=1.虽然n1和n2不可恢复,但是通过两级错误拦截装置进行过滤,输出Q不会受到干扰.第4类是当一个TPDICE上的间隔为2的两个节点出现错误,即.以为例,当D=1时,n1=1,n4=0,当出现错误时,节点n1和n4通过PM1′和NM3′,使n6=1,n5=0,而n2和n3还是正确节点,可以通过P1和N3使n1=1,n4=0,且n5和n6可由TPDICE2种n7和n10节点通过NM4′和PM6′恢复,所以可以全部恢复;而在D=0时,若n1和n4翻转,通过分析,最后只有n2和n3节点不可恢复,而通过两级错误拦截装置可以进行过滤.

第2种情况:当TPDICE环形结构中有一个节点翻转,在两级错误拦截装置中有一个节点翻转时,有20种情况.根据2.2.1中分析,TPDICE有一个节点翻转时可以自恢复,所以不管n13和n14哪个翻转,错误不可继续传播到Q,且可以由第一级输入恢复.

第3种情况:当TPDICE环形结构中有一个节点翻转,Q翻转时,有10种情况.根据2.2.1中分析,TPDICE有一个节点翻转时可以自恢复,虽然Q节点暂时翻转,但通过n13和n14可以恢复Q上的值.

第4种情况:当两级错误拦截装置中有两个节点翻转时,即.虽然输出Q会短暂改变,由于其第1级输入n1、n3、n7、n9未改变,进而恢复n13、n14,Q也随之恢复正常.

第5种情况:两级错误拦截装置中有一个节点翻转,Q翻转时,有2种可能发生方式,即.通过第一级输入n1、n3、n7、n9可恢复n13或者n14,进而恢复Q.

综上分析,Rectangle DFF可以对电路出现的DNU免疫.

2.2.3 TNU免疫

在本节中,将对触发器的TNU免疫分为6种情况进行分析,共有286种可能发生方式.

第1种情况:当TPDICE环形结构中有3个节点翻转时,有5小类,第1类是3个节点只属于TPDICE1或者只属于TPDICE2中,且3个节点相邻,有4种可能发生方式,即.例如,当D=1时,n1=n3=1,n2=0,若n1、n2、n3翻转,则节点n1通过PM1′将n6翻转为1,而保存正确值的n4和n5可以通过PM3和NM2′,使n3=1、n6=0.虽然n1和n2节点无法恢复,可以通过两级错误拦截装置进行过滤,保证触发器输出正确.第2类是若翻转的3个节点只属于TPDICE1或者只属于TPDICE2中,且其中两个节点相邻,剩下的一个节点与其他相邻的两个中任一间隔为1,4种可能发生方式分别为.例如,当D=1时,n1=1,n2=n4=0,若此3个节点翻转,则通过PM1′、NM2、NM3′,将n3、n5、n6全部翻转.由于n5和n6也属于TPDICE2,所以节点n7和n10通过NM4′和PM6′恢复n5、n6,虽然n1~n4不能恢复,但两级错误拦截装置的一级输入未同时翻转,Q仍然正确;而D=0时,n1、n2、n4会导致n3翻转,而n5和n6的正确数据通过PM3′、NM1′恢复n4和n1,其他节点经过拦截,Q仍正确.第3类是翻转的一个节点位于TPDICE1(TPDICE2),另外两个节点位于TPDICE2(TPDICE1),且两个为相邻节点,即等,共56种可能发生方式.例如,当D=1时,n1=n7=1,n2=0,若此3个节点翻转,根据2.2.2的第1种情况的第2类中所述,n1和n2若翻转无法恢复,由于TPDICE2可以实现SNU自恢复,则n7可以恢复,而两级错误拦截装置的第1级节点未同时翻转,触发器在本种情况下可以对TNU免疫.第4类是翻转的一个节点位于TPDICE1(TPDICE2),另外两个节点位于TPDICE2(TPDICE1),且两个节点间隔为1,即等,共42种可能发生方式.例如,当D=1时,n1=n3=n7=1,若此3个节点翻转,根据2.2.2的第1种情况的第3类所述,最后会导致n1和n2不可恢复,而n7在TPDICE2中可自恢复,可以两级错误拦截装置进行过滤.第5类是翻转的一个节点位于TPDICE1(TPDICE2),另外两个节点位于TPDICE2(TPDICE1),且两个节点间隔为2,即等,共14个.例如,当D=1时,n1=n7=1,n4=0,若此3个节点翻转,根据2.2.2的第1种情况的第4类所述,TPDICE1和TPDICE2可以自恢复,触发器所有节点最终正确.当D=0时候,根据2.2.2的第1种情况的第4类所述,n2和n3不可恢复,但是两级错误拦截装置可以进行过滤.由此得知,触发器在本种情况下的5小类全部对TNU免疫.

第2种情况:当TPDICE环形结构中有两个节点翻转,另一个在两级错误拦截装置中,即等,共90种可能发生方式.首先对于TPDICE环形结构中的翻转,根据2.2.2中的分析,在最糟糕的情况下,只会有两个节点不能恢复,一共6种情况,即.但是两级错误拦截装置的第1级输入不会同时翻转,所以两级输入也不会同时翻转,Q上的值会保持.例如,在最糟糕的情况下,即翻转,由于n1和n9属于同一个C单元的输入,会导致n13暂时翻转,进而Q翻转;但是n1和n9同属不同的TPDICE环,所以电路可以实现对n1和n9的自恢复,而且连接n14的C单元输入并未翻转,所以通过C单元结构,可以恢复n13和n14,再恢复Q.

第3种情况:当TPDICE环形结构中有两个节点翻转,另一个在Q上,即等,共45种可能发生方式.根据2.2.3中第2类情况的分析,两级错误拦截装置的一级输入不会同时翻转,则n13和n14不会翻转,从而恢复Q的值.

第4种情况:当TPDICE环形结构中有一个节点翻转,在两级错误拦截装置中n13和n14同时翻转,即等,共10种可能发生方式.由2.2.1分析,TPDICE环形结构有SNU自恢复能力,则两级错误拦截装置的一级输入会恢复正确,从而改变n13和n14,Q虽然短暂翻转,但是会恢复正常.

第5种情况:当TPDICE环形结构中有一个节点翻转,在两级错误拦截装置中n13和n14有一个翻转,Q翻转,即、共20种可能发生方式.Q虽然也会暂时出现错误,但由2.2.1分析,TPDICE环形结构有SNU自恢复能力,则两级错误拦截装置的一级输入会恢复正确,从而恢复n13或n14,再恢复Q的正确值.

第6种情况:当两级错误拦截装置中n13和n14两个同时翻转,Q翻转,即.由于TPDICE环形结构中节点未翻转,则通过两级错误拦截装置可以恢复n13、n14,进而恢复Q.

综上所述,Rectangle DFF能够做到对电路中出现的 SNU、DNU和TNU的免疫.

3 仿真设置与结果分析

3.1 仿真设置

本文采用40nm CMOS技术对Rectangle DFF进行设计,仿真条件为标称电压1.1V、温度为27℃、时钟频率为250MHz,并采用SPECTRE仿真工具验证触发器的对SNU、DNU、TNU的免疫能力.在此次模拟中,用于锁存的PMOS晶体管的W/L=4,NMOS晶体管的W/L=3.

3.2 仿真结果

本文采用双指数电流源来模拟高能粒子入射电路节点所引起的瞬态电流[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对进行注错验证,分别从属2.2.2的第1种情况的的4种分支,从波形图可以看出,Q保持正确的逻辑值.图5(b)验证其他4种情况,分别在9ns、10ns、13ns、14ns对进行注错验证,分别对应2.2.2中的第2种情况~第4种情况,仿真结果与分析一致,Q保持正确逻辑值.

图5 DNU容错仿真波形Fig.5 Simulation results of DNU injected

如图6所示,在保持期的不同时刻对Rectangle DFF 的不同节点注入3个电荷,来验证在6种情况下容忍翻转的能力.图6(a)验证了第1种情况,分别在16ns、17ns、18ns、20ns、21ns对进行注错验证,分别从属2.2.3的第1种情况的5种分支,从波形图可以看出,Q保持正确的逻辑值.图6(b)验证其他5种情况,分别在22ns、24ns、25ns、26ns、28ns对进行注错验证,分别对应2.2.3中的第2种情况~第5种情况,可以看到输出Q依然保持正确逻辑值.

图6 TNU容错仿真波形Fig.6 Simulation results of TNU injected

3.3 性能比较

本节将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

4 结 语

随着CMOS工艺的进一步发展,需要改进触发器电路设计,以使其工作在恶劣的辐照环境中.基于40nm CMOS体硅工艺,提出了一种对单粒子三节点翻转免疫的触发器(Rectangle DFF).该设计由2个TPDICE组成的环形结构和3个C单元组成,两级拦截装置可以有效地屏蔽电路内部节点的单粒子错误.与三模冗余触发器电路相比,Rectangle DFF的面积开销降低15%,延迟降低44%,功率延迟积降低2%.

猜你喜欢
触发器晶体管错误
在错误中成长
2.6万亿个晶体管
功率晶体管击穿特性及测试分析
主从JK触发器逻辑功能分析
使用触发器,强化安全性
一种新型的耐高温碳化硅超结晶体管
不犯同样错误
意法半导体(ST)新款100V晶体管提高汽车应用能
《错误》:怎一个“美”字了得
对触发器逻辑功能转换的分析