论文部分内容阅读
人类对于空间及外太空努力不倦地探索促进了航天领域和卫星技术的急速进步。工作在宇宙空间中的各类星载系统会受到宇宙射线中带电粒子的轰击,使集成电路产生瞬时故障,即常见的单粒子翻转现象。这些只引起了存储器内部数据变化,可能会导致器件异常情况。为了更好地综合考虑电子系统的可靠性能和施加防护措施带来的代价影响,将整个FPGA工程按照电路功能划分为若干个功能模块,通过分别研究各功能模块的可靠性能和代价模型,从而在兼顾总体可靠性能和代价的前提下,找到最佳的防护措施集合。本文介绍了一个C语言对基于VHDL语言的FPGA工程分析的软件系统,该软件系统名为VHDL功能模块划分系统。该软件系统可以自动对基于VHDL语言的FPGA工程进行功能模块划分和模块拓扑关系分析。依据VHDL设计语言的层次化设计思想对整个FPGA工程进行功能模块的划分,将关注焦点放在规模较小的功能模块的优化设计上,从而达到提高工作效率,保证电子系统具有高可靠性的目的。阐述了层次化设计思想和层次化设计中需要的VHDL语言相关知识。讲解了VHDL功能模块划分系统中相关的重要概念以及总体结构。VHDL功能模块划分系统包括两部分:功能模块划分分析部分和模块拓扑关系分析部分。功能模块划分部分首先阐述了功能模块划分准则,以此准则来划分功能模块。模块拓扑关系分析阐述了顶层文件模块关系分析的具体方法,说明了子功能模块模块关系分析与顶层文件模块关系分析的相似性与差异。下面具体说明功能模块划分部分和模块拓扑关系部分的内容。功能模块划分分析包括三部分内容:顶层文件功能模块划分分析、程序包功能模块划分分析、子功能模块划分分析。主要任务是扫描输入的VHDL顶层文件,根据VHDL语法规则在VHDL工程的结构体中依照关键字识别出功能模块,并将功能模块存为.vhd文件,同时识别出相关的程序包和子功能模块,按顺序找到程序包和子功能模块中的元件声明,按层次划分出每层的功能模块存为.vhd文件,每层剩余部分作为一个功能模块也存为.vhd文件。模块拓扑关系分析主要包括两部分:顶层文件模块关系分析与子功能模块模块关系分析。主要内容为对顶层文件功能模块进行分析,找到顶层功能模块中的元件例化,通过分析元件例化和元件声明,找到模块之间的拓扑关系。然后对子功能模块进行分析,通过子功能模块的元件例化和元件声明语句,识别出各子功能模块之中模块的拓扑关系,模块拓扑关系存入邻接表中,然后以规定好的准则存入生成文件中。最后通过一个实际的基于VHDL语言的FPGA工程,给出软件查找过程及运行结果。通过软件生成的内容跟工程实际情况进行比较,证明了软件划分的实用性和有效性。