一种半导体电路抗单粒子翻转的全加固方法及系统的制作方法_4

文档序号:8412651阅读:来源:国知局
实施例,延时单元Mll可以采用反相器或缓冲器实现;
[0140]缓冲器Buffer的输入端为延时单元Mll的输入端,缓冲器Buffer的输出端为延时单元Ml I的输出端;
[0141]反向器NOT的输入端为延时单元Mll的输入端,反向器NOT的输出端为延时单元Mll的输出端。
[0142]两模时间冗余选择器M12由马勒(Muller)C单元或经过变形的马勒(Muller)C单元组成。
[0143]在本发明实施例中,时间冗余结构可以按照信号输出分为同向时间冗余结构和反向时间冗余结构,其中,同向时间冗余结构参见图13a,包括:
[0144]反向器NOT、P 型 MOS 管 P1、P 型 MOS 管 P2、N 型 MOS 管 N1、N 型 MOS 管 N2 ;
[0145]反向器NOT的输入端为延时单兀Mll的输入端,反向器NOT的输出端为延时单兀Mll的输出端与N型MOS管N2的栅极连接,N型MOS管N2的栅极还作为两模时间冗余选择器M12的第二输入端与P型MOS管Pl的栅极连接,P型MOS管Pl的源极连接电源电压,P型MOS管Pl的漏极与N型MOS管NI的漏极连接,N型MOS管NI的源极与N型MOS管N2的漏极连接,N型MOS管N2的源极与P型MOS管P2的源极连接,P型MOS管P2的漏极接地,N型MOS管NI的栅极作为两模时间冗余选择器M12的第一输入端与P型MOS管P2的栅极连接。
[0146]反向时间冗余结构参见图13b,包括:
[0147]缓冲器Buffer、P 型 MOS 管 P3、P 型 MOS 管 P4、N 型 MOS 管 N3、N 型 MOS 管 N4 ;
[0148]缓冲器Buffer的输入端为延时单元Mll的输入端,缓冲器Buffer的输出端为延时单元MlI的输出端与N型MOS管N3的栅极连接,N型MOS管N3的栅极还作为两模时间冗余选择器M12的第二输入端与P型MOS管P3的栅极连接,P型MOS管P3的源极连接电源电压,P型MOS管P3的漏极与P型MOS管P4的源极连接,P型MOS管P4的漏极与N型MOS管N3的漏极连接,N型MOS管N3的源极与N型MOS管N4的漏极连接,N型MOS管N4的源极接地,P型MOS管P4的栅极作为两模时间冗余选择器M12的第一输入端与N型MOS管N4的栅极连接。
[0149]作为本发明一实施例,N型MOS管N1-N4、P型MOS管P1-P4以及反向器NOT和缓冲器Buffer中的MOS管,均可以采用宽长比倒置的倒比管实现。
[0150]在本发明实施例中,全加固设计要求时间冗余结构其本身为非单粒子敏感结构,延时单元Mll的延时长度可由倒比管的参数进行调整。
[0151]作为本发明一实施例,仿真单元12包括:
[0152]第一单粒子轰击单元121,用于对各功能模块间的连线进行单粒子轰击;
[0153]第一数据判断单元122,用于判断各功能模块的输入端在受单粒子轰击后,功能模块输出端数据是否异变;
[0154]第一存储单元123,用于当功能模块的输入端在受单粒子轰击后,功能模块的输出端数据不发生异变时,记录功能模块为不敏感模块,当功能模块的输入端在受单粒子轰击后,功能模块的输出端数据异变时,记录功能模块为敏感模块;
[0155]第二划分单元124,用于将每一敏感模块分别划分为多个基本功能单元;
[0156]第二单粒子轰击单元125,用于对各基本功能单元间的连线进行单粒子轰击;
[0157]第二数据判断单元126,用于判断各基本功能单元的输入端在受单粒子轰击后,基本功能单元的输出端数据是否异变;
[0158]第二存储单元127,用于当基本功能单元的输入端在受单粒子轰击后,基本功能单元的输出端数据不发生异变时,记录基本功能单元为不敏感单元,当基本功能单元的输入端在受单粒子轰击后,基本功能单元的输出端数据异变时,记录基本功能单元为敏感单元;
[0159]第三单粒子轰击单元128,用于对基本功能单元中MOS管的每一节点进行轰击;
[0160]第三数据判断单元129,用于判断敏感单元中MOS管的每一节点在受单粒子轰击后,敏感单元的输出端数据是否异变;
[0161]第三存储单元120,用于当敏感单元中MOS管的节点在受单粒子轰击后,敏感单元的输出端数据不产生异变时,记录节点为不敏感节点,当敏感单元中MOS管的节点在受单粒子轰击后,敏感单元的输出端数据异变时,记录则节点为敏感节点。
[0162]在本发明实施例中,如图3b所示,首先第一单粒子轰击单元121对各个功能模块(模块/单元l-η)间的连线进行单粒子轰击,第一数据判断单元122判断各功能模块的输入端在受单粒子轰击后,该功能模块输出端数据是否异变,若功能模块的输出数据出现异常变化时,第一存储单元123记录功能模块为敏感模块;然后第二划分单元124将每一敏感模块分别划分为多个基本功能单元,从单元级寻找单粒子翻转敏感区域,每个功能模块都是由不同的基本功能单元组成,第二单粒子轰击单元125对不同的基本功能单元间的连线进行单粒子轰击,第二数据判断单元126判断各基本功能单元的输入端在受单粒子轰击后,基本功能单元的输出端数据是否异变;若基本功能单元的输出数据出现异常变化时,第二存储单元127记录基本功能单元为敏感单元;基本功能单元以下就是MOS管级的电路,在寻找MOS管级敏感节点时,第三单粒子轰击单元128将对敏感单元内每一个节点进行轰击,但只观察该敏感单元的输出,并记录每个轰击节点的对应输出效果,若第三数据判断单元129判断敏感单元的输出数据出现异常变化时,第三存储单元120记录则节点为敏感节点,以实现较精准地寻找到需要加固的结构或节点。
[0163]作为本发明一优选实施例,时间冗余结构添加单元13包括:
[0164]第三划分单元131,用于根据敏感节点的仿真数据,对半导体电路划分敏感区域;
[0165]添加单元132,用于对敏感区域的输入端添加时间冗余结构,并对敏感区域内部的敏感节点添加时间冗余结构,并对敏感区的输出端添加时间冗余结构。
[0166]在本发明实施例中,在确定单粒子翻转敏感节点后,添加单元132添加时间冗余结构,以对其进行加固处理,但不是所有敏感节点都需要进行加固,根据敏感节点的仿真数据,在全部或者部分敏感节点处添加时间冗余结构,以实现全加固功能。
[0167]首先,第三划分单元131对电路的敏感结构区域进行划分,这里的划分并不是仿真前的模块划分处理,而是根据之前的记录的敏感节点仿真的数据进行分析,如图5所示,确定出由敏感模块、敏感单元以及敏感节点构成的敏感区域1-3,而敏感区域划分的原则为,在敏感区域内发生的单粒子翻转会导致电路输出错误的状态;其次,对敏感区域的输入进行加固,如果敏感区域内节点较少,可以把输入节点和内部节点合并加固,如果敏感区域内部节点较多,那么输入的单粒子翻转就有可能导致敏感区域内部多个节点同时发生错误电路状态,此时就需要对输入进行单独的加固,即在输入节点加入一个同向时间冗余结构;再次,对敏感区域内部的敏感节点进行加固,如果敏感区域内不含有锁存结构,那么敏感区域内的节点可以在调整参数仿真时通过调整敏感区域内部MOS管参数进行加固,但如果含有锁存结构,锁存结构需要单独作为一个敏感区域进行加固;再次,对敏感区的所有输出进行加固设计,即在敏感区域的输出添加时间冗余结构;经过以上结构性加固后,敏感区域达到半加固效果,实现全加固必须依靠调整MOS管参数,让所有敏感节点的翻转时间在时间冗余结构的延时界限内。
[0168]MOS管调整单元14包括:
[0169]沟道宽度调整单元141,用于调节驱动敏感节点的MOS管的沟道宽度,其调节比例不超过+200%,或调节两模时间冗余选择器的MOS管的沟道宽度;
[0170]沟道长度调整单元142,用于调节延时单元中的MOS管的沟道长度,使敏感节点的翻转时间维持在时间冗余结构的延时界限内;
[0171]栅极调整单元143,用于调节两模时间冗余选择器的MOS管的栅极数量,以加快单粒子电流释放。
[0172]在本发明实施例中,经过从输入到输出的结构性加固,接下来在仿真中不断调整MOS管的参数,整个过程是从输入到输出的方向,从敏感节点本身到时间冗余结构,注意所有参数的调整要在不改变电路功能和超电路运作速度的界限。
[0173]如图6所示,0.13um深亚微米工艺在不同能量的单粒子电流模型持续时间大概在
0.1ns到Ins间,经过试验,其对电路产生的错误状态持续时间大概在0.2ns到2ns间,如果只调整敏感节点本身的MOS管参数,很难将电路产生的错误状态持续时间减小到0,也很消耗电路的功耗,即需要通过调整MOS管参数,实现敏感区域的所有单粒子敏感节点可能导致敏感区域输出的翻转时间在Ins内,最后在输出处被添加的时间冗余结构滤除。在不同的尺寸工艺下,有不同的电流模型,错误状态持续时间也不同,需要根据不同工艺确定错误状态持续时间;而时间冗余结构的输出本身就是单粒子翻转敏感点,所以其输出级MOS管的W/L值在仿真中需要增大,直到其翻转时间在电路容忍范围内。
[0174]调整MOS管参数的原则具体如下:通过沟道宽度调整单元141调节驱动敏感节点的MOS管时应调W/L (宽长比)中的W (宽),L (长)不要调,M (栅极数量)变动不要超过+200% ;调节延时器的延时MOS管时,通过沟道长度调整单元142调L(长),W (宽)和M (栅极数量)尽量少改,注意延时器的延
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1