新闻中心

EEPW首页>EDA/PCB>设计应用> 一种改进的对抗软错误电路结构设计

一种改进的对抗软错误电路结构设计

作者: 时间:2012-03-31 来源:网络 收藏

上述基于时钟沿检测和纠正是针对一个触发器的情况,但是一个系统设计必定会包含多个触发器。如图2所示为该结构应用到多个触发器的原理图。结构可以分为独立模块和公用模块两个部分。时钟是整个电路系统公用的部分,所以时钟沿单元是可以公用的。此外,锁存器是存储前一个时刻的电路状态,所以也是可以作为公用单元使用的。

本文引用地址://m.amcfsurvey.com/article/190562.htm

b.jpg


N个单独模块产生的错误检测信号SEU_O,通过N位的或门输入给公共模块,进而对电路中N能发器的输出进行修改。由图2可知,任何一个触发器检测出有SEU错误产生,该触发器的单独模块输出信号SEU_O变为1,那么公共模块的输入信号SEU变为1,进而通过各个模块的S5信号对状态进行保存,使其对改变后的值不进行错误处理。

2 多次检测单粒子翻转的电路结构
由第一节可知,该方案虽然可以以较小的面积和使用较少的逻辑器件实现单粒子翻转的检测和纠正。但是它存在两个问题,第一个问题是对于数据转变沿的检测只可以检测0到1的转变,不可以检测到1到0的转变,以至于对由于SEU引起的由1变为0的数据错误翻转无法检测,影响电路系统的稳定行;第二个问题是该电路的假设条件,每1个时钟周期只发生1次单粒子翻转引起的数据错误。由图2可知,当一个时钟上升沿来临,锁存器的输出Q被清零,SEU_O的值只与数据沿和时钟沿有关。当任何一个触发器的输出由于受到SEU的影响发生翻转时,通过各个独立模块的错误检测电路,检测出有错误发生。此时,该独立模块的SEU_O变为1,并对该模块中的触发器输出进行纠正。同时,公共模块的锁存器被置为1,由前面的式(2)可知。SEU_O变为0,并且与S3和S4无关,直到下一个时钟上升沿到来时,锁存器才被再次置为0,才会随着S3和S4发生变化。由上述分析可知,该电路结构在一个时钟周期内只可以检测和纠正一次单粒子翻转引起的数据输出错误。
在只有一位触发器的情况下,电路在每一个时钟最多发生一次翻转的假设是可以接受的。但是,随着现在电路规模和功能要求的增加,这将限制电路对数据的检测和纠正,严重影响电路系统的可靠性。
2.1 数据沿的产生
针对第一个问题,本文对数据转变沿的检测采用下述结构。该电路结构采用2个非门和1个异或门。利用两个非门来产生延时,异或门对延时后的信号和原来的信号进行比较,进而在上升沿和下降沿时产生一个脉冲,用于数据沿的检测。
2.2 多次检测和纠正错误数据电路
针对第二个问题,本文添加了少量的逻辑电路,以实现对由SEU引起的错误数据的多次检测和纠正。原理图如图3所示,与参考文献提出的电路原理相比,该电路结构只是在公共模块上增加了1个非门和1个CMOS传输门,用于检测数据修改是否完成,并对锁存器赋值,使电路在数据纠正完成以后,让锁存器输出变为0,即恢复到没:有检测到错误发生的状态。该电路可以对下一个由SEU引起的数据翻转进行检测和纠正,进而大大提高电路的稳定性和可靠性。

c.jpg


电路原理:当时钟处于上升沿时,信号S3产生一个高脉冲,此时锁存器被清零。锁存器输出0时,CMOS传输门被关闭,不传输数据。当检测到由于SEU引起的Q值翻转时,SEU_O变为1,此时锁存器被置为1。当SEU_O变为1时,对数据Q进行纠正,Q值发生翻转,会产生一个高脉冲。当锁存器被置为1时,CMOS传输门导通,SEU_O又变为0。数据Q被纠正,发生翻转产生1个高脉冲,此时CMOS传输门被导通。数据Q产生的脉冲经过传输门和非门,变为低脉冲,该脉冲传输到锁存器的输入端,进而锁存器的输出变为0。此时,CMOS传输门关闭,信号SEU_O只与S4和S3有关,电路的错误检测和纠正电路恢复到没有发生错误时的状态,准备检测下一个数据沿。

DIY机械键盘相关社区:机械键盘DIY




关键词:电路结构设计

评论


相关推荐

技术专区

关闭