利用DFT规则提高ASIC错误检测范围
能。鉴于这些理由,通常不使用 BSR向量。
错误模拟的第二步是了解ATPG和错误模拟两者所得到的错误之间的区别,因为后者必须从前者的错误检测范围结果开始,之所以有区别主要源于下面一些原因:
·RAM BIST模块在ATPG中作为黑盒模型而在错误模拟中却作为真实逻辑模型,所以错误模拟能看到ATPG看不到的所有BIST模块错误,这没什么关系,只需告诉错误模拟器不要针对这些模块中的错误即可。
· 错误模拟中使用的网表可能与ATPG中使用的网表不同。例如当ATPG运行时,因为它在后端流程中处于早期阶段,所以还没对设计进行适当优化。设计布局布线完成后,将产生门和网络延迟,根据这些值,有些门可能要进行充实,甚至需要作少许设计更改,这时既可以在修改过的网表上再运行ATPG,也可以用错误模拟覆盖这些增加的错误。注意要将类似这样的不匹配报告给ASIC设计人员,确保引起足够重视。
·ATPG测试中扫描触发器是多路复用扫描型,其clk、d和si引脚是自动测试的(qn引脚不是);而在错误模拟中,这些引脚变成逻辑引脚,是错误模拟器的检测对象,必须告诉模拟器不要对这些引脚进行检测。
·如前所述,如果门级网表使用Verilog赋值语句,ATPG将把它转换为数据库中的伪缓冲器单元,而这些单元不在错误模拟器数据库中。
· 有时候仅仅为了错误模拟器必须修改设计网表,如在使用延迟单元时。图3(a)中的del_1和del_2就是这种单元,结果使clk和 we_ram_unbuf信号间的电路及其产生的波形不能在错误模拟器中直接进行模拟,这是因为we_ram_unbuf的正确波形依赖于通过两个延迟单元的延迟信号,但延迟信息是不能模拟的。在这方面不是只有错误模拟才这样,ASIC仿真和测试系统也有同样的局限。
在错误模拟中我们所能做的就是旁路掉图3(a)中clk和we_ram_unbuf信号间的电路,方法是从一个称为we_ram_unbuf_fs(_fs表示错误模拟)的附加初级输入引脚处将we_ram_unbuf波形直接送至we_logic的a3引脚,如图4。如果设计里有多个RAM,可将引脚 we_ram_unbuf_fs送至所有这些RAM。注意这个引脚和多路器只是为了错误模拟而加上的,并不用在芯片制造中。
总之,你必须了解ATPG和错误模拟之间网表的差别,并决定错误模拟的对象是什么。错误模拟数据库(包括ATPG错误检测范围结果)建立好以后,错误模拟器就可以创建它所能得到的初始错误检测范围,这可能与ATPG看到的初始错误检测范围不同,具体取决于所显示的新错误数量和确定不作为检测对象的错误数量。此外,由于将RAM模拟为灰盒以及测试数据现在可以完全传送以测试所有直接访问RAM的非扫描逻辑,错误模拟中的不可测错误要比在ATPG中少得多。
同样,非扫描触发器也不再是指定的ALWAYS0或ALWAYS1模型,事实上有些类型的不可测错误完全消失了,如像CONS_UNCNTRL_UNTESTABLE和CONS_UNOBSRV_UNTESTABLE错误,这是因为没有将初级I/O引脚限制为恒定值。
然而,有一种不可测错误只能由错误模拟而不能由ATPG报告,这就是CLOCK_FAULT_UNTESTABLE错误。这种错误大多产生在存贮单元(触发器和锁存器)的时钟引脚上,不可能对它们初始化,从而使不确定值传送到输出端。如图5中latch1引脚en上的恒1错误, CLOCK_FAULT_UNTESTABLE错误也产生在非时钟引脚上,如图6中mux引脚上的恒0错误。
使用ATPG时,在我们刚才讨论的所有引脚上都根本不会有CLOCK_FAULT_UNTESTABLE错误,那么在ATPG中这些引脚上会有什么类型的错误呢?因为图6非扫描触发器 register1指定为ALWAYS0模型,所以mux上所有错误都是DANGLING_UNTESTABLE。图5的latch1在BIST模块内部而没有被ATPG看到,因此时钟和使能引脚上的CLOCK_FAULT_UNTESTABLE错误最多变成可能检测到的错误。虽然输出值是不确定的,但一般它们能在测试仪上检测到,因为时钟错误最终会产生一个与预期不同的输出值,所以可从错误模拟器中排除这类错误。
错误模拟的最后一步也是最困难的:将非扫描测试向量翻译成错误模拟器所需的格式。市面上还没有这类翻译器,必须得自己写。
有些ASIC供应商使用一个24-逻辑值系统来描述工作在芯片中的测试向量。例如,如果一个输入脚得到一个值为"1"的激励,在整个模拟周期中1都不会变化;如果加在这个引脚上的激励为"/",则在当前周期中这个值会从以前的值改变为当前值1,并在当前周期的余下时间里都保持为1。
最困难的问题是将这个24-逻辑值系统与错误模拟器所使用的4-逻辑值系统(1,0,X和Z)匹配起来。例如对于一个三态或双向引脚
ATPG 相关文章:
- 低功耗制造测试的设计-第一部分(01-29)
- 低功耗制造性测试的设计-第二部分(01-29)
- 生产制造中的低功耗测试方法(02-27)