欢迎光临专业集成电路测试网~~欢迎加入IC测试QQ群:111938408

专业IC测试网

专用集成电路测试技术

时间:2009-06-18 16:49来源:www.ictest8.com 作者:ictest8 点击:

  随着集成电路的规模越来越大, 测试问题也日益尖锐地摆在了芯片设计师们的面前。流片结束之后的芯片测试与电路设计阶段的电路模拟不同, 电路模拟验证电路的设计是否正确, 而芯片测试是检验在正确的电路设计之下, 生产线上流出的芯片是否成功。这是两者的第一点不同。

第二, 对于设计阶段的电路模拟(包括逻辑模拟), 测试者尽可以在充足的模拟时间内, 用完备的测试矢量集(即输入数据)对电路进行测试。当发现问题时, 计算机测试软件还可以将测试点深入到电路内部任意一个结点,以确定故障所在。但对于流片之后的芯片测试, 问题就不是那么简单, 它要考虑如下一些问题:

1.根据正确的电路设计而生产的芯片, 由于加工过程引入的离散型缺陷, 比如某个引线孔未刻蚀干净造成电路开路, 或某两条金属线之间发生粘连造成电路短路等,使芯片不能正常工作。这就是所谓的“成品率”问题。现时的生产工艺尚无法保证100%的成品率, 这就意味着对每一只生产出来的芯片都必须进行功能测试, 以分检出成品与次品。我们不防称这样的测试为“功能测试” 。功能测试检测产品的好坏。

2.如果是由于某个共同的原因(或故障), 比如掩膜设计或制作时出了问题没有被发现, 而这一问题又被复制到整块掩膜板上的所有电路, 造成整批电路的投片失败。或者经功能测试发现成品率太低等等。总之, 在所有这些故障已确定存在的情况下, 我们都希望能有一种测试方法, 通过它能发现问题的原因也就是故障所在, 从而找出相应的解决办法。这类测试可称之为是“故障测试”。故障测试确定故障所在。

下面就来分述这两类测试问题。

§10-1功能测试

如前所述, 功能测试(包括性能测试)的主要目的是区分好产品而淘汰坏产品。测试速度非常重要。

对于一个大规模的集成电路, 其输入/输出管脚可能很多。理论上讲, 只有穷尽了输入信号的所有组合, 并验证了输出信号相应无误后, 才能断定此电路是合格产品。比如对于一个二输入端的“与非”门电路, 只有测试了00, 01, 10, 11四种输入状态下的输出分别是1, 1, 1, 0, 才能断定该“与非”门是合格产品。这就如同在电路设计阶段, 电路的逻辑模拟(逻辑仿真)所做的工作一样。

然而在实际应用中, 这样的穷尽测试法是不太现实的。下一节将要介绍的提取测试矢量集的方法能在一定程度上缓解穷尽法对测试量的压力, 也是当前集成电路测试的常规方法, 但需要价格昂贵的专用集成电路测试设备。对于小批量ASIC产品的研制人员和客户来说, 如果能够找到适合他们产品特点的简单易行的测试方法, 降低测试成本, 也是非常有意义的。

下面就是一个简化测试的典型例子。

图10-1是一个乘法/累加器专用集成电路的电路图。该电路的输入端为被乘数X (8bits)、乘数Y (7bits)和加数Z (15bits), 输出端为C (15bits)。为验证该芯片功能的正确性, 用穷尽法将要做28×27×215次测量, 测试量是非常巨大的。但如果采用基于穷尽法原理设计出的“准穷尽法”测试, 将会发现后者是这一电路比较具有实用价值的测试方法。

 

 

图10-1 乘法/累加器专用集成电路框图 图10-2 乘法/累加器的准穷尽测量法

 

图10-2是该乘法/累加器电路的准穷尽测试法示意图。将芯片的输出端C与累加输入端Z相连。将整个电路清零后, 固定乘数Y=1, 让被乘数X通过对时钟脉冲的计数, 从1到255 不断变化, 进行X与Y的乘法操作, 并将乘/加结果C通过输出寄存器(亦在时钟的控制下)返回给累加器, 与下一拍的乘积进行不断的累加。当X从1变到255之后,再控制变量Y加1, 即让Y=2, 再进行第二轮X×Y + Z的乘法累加运算(X仍从1变到255)。如此反复, 直到Y增加到最大值127为止。这样就完成了X和Y的穷尽法相乘, 以及与Z的准穷尽法相加, 并且只有一个最终累加结果。将这一最终累加结果从C中取出, 看它是否与它应该是的真值C0相等, 如果相等就可以认为电路工作正常, 也就是功能正常。

这一电路的真值C0可以这样计算获得:

127255

C0 = ??i×j

i =1j =1

= 1×1 +1×2 + … + 1×255 +

2×1 +2×2 + … + 2×255 +

…+

127×1 + 127×2 + … + 127×255

=1×(1 + 2 + … + 255 ) +

2×(1 + 2 + … + 255 ) +

…+

127×(1 + 2 + … + 255 )

=( 1 + 2 + … + 127 )×( 1 + 2 + … + 255 )

=[ ( 1 + 127 )×127 / 2]×[ ( 1 + 255 )×255 / 2 ]

= 8128 ×32640

= 265297920

将这个十进制数转化为二进制数, 得:

3224168

由于实际电路的输出端只有低15位, 故其真值应为:

C0 = 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0

这一方法还可以用来测试乘法/累加电路的最高工作频率(亦即性能测试): 当时钟脉冲的频率较低时, 芯片输出C = C0, 芯片工作正常。将时钟脉冲的频率不断提高, 每提高一次, 进行一次测试, 直至测试结果C 1 C0, 说明电路的工作状态已发生紊乱, 工作频率上限即可确定。

我们称这种方法为“准穷尽法”, 是因为累加器输入端Z的累加信号并不是按照穷尽法的方法来提供测试码的。另外, 因为测试只保留了一个最终数据C, 因此并不排除有几个中间错误互相抵销, 却使最终结果C = C0这样一种可能性, 虽然这种可能性极小。

总之, 这种具体问题具体分析, 将复杂的测试问题化简的方法, 是值得我们在实际工作中借鉴的。

具体请下载参考,专用集成电路测试技术

 

顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
用户名: 验证码: 点击我更换图片