微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 利用DFT规则提高ASIC错误检测范围

利用DFT规则提高ASIC错误检测范围

时间:11-12 来源:EETCHINA 点击:
本文是作者关于错误检测范围分析和ASIC设计全扫描测试模拟的第二篇文章(第一篇《在设计中遵循DFT规则提高错误检测覆盖率》见本刊今年8月第二期)。在前一篇里作者讨论了一些实用的方法,系统地分析了未包含在全扫描检测范围内的恒定错误,并提供设计实例,文中主要讲了一些重要的DFT规则,只要遵循这些规则就能大大提高错误检测范围。本文则详细介绍如何针对错误检测范围(而不是逻辑验证)用错误模拟的方法来模拟ASIC非扫描向量,其中的原理同样可以应用在FPGA等其它IC设计中。

ASIC 供应商们广泛应用扫描测试来检测一般称为恒定错误的制造缺陷,错误检测范围分析的目的是精确计算所有可检测错误百分比,并寻找方法将不在检测范围内的错误加入到检测范围内,以使最终错误检测范围百分比达到95%以上,这也是ASIC供应商所使用的标准,用以证明电路本身制造是正确的。

从DFT 规则1(参见《电子工程专辑》2002年8月第二期第46页《在设计中遵循DFT规则,提高错误检测覆盖率》一文)可知,我们应该进行边界扫描,或者在嵌入式RAM周围增加测试点进行全扫描测试,即需要对设计作一些更改。但假如由于进度、性能或面积等原因不能这样做该怎么办呢?如何将非扫描逻辑模块加入到测试范围之内呢?因为大多数不可测错误很可能就存在于这些模块中。在这种情况下,一般是进行错误模拟,使用一个支持恒定错误模型的特殊模拟器(称为错误模拟器),针对错误检测范围模拟非ATPG(自动测试模式)测试向量。非ATPG向量可以是那些最初开发用于功能验证的向量,也可以是手工开发用来针对己知错误的向量(图1)。

错误模拟不能从零开始,它从ATPG工具提供的错误检测范围结果中读出数据,并加上非ATPG测试向量提供的其它错误检测结果。所以让错误模拟器能读入 ATPG工具的输出文件非常重要,确保做到这点的方法之一是使用同一供应商提供的两种工具,如果这两种工具来自不同的供应商,在购买以前就要确认两种工具之间可以交流。另外一个关键之处是有些错误模拟器不能直接使用测试基准程序(如在Verilog中使用的程序),且需要特殊格式的输入激励和输出响应文件,如由1和0组成的二进制格式。

因此需要有一个工具来进行这种转换,工具可以由ASIC供应商提供,大多数情况下必须使用C、C++或者Perl5之类的语言进行开发,记住要分配足够的资源用于该项重要任务。

图1中的功能测试向量由几个不同类型的测试向量组成,错误模拟的第一步是决定哪一类向量能提供最大错误检测范围,从而只模拟这些向量,其中包括:

·逻辑测试向量 由ASIC设计人员或DVT工程师或共同开发生成,用于对设计进行功能验证。

·BSR测试向量 由ASIC供应商使用BSDL文件创建生成,如果每一个初级I/O引脚都处于边界扫描链中,那么这些向量还包括参数测试向量。

·参数测试向量 由ASIC设计人员或DVT工程师或共同开发生成,用于不是每个初级I/O引脚都处于边界扫描链的设计,这种向量使每个初级I/O引脚在状态1、0和Z态间转换。

·TAP控制器测试向量 由ASIC设计人员或DVT工程师或两者共同开发生成,用于通过TAP逻辑中每个要求的状态和扫描指令,并测试边界扫描逻辑。TAP逻辑有些错误可以被扫描测试本身所覆盖,如那些在时钟网表中的错误,但其它的必须用这些向量进行测试。

经验显示,逻辑测试向量对于错误检测范围不是很有效,因为它们不是专门针对错误的,但偶尔它们也会将一些ATPG测试范围内部或外部的错误传送至初级输出处。假如把它们放在芯片测试仪上运行,就可以使用错误模拟找出这些向量是否恰巧检测出一些检测范围以外的错误,如果能够的话就不必再手工编写测试向量将那些错误归到检测范围之内,但这需要对设计有透彻的理解且要做很多工作。

BSR向量很难用于错误模拟,原因是ASIC供应商的边界扫描工具只能读取BSDL文件,并只根据初级I/O引脚状态生成BSR向量,它不知道ASIC内部任何逻辑。图2是两个BSR组成的一个边界扫描链,用于三态初级输出引脚PO。

为了在非ATPG测试向量上进行错误模拟,应确保模拟器会产生带有这些向量的预期输出响应,并且不能有任何不匹配。使用BSR时我们可以从BSR向量中的 TMS信号值算出边界扫描链转移结束时间,对该时间而不是转移中的输出响应进行比较。错误模拟器也可以这样做,但不是自动的(监视TMS引脚数值)。此外,生成BSR向量不需要有关ASIC内部逻辑的知识(我们只对其中的错误分类感兴趣),所以要大幅增加错误检测范围不太可

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top