一种可自我修复的控制寄存器单元的制作方法

文档序号:17220530发布日期:2019-03-27 11:54阅读:220来源:国知局
一种可自我修复的控制寄存器单元的制作方法

本发明涉及数字电位器电路,具体的说,涉及了采用控制寄存器单元的数字电位器领域,是一种可自我修复的控制寄存器单元。



背景技术:

随着集成电路技术的发展,数字电位器在越来越多的场合替代了机械式电位器。数字电位器相对机械式电位器而言具有精度高、体积小的优点。

数字电位器的阻值和电位值由外部处理器通过编程实现控制。具体来讲就是电路内部的控制寄存器被编程为不同的值来控制电位器实现不同的阻值或电位值。

在极端环境下,比如说空间环境中,数字电位器内部的控制寄存器容易受到外部影响发生错误,比较典型的就是存储的数值发生翻转,比如说原来存储的是“1”,现在受到外部影响翻转成“0”,或者相反的,原来存储的是“0”,现在受到外部影响翻转成“1”。这样,数字电位器的阻值或电位值就发生了非预期的变化,进而造成所在系统的错误甚至是大灾难。

为了减少外部环境对传统的控制寄存器单元结构造成的影响,可使用重构技术可以对翻转进行更正自修复,但是这种手段对遇到顽固的翻转错误就无能为力了。

在航天领域和航空领域,人们对于涉及到整体可靠性或是成员生命安全的关键系统都采用了增加冗余系统的方法。主系统失效后冗余系统立即进行替代。在数字电位器中引入控制寄存器单元也是一个提高可靠性的手段。



技术实现要素:

为解决上述问题,本发明利用数字电路重构技术和冗余寄存器单元提高现有数字电位器的可靠性,提出了一种基于数字电路重构技术和冗余寄存器单元技术的一种可自我修复的控制寄存器单元。

本发明采用如下技术方案:一种可自我修复的控制寄存器单元,包括:错误处理器及控制单元以及与其连接的在线寄存器单元、冗余寄存器单元、数据输出及反馈电路、错误检测电路;所述数据输出及反馈电路与在线寄存器单元、冗余寄存器单元、错误检测电路连接;

数据输出及反馈电路,用于根据错误处理器及控制单元的信号选择在线寄存器单元或冗余寄存器单元输出到错误检测电路;

错误检测电路,用于对内部预存寄存器的值和控制数据输出及反馈电路反馈的值进行异或比对,得到重构计数值并输出至错误处理器及控制单元;

所述错误处理器及控制单元,用于根据重构计数值控制对在线寄存器的动态重构以及决定是否启用冗余寄存器单元。

所述在线寄存器单元和冗余寄存器单元采用器件尺寸和结构相同的寄存器。

所述数据输出及反馈电路包括反相器x1和两个nmos晶体管n1、n2;所述反相器x1的输入端、n1的栅极与错误处理器及控制单元连接,反相器x1的输出端与n2的栅极连接,n1和n2源极连接并作为数据输出及反馈电路的输出端,与错误检测电路连接,n1漏极、n2漏极分别与在线控制寄存器、冗余寄存器单元连接。

所述错误检测电路,用于对在线寄存器单元和冗余寄存器单元进行实时比对操作;包括预存寄存器和异或比较器,所述预存寄存器输入端与错误处理器及控制单元连接,输出端与异或比较器第一输入端连接,异或比较器第二输入端与数据输出及反馈电路输出端连接,异或比较器输出端与错误处理器及控制单元连接。

一种可自我修复的控制寄存器单元容错控制方法,包括以下步骤:

1)错误处理器及控制单元分别将预存值写入错误检测电路内部的预存寄存器、在线控制寄存器、冗余寄存器单元,控制数据输出及反馈电路选择输出在线控制寄存器的值传送到错误检测电路;

2)错误检测电路对内部预存寄存器的值和控制数据输出及反馈电路反馈的在线控制寄存器的值进行异或比对,得到重构计数值并输出至错误处理器及控制单元;

