论文部分内容阅读
随着半导体工艺向超深亚微米推进,处理器的设计复杂度随之提高。这使得处理器的测试面临着越来越多的挑战,特别是处理器的时延测试已成为工程应用的需要和测试研究领域的热点。同时随着基于知识产权(Intellectual Property, IP)核的系统芯片(System-on-Chip, SOC)设计越来越普及,为了有效地测试深嵌在片内的处理器核,基于指令的处理器测试是一个很有前景的研究方向。本文从时延测试和基于指令的处理器测试入手,综述了这两个领域内已有的研究成果和成熟技术,并分析了基于结构的通路分类与基于功能的通路分类之间的联系和区别。在此基础上,本文针对处理器的数据通路部分的通路时延故障提出一种基于指令的处理器时延测试产生方法。它能在不增加任何硬件开销的情况下,在处理器的正常操作模式运行处理器自身的指令来进行测试。本文的主要贡献如下:1.建立了一种以数据流-状态矩阵表征的新指令集模型。从待测处理器(Processor Under Test,简称PUT)的指令集结构和寄存器传输级(Register Transfer Level,简称RTL)描述中,提取出每条指令的数据流-状态矩阵,记录指令执行过程中状态的转换和寄存器间数据的传输。指令集的数据流-状态矩阵模型很好地反映了执行处理器指令时信号传播所经过的数据通路,基于这些矩阵可以很方便地在RTL进行通路分类。2.提出了一种基于数据流-状态矩阵的通路分类算法。在RTL将处理器数据通路部分寄存器间通路分成功能不可测通路(Functional Untestable Paths,简称FUPs)和潜在功能可测通路(Potential Functional Testable Paths,简称PFTPs)。在RTL就将这些功能不可测通路识别出来,无疑为接下来的测试产生节省了很多计算开销。另外,在通路分类时,就对PFTPs记录下潜在测试指令(序列),降低从门级测试向量对到测试指令序列转换的复杂度。3.研究并实现了约束提取及约束下的非强健通路时延测试产生算法。从PUT的RTL描述里提取出控制约束和数据约束,并结合这些约束在门级进行有约束的测试产生。为了提取控制约束,根据PUT的RTL描述创建一个instr-state-ctrlsig表,来记录每条指令的每个状态下值为高的那些控制信号名。数据约束的提取分为两类:一类是某些寄存器的非法取值;另一类是控制约束下相应寄存器的值,对这种情况我们提出了4种提取依据。最后,在一个门级非强健通路时延自动测试生成(Automatic Test Pattern Generation,简称ATPG)工具中,将测试不同通路的寄存器取值约束分别施加到PUT的门级组合网络中相应的伪原始输入上,实现了对所有潜在功能可测通路的带约束的非强健通路时延测试产生。对Parwan处理器的实验结果表明我们的通路分类和有约束的ATPG算法非常有效。在RTL的通路分类识别出70.93%的通路是功能不可测的。约束对ATPG的结果也产生