Chapter 12 Automatic Test Generation for Combinational Circuits
12.2 Faults and Fault Models
Stuck at 0/1 module 是最经典的Fault Model,模拟的是逻辑门的某个输入或输出由于物理故障,被强行设置为0或者1。下图显示的就是一个inverter的输入由于短路故障被强设为0,我们用stuck-at 0 module对其建模。
Stuck at 0/1 model 描述的是单点故障,可实际电路通常是多点故障。幸运的是,基于stuck at 0/1 model构建的测试集在实际应用中也可以检测出大部分的多点故障。还有,故障是定义在gate的terminals,而不是wire上。比如下图一个wire上可以有三个故障,因为该wire连接了三个gate terminals。这种情况千万不能视为一个故障。
主要给出了故障等价性的定义,就是两个故障电路的bool函数完全一样,则两个故障是等价的。故障等价性的概念很重要,这意味着我们可以只用一个测试向量检测所有等价的故障点。
先看左面子图,这三个故障点都是等价的。我们可以想像该与门驱动了某个后级电路,这三个故障对后级电路而言是等价的,都是输出0。右边子图的分析也是类似的,不再赘述。找出等价故障对的过程叫做fault collapsing。
注意,有的fault不会导致电路功能的变化,想一想上一章讲的don't cares就明白了。这种fault被称为untestable,undetectable,redundant,通常意味着电路存在冗余,可以进一步优化。
12.3 Automatic Test Generation
一个test vector其实就是被测电路的一组输入input vector。Automatic Test Pattern Generation(ATPG)就是自动产生电路的一组test,