3)错误处理器及控制单元比较重构计数值和重构阈值;如重构计数值小于重构阈值,重构同时重构计数值自加1;如重构计数值等于重构阈值,不再重构,同时控制数据输出及反馈电路选择冗余寄存器单元所存数值输出替代原来的在线控制寄存器输出,返回步骤1)。

所述数据输出及反馈电路包括以下步骤:

当错误处理器及控制单元输出“1”时,nmos管n1导通,反相器x1输出到n2控制端的值为“0”,n2截止,数据输出及反馈电路通过n1把在线控制寄存器的值输出到错误检测电路;

当错误处理器及控制单元输出“0”时,nmos管n1截止,反相器x1输出到n2控制端的值为“1”,n2导通,数据输出及反馈电路通过n2把冗余寄存器单元的值输出到错误检测电路。

本发明有如下有益效果及优点:

本发明是通过错误检测电路检测在线控制寄存器单元的错误,通过错误处理器及控制电路对错误的在线控制寄存器单元进行重构修复。修复次数超过固定次数认定为修复失败,停止修复,并使用冗余寄存器单元进行逻辑替换修复。

1.使用错误检测电路检测在线控制寄存器单元的错误。

在数字电位器正常使用过程中,在线控制寄存器单元的输出通过数据输出及反馈电路即时输出到错误检测电路。错误检测电路一旦检测出有错误,输出错误中断信号给错误处理器及控制电路,启动重构修复进程。

2.错误处理器及控制电路启动重构修复。

接到错误检测电路的错误中断信号后,错误处理器及控制电路立刻控制输出正确值到在线控制寄存器单元,然后监测错误检测电路是否输出中断信号。如果未收到则继续等待错误检测电路的中断请求,如果收到则需要再次启动重构修复。重构修复可设定修复次数阈值。

3.错误处理器及控制电路控制冗余寄存器单元进行逻辑替换。

重构修复超过修复次数阈值后,不再启动重构修复,而是启动冗余替换。错误处理器及控制电路控制切断原来的在线控制寄存器单元与系统的联系,将冗余寄存器单元连入系统,这一过程是通过错误处理器及控制电路控制数据输出及反馈电路切断在线控制寄存器单元的输出实现的。

附图说明

图1本发明的总体实施框图。

图2数据输出及反馈电路原理图。

图3错误检测电路的原理框图。

具体实施方式

下面结合附图对本发明作进一步详细的说明。

数字电路重构技术是根据sram单元的存储特性发展起来的一种技术,它利用sram单元控制电路行为,并根据需要实时重构新电路行为。之前数字电路重构技术应用最为广泛的是基于sram的现场可编程门阵列(fieldprogrammablegatearray,fpga)。冗余技术在工业、国防等领域应用广泛,在电子领域常见于航空、航天等对可靠性重视的应用场景。在集成电路中也可以使用冗余寄存器单元提高电路的可靠性。

根据本发明提供的一种可自我修复的控制寄存器单元结构的设计包括:在线寄存器单元;冗余寄存器单元;数据输出及反馈电路;错误检测电路;错误处理器及控制单元。

在线寄存器单元,也就是1个存储单元,1个输入端连接控制电路,1个输出端连接多路选择器的a输入;

冗余寄存器单元,也是一个存储单元,1个输入端连接控制电路,1个输出端连接多路选择器的b输入;

数据输出及反馈电路,有两个数据输入端,a输入端连接在线寄存器的输出,b输入端连接冗余寄存器单元的输出,选择控制端连接错误处理器及控制电路,输出连接到错误检测电路。

错误检测电路,输入端连接数据输出及反馈电路的输出,输出端连接错误处理器及控制电路;

错误处理器及控制电路,输入端连接错误检测电路的输出端,输出端连接在线寄存器和冗余寄存器单元的数据输入端以及数据输出及反馈电路的选择控制端。

在线寄存器单元和冗余寄存器单元结构和器件尺寸完全一致,保证冗余寄存器单元对在线寄存器单元的可替代性。

