TMR锁存器

下图展示了TMR锁存器,它是基于冗余及表决器实现SNU容忍的经典锁存器。TMR锁存器基于三模冗余实现。三模冗余是指将原有模块复制三份,再通过表决电路进行表决判断的技术。三模冗余技术的主要特点是可靠性高但是需要额外的开销。TMR锁存器由一个由逻辑门组成的表决器和三个标准静态锁存器构成。其中,三个标准静态锁存器形成了三个反馈环。

锁存器缓冲器有什么作用(8种不同的SNU容忍的锁存器分别有什么样的作用)(1)

在开销方面,TMR锁存器由多个相同模块构成,因此其面积和功耗相对较高。在容错能力方面,由于SNU最多只能影响一个反馈环,因此TMR锁存器能够通过表决器过滤该错误,使得输出节点Q不受影响。此外,如果SNU发生在表决器中,那么表决器中的值将通过所有反馈环的正确锁存值刷新,从而自恢复。综上所述,TMR锁存器具有SNU容忍能力。

锁存器缓冲器有什么作用(8种不同的SNU容忍的锁存器分别有什么样的作用)(2)

HRLC锁存器

下图展示了HRLC锁存器。该锁存器采用了C单元及迟滞技术实现了SNU容忍。HRLC锁存器主要由一个DICE、一个2输入C单元、一个ST以及两个反相器组成。该锁存器的SNU容错原理如下:

锁存器缓冲器有什么作用(8种不同的SNU容忍的锁存器分别有什么样的作用)(3)

情形1:DICE中的任意一个节点翻转,即节点N1、N2、N1b和N2b中的一个节点翻转。以节点N1为例,当N1翻转时,此时由于DICE具有SNU自恢复能力,N1会自动恢复。对于N2、N1b和N2b,原理是类似的。

情形2:节点N3或N4翻转。以节点N3为例,当节点N3翻转时,此时N4翻转。但是由于C单元的另一个输入节点N2未受影响,因此节点N5的值不受影响,从而输出节点Q不受影响。当节点N4翻转时,原理是类似的。

情形3:节点N5或Q翻转。当N5或Q翻转时,由于节点N2和N4未受影响,故N5或Q的值会通过C单元重新刷新为正确值。

综上所述,HRLC锁存器具有SNU容忍能力。

FERST锁存器

下图展示了FERST锁存器。该锁存器采用互锁双模技术实现了SNU容忍。FERST锁存器由左侧的两个互锁反馈环(由C单元和反相器组成)以及右侧的钟控C单元和保持器组成。其中钟控C单元用于表决功能,保持器用于预防输出节点Q进入HIS。该锁存器的SNU容错原理如下:

锁存器缓冲器有什么作用(8种不同的SNU容忍的锁存器分别有什么样的作用)(4)

情形1:互锁反馈环中的C单元的输入节点出错,即节点N1或N2翻转。以N1翻转为例,此时错误由CE1过滤,因此不会影响到其他任何节点。对于节点N2,原理是类似的。

情形2:互锁反馈环中的C单元的输出节点出错,即节点N1b或N2b翻转。以N1b翻转为例,此时节点N1也翻转,但由于节点N2未受影响,故CE2的输出节点N2b不受影响。因此CE3可以过滤该错误,输出节点Q不受影响。对于节点N2b,原理是类似的。

锁存器缓冲器有什么作用(8种不同的SNU容忍的锁存器分别有什么样的作用)(5)

Figure2.6FERSTlatch

情形3:非反馈环中的节点出错,即节点Q翻转。此时由于CE3左侧的反馈环未受影响,因此Q的值由节点N1b及N2b通过CE3自恢复。

综上讨论,FERST锁存器具有SNU容忍能力。

LSEH锁存器

下图展示了LSEH锁存器。该锁存器采用了双模冗余技术实现了SNU容忍。该锁存器主要由左侧的两个钟控反馈环、一个C单元以及右侧的一个保持器组成。其中保持器用于防止输出节点Q进入HIS。该锁存器的SNU容错原理如下:

锁存器缓冲器有什么作用(8种不同的SNU容忍的锁存器分别有什么样的作用)(6)

情形1:反馈环1或反馈环2中的任意一个节点翻转。在锁存模式下,NCK=1,反馈环1和反馈环2之间的传输门断开,因此锁存器中的两个反馈环是独立的。当反馈环中的任意一个节点翻转时,反馈环会存储错误的值。但是由于两个反馈环的输出分别连接到了C单元的两个输入,所以该错误值会由C单元进行过滤,从而保证输出节点Q正确。

