论文部分内容阅读
随着数字电路系统对可靠性的要求越来越高,在电路中考虑故障容错是一个电路设计者必须考虑的问题。虽然多年前就提出了在设计过程中加入故障容错结构,但由于缺乏自动化的CAD工具去优化这种设计过程,这种方法一直没能得到有益的发展。因此为了增加生产率、减少开发时间和加速故障容错电路的发展,需要一个自动插入故障容错结构的CAD工具。而且由于目前数字电路的设计大部分都是基于RTL级的,也就是用VHDL语言来描述硬件电路,因此在本论文中,我们提出了一个在可综合的VHDL描述中自动插入故障容错结构的工具。用这个工具进行容错电路的设计,可以根据用户需求在VHDL代码级自动产生一个故障容错设计,并且所得到的结果可以用于其它工具进行仿真和综合。为了实现本文所提出的故障容错结构的自动插入工具,我们首先需要解决的关键问题是VHDL语言编译系统的开发。VHDL编译系统是VHDL高层次综合系统的前端,它接受VHDL语言源描述,并生成一种用于容错的中间数据格式—有向无环图(DAG),以供后面插入故障容错结构的过程使用。本系统在Windows环境下开发,使用一些编译系统自动实现工具及C语言来完成VHDL词法分析模块、语法分析模块的自动生成,这样的优点是加快了开发速度,同时也便于系统的维护和移植。本文在VHDL词法分析中,提出了VHDL词法单元的分类表示方法及对这些元素的处理方法;在VHDL语法分析器的实现中,完成了对语法结构的翻译,特别对存在歧义和冲突的常见语法进行了深入的研究,并提出了解决方案;使用哈希技术对符号表进行统一管理,并通过建立一个动态堆栈来维护层次信息;最后,采用类的方法构造了VHDL语言的中间数据格式。生成的中间数据格式具有信息完整、结构清晰等优点,为后续的故障容错技术的插入过程奠定了良好的基础,本文主要实现了被动硬件冗余技术的应用。