论文部分内容阅读
随着深亚微米集成电路时代的到来,芯片的复杂度变得越来越高,测试的重要性越来越突出。据统计,为测试芯片所花的时间已经和设计生产芯片所花时间相当,并即将超出设计所需时间,测试生成的难度越来越大,因此我们需要将更多的注意力放在测试上。
过去有关测试的工作都是放在门级以后进行的,这样做有两大不足,不但需要在设计和测试之间进行多次反复,而且在门级进行测试的计算复杂度很高。
测试方法学的一大发展趋势是逐渐融合到设计的各个层次中去,并和设计一样向高层发展。将可测性的改进甚至测试矢量的生成放到整个设计流程的早期已经成为了可测性研究的一大热点,实践证明,这样不但可以大大增加故障覆盖率,而且可以减少测试硬件开销,并且还能减少设计反复。
目前,大量的设计是用硬件描述语言在寄存器传输级(RT级)描述系统在各个时钟周期内数据流的传输行为,然后通过综合工具综合出相应的门级网表。在这些描述语言中,VHDL已经成为一种普遍接受的硬件描述语言,基于VHDL的RT级综合也迅速地发展起来。然而大多数综合工具只对面积和速度作为综合约束,而忽略了可测性因素的影响,越来越多的研究表明,应该将可测性也作为综合过程的一大约束。本文即研究基于VHDL的RT级可测性综合。
扫描方式的可测性设计得到了工业界的最广泛应用,其中全扫描方式最为常用。基于全扫描的时序电路在进行测试矢量生成时,可以将寄存器看作伪输入输出端,整个电路看作组合电路,用相对简单又成熟的组合电路ATPG工具完成测试矢量的生成。它不仅能大大提高电路的故障覆盖率,而且能很好的融入设计流程中。本文围绕全扫描技术,提出了一个较为完整的RT级扫描综合解决方案。全文大致可分为三大部分,第一部分为时序存储单元的识别和综合,第二部分为可测性检查和改进,第三部分为全扫描结构的插入。
第一部分VHDL时序存储单元的识别和综合是本文所有工作的基础和关键。通过对VHDL代码时序特性的静态分析,对电路时序存储单元进行准确识别,只有做到了这一点,才有可能展开后面第二、三部分的讨论。本文特别对文献中很少涉及的变量综合进行详细讨论,提出了变量映射时序存储单元的识别方案。
第二部分可测性检查和改进与一般的可测性分析方法不同,它不是基于对电路的可控制性和可观察性的量化分析,而是基于电路结构,通过检查和改进可测性不佳的局部电路设计,使得整体电路的可测性得到提升,同时也为扫描结构的插入做好准备。
第三部分也是本文的一大重点。首先提出了在RT级进行传统全扫描结构插入的完整实现算法;然后,针对传统扫描结构的不足,在前人工作的基础上提出了一个改进的扫描链的优化选取算法。在保持全扫描结构特点的同时,尽量做到测试逻辑和功能逻辑之间的共享,以达到进一步减少测试面积的目的。
最后,从RT级代码的角度提出了改进可测性的一些建议。