锁存器缓冲器有什么作用(8种不同的SNU容忍的锁存器分别有什么样的作用)(7)

情形2:保持器中的一个节点翻转。在锁存模式下,C单元的输出节点及其右侧的节点值均由反馈环1及反馈环2决定。因此,该错误节点会通过C单元重新刷新,恢复正确值。

综上所述,LSEH锁存器具有SNU容忍能力。

HRUT锁存器

展示了HRUT锁存器。该锁存器采用多节点互锁技术实现了SNU容忍。HRUT锁存器主要由三个2输入C单元、一个2输入钟控C单元和两个反相器互锁组成。该锁存器的SNU容错原理如下:

当锁存器中的任意一个节点翻转时,假设输出节点Q翻转,此时错误由CE3及CE4过滤,因此锁存器其他所有节点均不受影响,因此节点Q由N1及N4通过CE2自恢复。对于其他节点,容错原理是类似的。综上所述,HRUT锁存器具有SNU容忍能力。

锁存器缓冲器有什么作用(8种不同的SNU容忍的锁存器分别有什么样的作用)(8)

5DNU容忍的锁存器

下图展示了DNURL锁存器。该锁存器采用三模冗余无表决器技术实现了DNU容忍。DNURL锁存器由三个互锁SRC以及三个传输门组成。

SRC主要由C单元组成,它具有三个端口,均可作为输入或输出。DNURL锁存器的输出节点Q被设置为直接与节点D通过传输门相连,从而形成了高速通路,因此锁存器的延迟得到了进一步降低。

此外,由于每一个SRC均采用了时钟门控技术,因此所有SRC的功耗也得到了进一步降低。该锁存器的容错原理如下:

  1. SRC:SRC具有SNU自恢复能力。以SRC2的节点Q为例,当Q翻转时,节点Qb翻转,但由于CE1及CE3均只有一个输入节点翻转,故节点N2和N4不受影响,从而Q由N4和N2b’通过CE2自恢复,然后Qb由Q通过反相器自恢复。对于其他节点的翻转,原理是类似的。因此,SRC具有SNU自恢复能力。

锁存器缓冲器有什么作用(8种不同的SNU容忍的锁存器分别有什么样的作用)(9)

(2)SNU:由于SRC具有SNU自恢复能力,因此当锁存器中的任意一个节点翻转时,翻转节点均能自恢复。

(3)DNU:共有2种情形。分别为DNU使任意两个SRC中的各一个节点翻转;DNU使任意一个SRC中的两个节点翻转。

锁存器缓冲器有什么作用(8种不同的SNU容忍的锁存器分别有什么样的作用)(10)

情形1:DNU使任意两个SRC中的各一个节点翻转。以节点对<N1,Q>为例,当<N1,Q>翻转时,由SNU情形的分析可知,SRC能够从任意SNU中自恢复,故N1和Q分别通过SRC1和SRC2自恢复。

情形2:DNU使任意一个SRC中的两个节点翻转。以节点对<N2,Q>为例,当<N2,Q>翻转时,SRC2会存储错误值。但由于SRC1及SRC3仅受到SNU的影响,因此SRC1及SRC3会通过电流竞争首先分别使节点N2及N4自恢复,然后使得所有节点自恢复。

综上所述,DNURL锁存器具有DNU容忍能力。

HRCE锁存器

下图展示了HRCE锁存器。HRCE锁存器基于C单元互锁反馈环实现,锁存器主要由七个反相器、一个2输入C单元、两个2输入钟控C单元、两个3输入C单元和一个3输入钟控C单元组成。该锁存器的容错原理如下:

  1. SNU:HRCE锁存器的所有节点均直接或间接地连接到C单元。因此,当任意一个节点发生翻转时,该错误均会被相应的C单元拦截。以节点N1为例,当N1发生翻转时,N1b翻转。但是CE1、CE4及CE5均只有一个输入节点翻转,故错误能够被过滤,从而节点Q不会受到N1和N1b的影响。

锁存器缓冲器有什么作用(8种不同的SNU容忍的锁存器分别有什么样的作用)(11)

(2)DNU:共有3种情形。分别为N1至N5、N3’及Q中的两个节点翻转;N1b至N5b及Qb中的两个节点翻转;N1至N5、N3’及Q中的一个节点和N1b至N5b及Qb中的一个节点翻转。

情形1:N1至N5、N3’及Q中的两个节点翻转。以<N1,N2>翻转为例,此时N1b和N2b翻转,但由于CE1、CE2、CE4至CE6均只有部分输入节点翻转,故错误能够被过滤,从而节点Q不会受到<N1,N2>翻转的影响。

