数字电路VHDL代码级故障容错自动插入

时间:2022-06-28 10:57:39

数字电路VHDL代码级故障容错自动插入

在数字电路源码级进行故障容错,是电路设计师需要考虑的问题,而一个自动化的容错工具,极大的提高了设计师的工作效率。本文在某种数据格式的基础上,论述了故障容错的插入过程。

【关键词】容错技术硬件冗余 VHDL代码

1 引言

数字硬件电路设计越来越精密,但其故障的检测也越来越难。而数字电路的设计大都是用VHDL语言来描述的,因此提出了一个在VHDL描述中自动插入故障容错结构的工具。采用这种工具来做容错电路的设计,用户可以根据不同的需求在VHDL源码级自动做电路故障容错设计。

2 电路源码级故障容错的插入工具

数字电路自动化实现故障容错,也就是在用VHDL语言设计数字电路时,自动化的加入故障容错结构,并且最后得到具有容错功能的VHDL描述的数字电路。这个自动化的过程用一个工具来实现,也就是故障容错结构自动插入工具。该工具由六部分组成,如图1所示。

VHDL源码经过分析器转化成一种特殊的中间数据格式,存储在设计库中;这种数据格式以有向无环图(DAG)的形式组织起来,保存了VHDL完整的语义信息。用户通过用户接口输入某些信息,来定位所需容错的关键部件及从故障容错器选择所用的容错器件。容错后的数据重新送回到设计库中,用反编译系统再次恢复成VHDL代码。本文对基于硬件冗余技术对源码级容错结构插入过程进行阐述。

3 硬件冗余技术

硬件冗余技术采用在系统中多加的硬件资源,包括被动冗余、主动冗余及主被动相结合三种形式。

被动冗余又称为静态冗余(Masking Redundancy ),它不改变系统的结构,靠附加的元器件来屏蔽掉故障元器件的作用。常用的被动冗余称为三模冗余(Triple Modular Redundancy, TMR)结构。系统由相同功能的三个模块及表决器构成,三个相同模块同步运行,三个模块的输出作为表决器的输入,系统的输出是多数表决的结果。

所谓的主动冗余技术,就是能让系统配置动态的改变,从而消除故障对系统的影响,同时补充系统冗余。当系统模块发生故障时,依靠存储多个模块和故障检测机构,通过系统内部的一次重组来切除或替换故障模块。

4 硬件冗余的插入过程

数字电路设计者在使用该工具时,首先需要编写电路的VHDL源码、同时要提供采用的容错技术类型及想要的容错的位置(设计单元名和需复制的对象名)这些信息。

此处假定需要容错的位置是:设计单元A,需复制的对象RESULT,而容错技术采用硬件被动冗余中的三模冗余技术。插入技术主要由以下过程来实现。

4.1 三个新信号的拷贝

如图2所示,首先通过设计库的search(pname,sname)函数从库中找到用户所输入的设计单元A,然后再使用符号表的 search(object_name,global)函数从符号表中查找目标对象RESULT,进行相对应的属性修改后,清空temp。经过这些步骤后,完成了三模冗余技术所需要的新对象的声明。

4.2 语句的复制

如图3所示,该流程图是对于语句的修改。

经过上面的步骤,完成了三模冗余技术的对象复制部分,将这些信息修改完成后再返存入设计库中,实现了在数字电路的VHDL源码级进行故障容错结构的插入。

5 结语

利用自动化工具在数字电路的VHDL源码级进行故障容错结构的插入,能够有效的提高设计者的工作效率。

参考文献

[1]徐拾义.容错计算系统[M].武汉:武汉大学出版社,2010.

[2]L.Entrena,C.Lopez,E.Olias.Automatic insertion of fault-tolerant structures at the RT level.7th IEEE Int.On-Line Testing workshop,July 2001,48-50.

[3]齐星刚.VDHL编译器设计技术研究[D]. [硕士学位论文].成都:四川大学,2013.

[4]Isabel Gonzalez,LuisBerrojo. Supporting fault tolerance in an industrial environment:the AMATISTA approach.7th IEEE Int.On-Line Testing workshop,July 2001,178-183.

作者单位

成都职业技术学院软件分院 四川省成都市 610041

上一篇:数字化造船中舾装设计命名规则 下一篇:完善我国财政专项资金绩效管理的建议