可测性设计经典讲解Word文件下载.docx
- 文档编号:13953486
- 上传时间:2022-10-15
- 格式:DOCX
- 页数:42
- 大小:1.12MB
可测性设计经典讲解Word文件下载.docx
《可测性设计经典讲解Word文件下载.docx》由会员分享,可在线阅读,更多相关《可测性设计经典讲解Word文件下载.docx(42页珍藏版)》请在冰豆网上搜索。
●测试时间越来越长,百万门级的SoC测试可能需要几个月的时间甚至更长。
●测试矢量的数目越来越多,覆盖率却难以提高,人们不知道究竟要用多少测试矢量才能覆盖到所有的器件。
●测试设备的使用成本越来越高,直接影响的芯片的成本。
9.1.2.测试以及测试矢量的分类
根据测试的目的不同,可以把集成电路测试分为四种类型:
(1)验证测试(VerificationTesting,也称作DesignValidation)
当一款新的芯片第一次被设计并生产出来,首先接受验证测试。
在这一阶段,将会进行功能测试,以及全面的AC、DC参数的测试。
通过验证测试,我们可以诊断和修改设计错误,为最终规范(产品手册)测量出芯片的各种电气参数,并开发出测试流程。
(2)生产测试(ManufacturingTesting)
当芯片的设计方案通过了验证测试,进入量产阶段之后,将利用前一阶段调试好的流程进行生产测试。
在这一阶段,测试的目的就是明确做出被测芯片“是”或“否”通过测试的判决。
由于每一颗芯片都要进行生产测试,所以测试成本是这一阶段的首要问题。
从这一角度出发,生产测试通常所采用的测试向量集不会包含过多的功能向量,但是必须有足够高的模型化故障的覆盖率。
在下一节中将会重点介绍。
(3)可靠性测试(reliabilitytesting)
通过生产测试的每一颗芯片并不完全相同,最典型的例子就是同一型号产品的使用寿命却不尽相同。
可靠性测试就是要保证产品的可靠性,通过调高供电电压、延长测试时间、提高温度等方式,将不合格的产品(如会很快失效的产品)淘汰出来。
(4)接受测试(AcceptanceTesting)
当芯片送到用户手中,用户将进行再一次的测试。
如系统集成商在组装系统之前,会对买回的各个部件进行此项测试。
根据测试方式的不同,测试矢量也可以分为三类:
(1)穷举测试矢量(ExhaustiveVector)
所有可以可能的输入矢量。
该测试矢量特点是覆盖率高,可以达到100%。
但是其数目惊人,对于具有n个输入端口的芯片来说,需要2n个测试矢量来覆盖其所有的可能出现的状态。
譬如如果要测试74181ALU,其有7个输入端口,就需要27=16,384个测试矢量,对于一个有38个输入端口的16位的ALU来说,以10Mhz的速度运行完所有的测试矢量需要7.64个小时。
显然,这样的测试对于量产的芯片是不可取的。
(2)功能测试矢量(FunctionalVector)
主要应用于验证测试中,目的是验证各个器件的功能是否正确。
其需要的矢量数目大大低于穷举测试,以上例74181ALU而言,只需要448个测试矢量,但是目前没有算法去计算矢量是否覆盖了芯片的所有功能。
(3)结构测试矢量(StructuralVector)
这是一种基于故障模型得测试矢量,它的最大好处是可以利用电子设计自动化(EDA:
ElectronicDesignAutomatic)工具自动对电路产生测试向量,并且能够有效地评估测试效果。
对于74181ALU,其只需要47个测试矢量。
这类测试矢量的缺点是有时候工具无法检测所有的故障类型。
9.1.3.自动测试设备(ATE:
AutomaticTestEquipment)
与IC测试有关的另外一个重要概念就是自动测试设备。
使用ATE可以自动完成测试矢量的输入和核对输出的工作,大大提高了测试速度,但是目前其仍旧面临不小的挑战。
该挑战主要来自于两方面,首先是不同芯片对于同种测试设备的需求。
一般情况下,4至5个芯片需要用同一个测试设备进行测试,测试时间只有一批一批的安排。
每种设计都由自己的测试矢量和测试环境,因此改变被测芯片时,需要重新设置测试设备和更新测试矢量。
其次是巨大测试矢量对于测试设备本身性能的要求。
目前,百万门级SoC的测试矢量规模非常大,可能达到数万个,把这些测试矢量读进测试设备并且初始化需要相当长的时间。
解决这一方法的途径是开发具有大容量矢量存储器的测试矢量加载器,例如Advantest的W4322的高速测试矢量加载服务器可以提供72GB的存储空间,可以缩短80%的矢量装载时间。
9.2.故障建模以及ATPG原理
9.2.1.故障建模的基本概念
故障建模是生产测试的基础,在介绍故障建模前需要先理清集成电路中几个容易混淆的概念:
缺陷、故障、误差和漏洞。
缺陷是指集成电路制造过程中,在硅片上所产生的物理异常,譬如说多余或遗漏了某些器件。
故障是指由于缺陷所表现出不同与正常功能的现象,譬如说电路的逻辑功能固定为1或0。
误差是指由于故障而造成的系统功能的偏差和错误。
漏洞是指由于一些设计问题而造成的功能错误,也是我们常说的bug。
表9-1列出了一些制造缺陷和相应的故障表现形式。
表9-1制造缺陷和故障表现形式
制造过程中的缺陷
故障表现形式
线与线之间的短路
逻辑故障
电源与电源之间的短路
总的逻辑出错
元件的开路
固定型故障
线开路
逻辑故障或延迟故障
MOS元件源漏端的开路
延迟或逻辑故障
MOS元件源漏端的短路
栅级氧化短路
PN结漏电
在实际的芯片中,氧化层破裂、晶体管的寄生效应、硅表面不平整以及电离子迁移等都可能造成一定程度的制造缺陷,并最终反映为芯片的功能故障。
故障建模是指以数学模型来模拟芯片制造过程中的物理缺陷,便于研究故障对电路或系统造成的影响,诊断故障的位置。
为什么要进行结构建模?
这是因为,电路中可能存在的物理缺陷是多种多样的,并且由于某些物理缺陷对于电路功能的影响过于复杂,不能充分为人所理解,分析的难度很大。
而故障化模型中的一个逻辑故障可以描述多种物理缺陷的行为,从而回避了对物理缺陷分析的复杂度。
9.2.2.常见故障类型
在数字逻辑中常用的故障模型如下:
(1)固定型故障(SAF:
StuckAtFault)
这是在集成电路测试中使用最早的和最普遍的故障模型,它假设电路或系统中某个信号永久地固定为逻辑0或者逻辑1,简记为SA0(Stuck-At-0)和SA1(Stuck-At-1),其可以用来表征多种不同的物理缺陷。
如图9-2所示,对于器件U0来说,SA1模拟输入端口A的固定在逻辑1的故障,对于U1来说,SA0模拟了输出端口Y固定在逻辑0的故障。
图9-2固定型故障
对于图9-3的组合电路,其共包含2*(Npins+Nports)=2*(11+5)=32个固定型故障。
图9-3固定型故障举例
下面的例子说明了故障合并的含义。
对于图9-4的传输电路,端口A的SA0故障和端口Z的SA0故障等效,同样的端口A的SA1故障和端口Z的SA1故障等效,因此在考虑测试矢量集的时候可以合并故障,只需要从子故障集合{A:
SA0,Z:
SA0}和{A:
SA1,Z:
SA1}中个各选择一个故障类型。
图9-4故障的合并
(2)晶体管固定开/短路故障(Stuck-Open/Stuck-short)
在数字电路中,晶体管被认为是理想的开关元件,一般包含两种故障模型:
固定开路故障和固定短路故障,分别如下图所示。
在检测固定开路故障的时候,需要两个测试矢量,第一测试矢量10用于初始化,可测试端口A的SA0故障,第二个测试矢量00用来测试端口A的SA1故障。
对于固定短路故障的时候需要测量输出端口的静态电流。
图9-5晶体管固定开路故障
图9-6晶体管固定短路故障
(3)桥接故障(BridgingFaults)
指节点间电路的短路故障,通常假象为电阻很小的通路,即只考虑低阻的桥接故障。
桥接故障通常分为三类:
元件与元件之间的、节点间的无反馈桥接故障和节点间的反馈桥接故障。
(4)跳变延迟故障(TF:
TransitionDelayFault)
是指电路无法在规定时间内由0跳变到1或从1条变到0的故障。
在电路上经过一段时间的传输后,跳变延迟故障表现为固定型故障。
图9-7跳变延迟故障
(5)传输延迟故障(PathDelayFault)
不同于跳变延迟故障,是指信号在特定路径上的传输延迟,通常与测试该路径相关AC参数联系在一起,尤其是关键路径。
存储器的故障模型和数字逻辑中的故障模型有着显著的不同,虽然固定、桥接及晶体管固定开/短路故障模型对于数字逻辑有很好的模拟效果,但是这些故障类型用来确定存储器功能的正确性却是不充分的。
除单元固定、桥接故障外,存储器故障还包括耦合、数据保留、临近图形敏感故障。
此外还有一些连接故障,在[9-1]和[9-2]中有比较详细的论述。
(1)单元固定故障(SAF:
Stuck-AtFault)
指的是存储器单元固定在0或者1。
为了检测这类故障我们需要对每个存储单元和传输线进行读写0和1的操作。
(2)状态跳变故障(TF:
是固定故障的特殊类型,发生在对存储单元进行写操作的时候,不发生正常的跳变。
这里需要指出的是跳变故障和固定故障不可相互替代,因为跳变故障可能在发生耦合故障时候发生跳变,但是固定故障永远不可能改变。
为了检测此类故障我们必须对每个单元进行0-1,1-0的读写,并且要在写入相反值后立刻读出当前值。
(3)单元耦合故障(CF:
CouplingFault)
这些故障主要针对RAM,发生在一个单元进行写操作时,这个单元发生跳变的时候,会影响到了另一个单元的内容。
单元耦合可能是反相类型(CFin:
inversion,单元内容反相)、等幂类型(CFid:
idempotent,仅当单元有特定数据时单元的内容改变),或者简单的状态耦合(CFst:
state,仅当其他位置有特定的数据时单元内容改变)。
为了测试CF故障,在对一个连接单元进行奇数次跳变后,对所有单元进行读操作,以避免可能造成的耦合故障。
(4)临近图形敏感故障(NPSF:
NeighborhoodPatternSensitiveFaults)
这是一个特殊的状态耦合故障。
此类故障意味着在特定存储单元周围的其他存储单元出现一些特定数据时,该单元会受到影响。
图9-8临近图形敏感故障(NPSF)
(5)地址译码故障(ADF:
AddressDecodeFault)
该故障主要有四类:
●对于给定的地址,不存在相对应的存储单元。
●对于一个存储单元,没有相对应的物理地址。
●对于给定的地址,可以访问多个固定的存储单元。
●对于一个存储单元,有多个地址可以访问。
(6)数据保留故障(DF:
DataRetentionFault)
是指存储单元不能在规定时间内有效保持其数据值而出现的故障。
这是一类动态的故障,对于SRAM来说相当重要,可以模拟DRAM数据刷新中数据固定和SRAM静态数据丢失等故障。
有时对可编程的ROM
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可测性 设计 经典 讲解