锁存器缓冲器有什么作用(8种不同的SNU容忍的锁存器分别有什么样的作用)(12)

情形2:N1b至N5b及Qb中的两个节点翻转。以<N4b,N5b>翻转为例,此时N4和N5翻转,但由于CE1、CE2、CE4和CE6均只有部分输入节点翻转,故错误能够被过滤,从而节点Q不会受到<N4b,N5b>翻转的影响。

情形3:N1至N5、N3’及Q中的一个节点和N1b至N5b及Qb中的一个节点翻转。以<N2,N5b>翻转为例,此时N2b翻转,然后N1和N1b依次翻转。但是由于CE1以及CE3至CE5的输入均不同,故错误能够被过滤,从而节点Q不会受到<N2,N5b>翻转的影响。

综上所述,HRCE锁存器具有DNU容忍能力。

THLTCH锁存器

图2.11展示了THLTCH锁存器。该锁存器采用多节点互锁技术实现了DNU容忍。该锁存器主要由一个标有τ的延迟元件、九个C单元互锁构成的容错矩阵和两个反相器组成。该锁存器的容错原理如下:

(1)SNU:共有2种情形。分别为C单元容错矩阵中任意一个节点翻转;Qb或Q翻转。

情形1:C单元容错矩阵中任意一个节点翻转,即节点N1至N12中的任意一个节点翻转。由于锁存器结构具有对称性,仅需考虑节点N1和N10。当节点N1翻转时,错误由CE1及CE3过滤,其他节点不受影响。

锁存器缓冲器有什么作用(8种不同的SNU容忍的锁存器分别有什么样的作用)(13)

最终节点N1由节点N10通过反相器自恢复。对于节点N2至N9,原理是类似的。当节点N10翻转时,此时N1翻转。但紧接着错误由CE1及CE3过滤,其他节点不受影响。最终节点N10由节点N7及N8通过CE7自恢复,N1由N10通过反相器自恢复。对于节点N11及N12,原理是类似的。

锁存器缓冲器有什么作用(8种不同的SNU容忍的锁存器分别有什么样的作用)(14)

情形2:Qb或Q翻转。当Qb或Q翻转时,由于其他节点未受影响,故Qb或Q的值会通过反相器重新刷新。

(2)DNU:共有4种情形。分别为C单元容错矩阵中同一列有两个节点翻转;C单元容错矩阵中同一行有两个节点翻转;C单元容错矩阵中不同行不同列的两个节点翻转;任意两个其他节点翻转。

情形1:C单元容错矩阵中同一列有两个节点翻转。以节点对<N1,N2>为例,N1和N2翻转时,N4翻转。

锁存器缓冲器有什么作用(8种不同的SNU容忍的锁存器分别有什么样的作用)(15)

此时由于CE2及CE3均只有一个输入节点翻转,故N5和N6不受影响,从而CE4只有一个输入节点翻转,其他节点均不受影响。最终N1和N2分别由N10和N11通过反相器自恢复。

情形2:C单元容错矩阵中同一行C单元有两个节点翻转。以节点对<N1,N4>为例,N1和N4翻转时,CE1、CE3、CE4以及CE6的输入节点均不同,故错误能够被过滤,从而其他节点不受影响。

锁存器缓冲器有什么作用(8种不同的SNU容忍的锁存器分别有什么样的作用)(16)

情形3:C单元容错矩阵中不同行不同列的两个节点翻转。以节点对<N1,N5>为例,N1和N5翻转时,由于CE1和CE3只有一个输入翻转,故N4和N6不受影响,从而CE4和CE5只有一个输入翻转,N7和N8不受影响,最终其他节点不受影响。情形4:任意两个其他节点翻转,此时Qb及Q中至少有一个节点翻转。首先,Qb或Q的翻转不会影响到C单元矩阵。此外,根据SNU容错分析可知,C单元矩阵具备SNU自恢复的特性。最终,这些翻转的节点均能通过C单元矩阵自恢复。

综上所述,THLTCH锁存器具有DNU容忍能力。

参考文献:

[1]王龙兴.集成电路的过去、现在和将来(一)世界集成电路的发展历史[J].集成电路

应用,2014(1):36-40

[2]BaumannR..Softerrorsinadvancedcomputersystems[J].IEEEDesign&Testof

Computers,2005,22(3):258-266

[3]冯彦君,华更新,刘淑芬.航天电子抗辐射研究综述[J].宇航学报,2007(05):1071-1080

,