首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

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

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

总之,你必须了解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)匹配起来。例如对于一个三态或双向引脚,如果它的控制信号是X 或改为X,引脚的值可以是24-逻辑值系统中C、E、Z、c、e和z中的一个,但在错误模拟中这个值必须是X或改为X。当控制信号是X时就是大多数逻辑和错误模拟器工作的方式,如果控制信号不是X,而三态或双向引脚是C、E、Z、c、e和z中的一个,那么在错误模拟中这个值将转换成Z。必须充分了解这一细微之处并进行正确处理,否则错误模拟输出响应将不匹配。两个系统之间的另一个区别是,24-逻辑值向量含有用于三态或双向引脚的内部控制信号,这个信号不能进入到错误模拟器使用的激励和响应文件中,但它们可以告诉翻译器什么时候三态引脚为Z值以及什么时候双向引脚改变方向,这样就能正确生成这两个文件。
        编写翻译器的工作量很大,因为两个系统之间的区别数量大,而且非常细微,但这一点能够做到而且必须做到。因为错误模拟的关键是要将内部错误的影响传送至初级输出以进行观察,所以我们的目标是测试向量在转换以及被错误模拟器使用时没有输出不匹配。即使有一个输出不匹配错误模拟也是无效的,因为这表示模拟向量没有按芯片在芯片测试仪上进行测试的同样方法运行。错误模拟可以在正确的输入激励和输出响应文件生成后开始,每项测试运行结束后,标出检测到的错误,这样在后面就不用再对其进行测试了。在这种情况下,每项测试都会减少余下检测范围之外的错误。所有提供的非扫描测试运行完以后,很可能仍然有一些检测范围以外的错误。如果这些错误所在的模块必须位于错误检测范围内,就应针对这些错误用手工开发更多的测试向量,这将是一个耗时并需要多次反复的过程,但也可以从很多地方(如错误模拟工具供应商处)获取实用且经过验证的方法和有用的工具。
        总之,扫描测试问题在ASIC设计中不是一个小问题,如果前期没有充分考虑到,那么到了后期将花费大量的时间和资源。所以很重要的一点是将它们作为与设计相关的事项对待,而不是与设计无关。同样重要的是,ASIC设计人员应与扫描测试新技术保持同步,因为新技术能以更容易的方法得到更高错误检测范围,并与现有扫描测试方法配合使用。
继承事业,薪火相传
返回列表