数据输出及反馈电路,由一个反相器x1和两个nmos晶体管n1和n2组成,nmos管尺寸很大,使之导通电阻很小。

错误检测电路,可对在线寄存器单元和冗余寄存器单元进行实时比对操作。

错误处理器及控制电路可控制对在线寄存器的动态重构和决定是否启用冗余寄存器单元。

图1是本发明的一种可自我修复的控制寄存器单元结构使用的总体实施框图。如图1所示,在系统上电后,错误处理器及控制单元控制通过303和304分别将预定的数值写入在线控制寄存器、冗余寄存器,通过301控制数据输出及反馈电路选择输出在线控制寄存器的值,通过201将数据输出及反馈电路输出值传送到错误检测电路,同时通过302将数值写入错误检测电路的预存寄存器。之后系统就可以在在线寄存器的控制下按照预定模式工作,需要注意的是图1所示的是1个寄存器的情况,实际上系统是在多个这样的结构共同控制下运行的。在系统运行开始后,错误处理器及控制单元通过305输出给错误检测电路的值为1。

如图2所示,x1为反相器,n1和n2为nmos晶体管。当301为“1”时,nmos管n1导通,反相器输出到n2控制端的值为“0”,n2截止,因此数据输出及反馈电路通过n1把101的值输出到201;当301为“0”时,nmos管n1截止,反相器输出到n2控制端的值为“1”,n2导通,数据输出及反馈电路通过n2把102的值输出到201。使用这种具体实施方式错误处理器及控制单元通过301来控制数据输出及反馈电路选择输出到201的信号值。

错误处理器及控制单元的内部控制流程为:

1系统上电后302、303、304输出预存值。设定重构阈值和重构计数值清零,301输出为“1”,305输出为“1”,指示错误检测电路对预存寄存器和201传送过来的信号值进行比对。

2判断306的值,如果306值为“1”进入步骤3,如果306值为“0”重复步骤2。

3比较重构计数值和重构阈值。305输出为“1”,指示错误检测电路对预存寄存器和201传送过来的信号值进行比对。如重构计数值小于重构阈值,重构同时重构计数值自加1,然后重复步骤3;如重构计数值等于重构阈值,不再重构同时进入步骤4。

4线305输出为“0”,指示错误检测电路不再进行比对,线301输出值变为“0”,控制冗余寄存器单元接入系统,直到系统再次上电进入步骤1。

错误检测电路持续对内部预存寄存器的值和201反馈的在线控制寄存器的值进行异或比对,正确结果“0”通过306传递给错误处理器及控制单元。图3具体地显示了错误检测电路的原理框图。

如果外界的干扰因素造成在线控制寄存器的值发生了跳变,错误检测电路中的异或比较器输出值发生变化,错误结果“1”通过306传递给错误处理器及控制单元。

错误处理器及控制单元收到306传递的错误后启动重构进程。预定的数值通过304传递给在线控制逻辑寄存器。错误检测电路继续对内部预存寄存器的值和201反馈的在线控制寄存器的值进行异或比对。如果比对结果正确,正确结果“0”通过306传递给错误处理器及控制单元,错误处理器及控制单元结束重构;如果比对结果错误,错误结果“1”通过306传递给错误处理器及控制单元,错误处理器及控制单元再次启动重构。

重构过程可以重复,直到错误重构次数到达预先设置的阈值后,错误处理器及控制电路停止重构,并通过301控制数据输出及反馈电路选择冗余寄存器输出值。

根据上述实施方式,采用了数字电路重构技术和冗余寄存器单元技术,集成了在线控制寄存器、冗余寄存器、错误检测电路、数据输出及反馈电路和错误处理器及控制电路形成了一种可自我修复的控制寄存器单元结构。

以上所述仅为本发明的实施例,并非因此限定本发明的专利保护范围,本发明还可以对上述各种模块进行附加的改进,或者是采用技术等同物进行替换,例如:增加进一步优化的其他模块等等。故凡运用本发明的说明书及图示内容所作的等效结构变化,或直接或间接运用于其他相关技术领域均同理皆包含于本发明所涵盖的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1