一、故障建模的基本概念
故障建模是生产测试的基础,在介绍故障建模前需要先理清集成电路中几个容易混淆的概念:缺陷、故障、误差和漏洞。
缺陷是指在集成电路制造过程中,在硅片上所产生的物理异常,如某些器件多余或被遗漏了。故障是指由于缺陷所表现出的不同于正常功能的现象,如电路的逻辑功能固定为1或0。误差是指由于故障而造成的系统功能的偏差和错误。漏洞是指由于一些设计问题而造成的功能错误,也就是常说的bug。表1列出了一些制造缺陷和相应的故障表现形式。
表1 制造缺陷和故障表现形式
在实际的芯片中,氧化层破裂、晶体管的寄生效应、硅表面不平整及电离子迁移等都可能造成一定程度的制造缺陷,并最终反映为芯片的功能故障。
故障建模是指以数学模型来模拟芯片制造过程中的物理缺陷,便于研究故障对电路或系统造成的影响,诊断故障的位置。为什么要进行故障建模呢?这是因为,电路中可能存在的物理缺陷是多种多样的,并且由于某些物理缺陷对于电路功能的影响过于复杂,不能被充分地理解,分析的难度很大。而故障化模型中的一个逻辑故障可以描述多种物理缺陷的行为,从而回避了对物理缺陷分析的复杂度。
二、常见故障模型
1.数字逻辑单元中的故障模型
在数字逻辑中常用的故障模型如下。
(1)固定型故障(SAF,Stuck At Fault)
这是在集成电路测试中使用最早和最普遍的故障模型,它假设电路或系统中某个信号永久地固定为逻辑0或者逻辑1,简记为SA0(Stuck-At-0)和SA1(Stuck-At-1),可以用来表征多种不同的物理缺陷。如图1所示,对于器件U0来说,SA1模拟了输入端口A的固定在逻辑1的故障,对于U1来说,SA0模拟了输出端口Y固定在逻辑0的故障。
图1 固定型故障
对于图2所示的组合电路,共包含2×(Npins+Nports)=2×(11+5)=32个固定型故障。
图2 固定型故障举例
下面的例子说明了故障合并的含义。对于图3所示的传输电路,端口A的SA0故障和端口Z的SA0故障等效,同样的端口A的SA1故障和端口Z的SA1故障等效,因此在考虑测试矢量集的时候可以合并故障,只需要从子故障集合{A:SA0,Z:SA0}和{A:SA1,Z:SA1}中各选择一个故障类型。
图3 故障的合并
(2)晶体管固定开/短路故障(Stuck-open/Stuck-short)
在数字电路中,晶体管被认为是理想的开关元件,一般包含两种故障模型——固定开路故障和固定短路故障,分别如图4和图5所示。在检测固定开路故障的时候,需要两个测试矢量,第一测试矢量10用于初始化,可测试端口A的SA0故障,第二个测试矢量00用来测试端口A的SA1故障。对于固定短路故障的时候需要测量输出端口的静态电流。
图4 晶体管固定开路故障
图5 晶体管固定短路故障
(3)桥接故障(Bridging Faults)
桥接故障指节点间电路的短路故障,通常假象为电阻很小的通路,即只考虑低阻的桥接故障。桥接故障通常分为3类:逻辑电路与逻辑电路之间的桥接故障、节点间的无反馈桥接故障和节点间的反馈桥接故障。