论文部分内容阅读
[摘要]对组合电路的测试生成算法进行研究,介绍具有约束条件的布尔差分算法,还对时序电路的测试生成算法进行研究,九值算法比D算法在做D驱赶时要减少很多次无用的计算,在对电路进行描述时充分考虑了故障对电路的重复影响作用,可以对D算法无法产生测试的故障产生测试矢量。
[关键词]集成电路 测试生成 布尔差分算法 九值算法
中图分类号:TQ15 文献标识码:A 文章编号:1671-7597(2008)0720024-01
隨着集成电路的发展,越来越多的新技术应用到实际生产中,电路的规模越来越大,复杂度越来越高,使得电路的测试生成变得越来越困难,因此研究有效的集成电路测试生成算法与技术已经成为现阶段的一项重要工作。早期人们对集成电路的诊断是靠人工查找故障,随着集成电路规模的增大,器件集成度的迅速提高,人工诊断就逐渐被机器诊断所代替,产生了系统的诊断理论和测试系统,现在人们对电路的测试通常是在测试系统所提供的硬件、软件环境下实现的。测试的基本工作过程为测试矢量、被测电路、与标准相应比较、测试结果分析。
一、组合电路的多故障测试生成算法
布尔差分法是组合逻辑电路测试生成算法中的一种常用方法。它的描述严格而简洁,物理意义清晰,因此对研究组合逻辑电路测试的理论和方法具有重要的意义。对开关函数(布尔函数):
定义(3-2)
为函数相对于变量的一阶布尔差分。由于变量是离散变量,它在变化时不存在“极限量”,因此其导数就称为差分。
定义了函数对 的一阶布尔差分后,可得到测试故障(s-a-1)和
(S-a-0)的测试矢量集为:
其中这一项是取故障的相反值,也就是使故障能够反映出来(被激活);
而是使故障点到可及输出端的故障传输路径得到敏化,使得在端可以观察到故障;的计算可由式3-4给出。
一阶布尔差分是用来求单故障测试矢量集的,如果要求多故障的测试矢量集,必须使用高级布尔差分。定义:
为关于的二阶布尔差分。二阶布尔差分法给出了检测双故障 、的测试矢量集为:
其中。式中的第一项表示存在故障
时单故障 的测试集,式中的第二项表示存在故障时单故障
的测试集,式中的第三项表示检测双故障 的测试集。
二、时序电路的多故障测试生成算法
时序电路内部存在着存储元件,因此它的输出不仅决定于当前的输出信号,而且决定于存储元件的状态,因此要对时序电路进行故障检测和诊断要比组合电路困难得多,导致了学者们对时序电路的研究较少。本部分介绍了一些相对较为实用的时序电路的测试生成算法。
MUTH 提出的九值算法是对五值D算法的改进。在使用重复阵列模型时,由于时段的重复故障效应,一个单故障表现为多故障,五值D算法没有考虑到这种情况,因此表现出了极大的弊端。九值算法充分考虑了这种故障的重复效应,能够对时序电路生成有效的测试矢量。九值逻辑的九值分别为是:1(1/1)、0(0/0)、U(X/X)、S0(0/1)、S1(1/0)、G0(0/X)、G1(1/X)、F0(X/0)和 F1(X/1)。九值算法比一般的扩展D算法在作D驱赶时要减少很多次无用的计算,此算法充分考虑了故障在重复阵列模型中的重复影响作用,大大减少了计算工作量,同时可以对一般D算法无法产生测试的故障产生测试矢量。九值算法的特点是可以大大减少D算法中路径选择的次数,提高测试生成效率。
假设电路存在双故障,求其测试矢量。
不妨,首先令然后敏化故障 得
敏化这个故障信号的途径只有, 得
可以先不考虑,得
再作反向运算:由于 得,从而得出, 。由于要敏化故障 ,得到,要做相容性检查,结果,
说明是相容的。
由于 已经保证了故障的敏化,因此不再需要作反向计算。最后作 的反向计算,得到 ,它同 是相容的
。继续作反向计算得到
作输出信号的确认得到测试序列
由于这个电路是异步时序电路的组合化模型,按照测试序列中测试矢量元素变化最少的原则得到测试序列
可以看出,用九值算法产生测试矢量是考虑了多故障对电路的多重和重复影响作用。九值算法比D算法有很大的改进,大大提高了运算速度,其主要原因是大大减少了D驱赶的反回操作。但是当敏化值在赋予非敏化通路上时,九值算法要做的反向计算工作量要比D算法大得多,因此要进一步提高运算速度必须减少这一部分的工作量。改进的九值算法主要采取两个重要措施来减少反向计算的工作量:其一是及早检测出无效的故障敏化条件;其二是减少反向计算中反向寻踪的次数。
故障的敏化信号和只有设置在故障那个敏化通路上才是有效的。但在九值算法中可能会在非敏化通路上得到这种“故障敏化”信号,这种信号是假象,把它作为反向计算必然会导致失败,因此必须删除它,以避免不必要的计算。
三、结论
本文对组合电路的测试生成算法进行了研究,介绍了具有约束条件的布尔差分算法,此种方法可不用异或运算,而是通过求解恒等式及约束条件来得到完全测试集。此外,本文还对时序电路的测试生成算法进行了研究,九值算法比D算法在做D驱赶时要减少很多次无用的计算,在对电路进行描述时充分考虑了故障对电路的重复影响作用,可以对D算法无法产生测试的故障产生测试矢量。
参考文献:
[1]于云华,石寅.数字集成电路故障测试策略和技术的研究进展[J].电路与系统学报,2004,3(9).
[2]陈永刚,张彩珍.组合电路的故障测试生成D算法研究[J]兰州铁道学院学报,2002,12.
[3]刘晓东.集成电路测试生成算法的研究[J].哈尔滨工业大学,2003.
注:“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”
[关键词]集成电路 测试生成 布尔差分算法 九值算法
中图分类号:TQ15 文献标识码:A 文章编号:1671-7597(2008)0720024-01
隨着集成电路的发展,越来越多的新技术应用到实际生产中,电路的规模越来越大,复杂度越来越高,使得电路的测试生成变得越来越困难,因此研究有效的集成电路测试生成算法与技术已经成为现阶段的一项重要工作。早期人们对集成电路的诊断是靠人工查找故障,随着集成电路规模的增大,器件集成度的迅速提高,人工诊断就逐渐被机器诊断所代替,产生了系统的诊断理论和测试系统,现在人们对电路的测试通常是在测试系统所提供的硬件、软件环境下实现的。测试的基本工作过程为测试矢量、被测电路、与标准相应比较、测试结果分析。
一、组合电路的多故障测试生成算法
布尔差分法是组合逻辑电路测试生成算法中的一种常用方法。它的描述严格而简洁,物理意义清晰,因此对研究组合逻辑电路测试的理论和方法具有重要的意义。对开关函数(布尔函数):
定义(3-2)
为函数相对于变量的一阶布尔差分。由于变量是离散变量,它在变化时不存在“极限量”,因此其导数就称为差分。
定义了函数对 的一阶布尔差分后,可得到测试故障(s-a-1)和
(S-a-0)的测试矢量集为:
其中这一项是取故障的相反值,也就是使故障能够反映出来(被激活);
而是使故障点到可及输出端的故障传输路径得到敏化,使得在端可以观察到故障;的计算可由式3-4给出。
一阶布尔差分是用来求单故障测试矢量集的,如果要求多故障的测试矢量集,必须使用高级布尔差分。定义:
为关于的二阶布尔差分。二阶布尔差分法给出了检测双故障 、的测试矢量集为:
其中。式中的第一项表示存在故障
时单故障 的测试集,式中的第二项表示存在故障时单故障
的测试集,式中的第三项表示检测双故障 的测试集。
二、时序电路的多故障测试生成算法
时序电路内部存在着存储元件,因此它的输出不仅决定于当前的输出信号,而且决定于存储元件的状态,因此要对时序电路进行故障检测和诊断要比组合电路困难得多,导致了学者们对时序电路的研究较少。本部分介绍了一些相对较为实用的时序电路的测试生成算法。
MUTH 提出的九值算法是对五值D算法的改进。在使用重复阵列模型时,由于时段的重复故障效应,一个单故障表现为多故障,五值D算法没有考虑到这种情况,因此表现出了极大的弊端。九值算法充分考虑了这种故障的重复效应,能够对时序电路生成有效的测试矢量。九值逻辑的九值分别为是:1(1/1)、0(0/0)、U(X/X)、S0(0/1)、S1(1/0)、G0(0/X)、G1(1/X)、F0(X/0)和 F1(X/1)。九值算法比一般的扩展D算法在作D驱赶时要减少很多次无用的计算,此算法充分考虑了故障在重复阵列模型中的重复影响作用,大大减少了计算工作量,同时可以对一般D算法无法产生测试的故障产生测试矢量。九值算法的特点是可以大大减少D算法中路径选择的次数,提高测试生成效率。
假设电路存在双故障,求其测试矢量。
不妨,首先令然后敏化故障 得
敏化这个故障信号的途径只有, 得
可以先不考虑,得
再作反向运算:由于 得,从而得出, 。由于要敏化故障 ,得到,要做相容性检查,结果,
说明是相容的。
由于 已经保证了故障的敏化,因此不再需要作反向计算。最后作 的反向计算,得到 ,它同 是相容的
。继续作反向计算得到
作输出信号的确认得到测试序列
由于这个电路是异步时序电路的组合化模型,按照测试序列中测试矢量元素变化最少的原则得到测试序列
可以看出,用九值算法产生测试矢量是考虑了多故障对电路的多重和重复影响作用。九值算法比D算法有很大的改进,大大提高了运算速度,其主要原因是大大减少了D驱赶的反回操作。但是当敏化值在赋予非敏化通路上时,九值算法要做的反向计算工作量要比D算法大得多,因此要进一步提高运算速度必须减少这一部分的工作量。改进的九值算法主要采取两个重要措施来减少反向计算的工作量:其一是及早检测出无效的故障敏化条件;其二是减少反向计算中反向寻踪的次数。
故障的敏化信号和只有设置在故障那个敏化通路上才是有效的。但在九值算法中可能会在非敏化通路上得到这种“故障敏化”信号,这种信号是假象,把它作为反向计算必然会导致失败,因此必须删除它,以避免不必要的计算。
三、结论
本文对组合电路的测试生成算法进行了研究,介绍了具有约束条件的布尔差分算法,此种方法可不用异或运算,而是通过求解恒等式及约束条件来得到完全测试集。此外,本文还对时序电路的测试生成算法进行了研究,九值算法比D算法在做D驱赶时要减少很多次无用的计算,在对电路进行描述时充分考虑了故障对电路的重复影响作用,可以对D算法无法产生测试的故障产生测试矢量。
参考文献:
[1]于云华,石寅.数字集成电路故障测试策略和技术的研究进展[J].电路与系统学报,2004,3(9).
[2]陈永刚,张彩珍.组合电路的故障测试生成D算法研究[J]兰州铁道学院学报,2002,12.
[3]刘晓东.集成电路测试生成算法的研究[J].哈尔滨工业大学,2003.
注:“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”