基于指令的处理器时延测试产生方法
发布时间:2020-08-28 17:29
【摘要】: 随着半导体工艺向超深亚微米推进,处理器的设计复杂度随之提高。这使得处理器的测试面临着越来越多的挑战,特别是处理器的时延测试已成为工程应用的需要和测试研究领域的热点。同时随着基于知识产权(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的结果也产生
【学位授予单位】:中国科学院研究生院(计算技术研究所)
【学位级别】:硕士
【学位授予年份】:2005
【分类号】:TP332
【图文】:
37图 4.3 Parwan 处理器控制器部分状态转换图两种寻址模式,可认为Parwan处理器一共有23条指令。主要的且唯一是累加器(AC),它被用来连接大多数指令。Parwan 处理器的指令集编。第四列直接/间接位表示寻址模式直接寻址还是间接寻址。
图4.2 Parwan处理器[20] 处理器的控制器部分以有限自动状态机的形式描述。它包含有 9持它选定的控制信号激活一个时钟周期。它的 9 个状态之间的转
产生必要约束的下的测试向量。4.3.4 测试指令序列的产生图4.5 测试向量到测试指令序列的转换有约束的 ATPG 后,得到了 PFTPs 的潜在测试指令(序列)和测试向量。我们的目标是要为 PFTPs 找到最终的测试指令(序列), 它由控制指令(序列)、潜在测试指令(序列)和观测指令(序列)构成。 测试向量到测试指令序列的转换如图 4.5 所示。通过把测试向量对的值赋给相应的控制信号、内部寄存器和存储器,可以得到控制指令(序列)和观测指令(序列)。例如,parwan里的第7931条通路是 从databus_i[0] 到 ac_out[5]的一条通路,也就是说,是从 IN 到 AC 的一条通路。 它的潜在测试指令是 I4(SUB)。用测试向量对给相应的控制信号、内部寄存器和存储器赋值,得到测试向量对的分解{V1={alu[2:0]=000, asl=0, asr=0, IN[7:0]=xxxxxxx, AC[7:0] = xxxxxxxx, …}, V2={alu[2:0]=111, asl=0, asr=0, IN[7:0]=xxxxxx0, AC[7:0] = xx110011, …}}。AC 的值能用指令 LDAmem[1] 确认(justified),从 AC 出来的结果能用指令 STA mem[2]传输。所以为了测试
本文编号:2807913
【学位授予单位】:中国科学院研究生院(计算技术研究所)
【学位级别】:硕士
【学位授予年份】:2005
【分类号】:TP332
【图文】:
37图 4.3 Parwan 处理器控制器部分状态转换图两种寻址模式,可认为Parwan处理器一共有23条指令。主要的且唯一是累加器(AC),它被用来连接大多数指令。Parwan 处理器的指令集编。第四列直接/间接位表示寻址模式直接寻址还是间接寻址。
图4.2 Parwan处理器[20] 处理器的控制器部分以有限自动状态机的形式描述。它包含有 9持它选定的控制信号激活一个时钟周期。它的 9 个状态之间的转
产生必要约束的下的测试向量。4.3.4 测试指令序列的产生图4.5 测试向量到测试指令序列的转换有约束的 ATPG 后,得到了 PFTPs 的潜在测试指令(序列)和测试向量。我们的目标是要为 PFTPs 找到最终的测试指令(序列), 它由控制指令(序列)、潜在测试指令(序列)和观测指令(序列)构成。 测试向量到测试指令序列的转换如图 4.5 所示。通过把测试向量对的值赋给相应的控制信号、内部寄存器和存储器,可以得到控制指令(序列)和观测指令(序列)。例如,parwan里的第7931条通路是 从databus_i[0] 到 ac_out[5]的一条通路,也就是说,是从 IN 到 AC 的一条通路。 它的潜在测试指令是 I4(SUB)。用测试向量对给相应的控制信号、内部寄存器和存储器赋值,得到测试向量对的分解{V1={alu[2:0]=000, asl=0, asr=0, IN[7:0]=xxxxxxx, AC[7:0] = xxxxxxxx, …}, V2={alu[2:0]=111, asl=0, asr=0, IN[7:0]=xxxxxx0, AC[7:0] = xx110011, …}}。AC 的值能用指令 LDAmem[1] 确认(justified),从 AC 出来的结果能用指令 STA mem[2]传输。所以为了测试
【参考文献】
中国期刊全文数据库 前2条
1 李华伟,李忠诚,闵应骅;双倍可变观测点的时滞测试[J];电子学报;1999年11期
2 赵著行,闵应骅,李忠诚;布尔过程在通路敏化中的应用[J];计算机学报;1996年08期
本文编号:2807913
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2807913.html