2008年12月17日星期三

illinois扫描结构

一个芯片的测试成本主要受到三个因素的影响,第一个就是测试的时间,就是将所有的测试向量灌到芯片里面,并收集结果所花费的时间。第二个就是测试数据的数量,第三个就是测试的管脚。举一个IBM chip的例子,设计逻辑部分有7 百万个门,有25万个寄存器单元,采用full scan的结构,如下图:假设需要的测试向量为7000个,则移位寄存器需要消耗的测试时间为7000*250000=1.75G cycle。假设测试时钟周期是100M,则需要耗时17.5s。需要消耗的memory为1.75G bit。很庞大,是把。怎么解决呢,容易想到的就是将这个扫描链的长度减小,用多个扫描链来替代,结构如下图:
将这一个长的扫描链分解成1000个250个长度的扫描链,这样移位寄存器的load time就减少到以前的1/1000,但是付出的代价是测试管脚增加了太多,一方面芯片不可能提供这么多管脚做DFT,另外一般的ATE只有10到200个扫描信道,所以说上面的方案仍然需要改进。选取2500个寄存器做个一个扫描链的长度,这样就将扫描信道减小到100,就可以忍忍使用了。需要注意的是,这种并行的方法只是减少了数据的load的时间,数据量并没有减少。 能不能有一种方法能减少load time,同时又能减小pin和data volume的?illinois就是其中的一种方法。具体原理见下图:
上图的四个扫描链共享一个scan data输入,这样减小了pin的使用,但是这样会有问题,就是覆盖率的问题。见下图对于上面的与门,输入只会出现两种情况,一种就是000,一种就是111,不会出现其他的情况,这样就会减低故障覆盖率。这怎么办才好么?方法就是采用两种模式相结合的方式。下图:
下面的几个图是说明使用illinois扫描结构效果的示意图:














效果很好,但是有一个选择分组的问题,也就是说把哪些扫描链共享一个scan_in。分组的原则就是将对覆盖率的损害降到最低。

没有评论: