若春和景明 玖月晞:基于SCAN的IDDQ设计 : 新思科技

来源:百度文库 编辑:中财网 时间:2024/04/29 16:19:40

基于SCAN的IDDQ设计


荣海涛haitao.rong.aj@renesas.com

瑞萨电子(中国)有限公司

摘要

IDDQ测试在集成电路测试中是一种重要的方法。随着集成电路SOC(System On Chip 片上系统)时代的到来,基于SCAN的 IDDQ自动测试向量生成成为SOC设计中IDDQ测试中常用的方法。Synopsys Tetramax 就是可以实现基于SCAN IDDQ 自动测试 向量生成的EDA工具之一。如何利用EDA工具生成合适的IDDQ 测试向量是SOC测试过程中的一个挑战。
本文基于在工作中使用Synopsys Tetramax 自动生成IDDQ 测试向量的实践,介绍了基于SCAN的IDDQ测试原理,测试电路设 计,IDDQ 自动测试向量生成流程及IDDQ 测试向量验证。
在实践中证明我们所采用的基于 Synopsys Tetramax工具的 IDDQ 自动测试向量生成的流程和方法生成的IDDQ 测试向量顺利的 完成SOC的IDDQ测试。同时也证明Synopsys Tetramax 是一个非常好用的IDDQ ATPG EDA工具。
关键字:静态电流测试 自动测试向量生成 故障覆盖率

Abstract

The IDDQ test is one of the important technologies of IC test. The SCAN IDDQ ATPG plays a significant role in the SOC IDDQ test. Synopsys Tetramax is one of the EDA tools which can realize SCAN IDDQ ATPG. How to generate good quality IDDQ pattern using EDA tool is the challenge in the SOC test.
This paper is based on our IDDQ ATPG experience using Synopsys Tetramax. IDDQ ATPG theory, circuit design, ATPG design flow and verification are introduced in this paper.
It has been proved that Synopsys Tetramax is a very good IDDQ ATPG EDA tool and our IDDQ pattern, which generated by Synopsys Tetramax, has good test result in our IDDQ test.
Key words: IDDQ    ATPG Fault    Coverage

1. 简介

IDDQ 测试提出到现在已经有30多年了。很多半导体厂商依然 选择IDDQ测试来测试自己集成电路产品,不仅因为IDDQ可以 测到功能测试向量和SCAN 测试向量 测试不到的物理错误如图 1;而且IDDQ还可以少量的测试向量实现较为高的测试覆盖率如表2。

图1各种测试方法所覆盖的故障统计[3]

当今集成电路设计进入了电路规模大,电路复杂的深亚微米时代,这样给IDDQ测试带来了新的挑战。本文以结合实际工作过程中的经验,介绍如何对深亚微米大规模SOC进行基于SCAN IDDQ测试的设计。

2. 基于SCAN的IDDQ测试

IDDQ测试通过度量静态状态下的某个CMOS管的漏电流来测试电路的故障。正常状态下,电路的静态电流很小,所以一个大电流就意味着故障的存在,CMOS电路的一个重要特征就是静态的时候几乎没有电流,“静态”是指所有的输入是稳定的,电路处于非活动状态,内部寄存器不发生翻转,存储器的内容保持不变。IDDQ测试与传统的测试方法不同,它不是看设计的逻辑行为,而是通过检测测试电路在 静态状态下的电流来检查各个节点的正确性。甚至只有一个故障节点也会引起大的漏电流。
例如,考虑短接地故障如图2所示:

图2 – 短接地故障

当反向器的输入为零时,上边的晶体管导通,出现一个由电源到地的通路,这样即使在静态的状态下这条通路也会产生较大的漏电流,如图3所示:

图 3-短接地故障电流

所以只有将反向器的输入设置为一个确定值“0”,才能在IDDQ测试中测出如图2的故障。
基于SCAN的IDDQ就是运用自动测试向量生成技术通过SCAN 链把数据扫描进去,将内部电路设置成预知的确定的状态,然 后测量在电路处于静态时测量静态电流。
基于SCAN的IDDQ 测试向量的测试波形如图4所示:

图 4-基于SCAN的IDDQ 测试波形

在当今集成电路设计进入深亚微米时代,集成电路器件尺寸越来越小,芯片规模越来越大,使得芯片漏电流不断增大,接近甚至 超过故障电流,这使得传统的单一阐值比较的IDDQ测试方法如图3不再有效。
针对深亚微米IDDQ的测试,人们发明了IDDQ绝对值测试、IDDQ差分测试、电流比测量等实现方法。这些方法使IDDQ测试在深 亚微米时代可以延续。
图5是IDDQ差分测试的示意图:

图 5-IDDQ差分测试的示意图

基于SCAN的IDDQ测试Pattern,均可以实现上述测试方法。

3. 电路结构及IDDQ的电路设计注意事项

3.1 电路结构

芯片电路结构图如图6所示:

图6–电路结构

电路可以分为4个部分组成:
1. TEST CONTROL: 测试控制电路
TEST CONTRAL电路用于测试模式选择。TEST CONTROL 电路包含一个控制状态机,状态机通过两个输入(控制使能CTL_MOD 和控制时钟CTL_CLK)来控制输出相应测试模式使能信号(包括IDDQ测试模式使能信号)。
2. UDL:用户定义逻辑 用户定义逻辑是电路的逻辑设计部分。用户定义逻辑中插入了SCAN链,IDDQ 测试向量能够通过SCAN链将用户逻辑的内部电路
设置成固定值。
3. RAM,ROM:存储器
4. HARD CORE: 硬核
硬核的IDDQ测试模式使能信号与TEST CONTROL电路连接,通过TEST CONTROL电路将 硬核设置在IDDQ测试模式。

3.2 IDDQ的电路设计注意事项

IDDQ的电路设计要遵循IDDQ的可测试性设计原则, IDDQ的可测试性设计原则是保证电路设计不会影响IDDQ测试的原则。IDDQ可测试性设计原则在参考文献[2]中有详细描述。
在本电路设计中主要注意遵守其中如下三个原则:
1. 双向的端子要设定为一种确定的状态
2. 避免组合回路
3. 对于电路中的IP和硬核要讲IDDQ_mode设置为1

4. IDDQ 测试向量设计

IDDQ 测试向量设计分为 IDDQ 测试向量生成和IDDQ 测试向量验证两个步骤组成。
IDDQ 测试向量设计流程如图7所示:

图 7-IDDQ 测试向量设计流程

4.1 IDDQ 测试向量生成

IDDQ 测试向量生成流程如图8所示:

图 8-IDDQ 测试向量生成流程

流程中的几点说明:
选择fault 的类别:
TetraMax 支持两种IDDQ故障模型:the pseudo-stuck-at model 和the toggle model。The pseudo-stuck-at model 考虑 单个cell的功能性,它跟标准的stuck-at module很相似,只是在IDDQ测试中,每个cell的输出被认为是可观的。一个门输入的故障点需要激活并传播到门的输出,不需要传播到设计的输 出。the toggle model 不考虑门的功能性,是net-only 模型, 所以每个故障点必须状态可控。
在本设计中选择的是the toggle model
选择测试向量数量:
IDDQ测试只采样几次就可以获得比较高的故障覆盖率。第一次采样就能检测出一半的short_to_ground和short_to_VDD故障。随后的测试向量使尽量多的节点的值发生变化来提高故障覆盖率。
测试向量数量选择方法是达到测试覆盖率要求的条件下,尽量减少测试向量数量。
在我们的设计中分别选择了测试向量数量为10,20,30 其覆盖率结果如下:

图 9–测试覆盖率结果对比图

表1–测试覆盖率结果对比表

三个结果覆盖率均大于我们的覆盖率要求(85%),而且从上结果也可知测试向量数量提高,覆盖率并没有显著的增加。所以我们选择测试向量数量为10。
表2是IDDQ 测试向量和stuck-at测试向量达到同样的覆盖率的测试向量数量对比。从表2中可以看出实现同样的测试覆盖率, IDDQ所用的测试向量数量相对stuck-at测试来说,要少的多。

表2 –IDDQ 测试向量和stuck-at测试向量结果对比表

4.2 IDDQ 测试向量 验证

4.2.1 PowerFault仿真

PowerFault 仿真技术使我们能够实现对TetraMAX生成的IDDQ 测试向量的验证。PowerFault 可以实现如下功能:
a) 验证strobe 点的静态情况 b) 分析和调试非静态的状态 c) 为获得最大的故障覆盖率去选择最佳的IDDQ strobe 点 d) 生成IDDQ 故障覆盖率报告
在验证前,我们首先对Tetramax 生成的 testbench 进行修改。 在testbench中加入如下两条语句:
$ssi_iddq(”allow float AAA_tmax_testbench_1_16.dut”); //允许悬空的输入
$ssi_iddq(”allow fight AAA_tmax_testbench_1_16.dut”); //允许驱动的竞争
如上两条语句允许悬空的输入和驱动的竞争存在,因为电路 中的悬空的输入和驱动的竞争已经确认不会影响实际的机台 IDDQ测试。
仿真的运行脚本如下:
vcs \
-P $SYNOPSYS_TMAX/amd64/iddq/lib/iddq_vcs.tab \
$SYNOPSYS_TMAX/amd64/iddq/lib/libiddq_vcs.a \
+define+tmax_iddq \
+acc+2 \
testbench.v.mod \
NETLIST.scan.v \
… …
脚本中:
“-P $SYNOPSYS_TMAX/amd64/iddq/lib/iddq_vcs.tab,$SYNOPSYS_TMAX/amd64/iddq/lib/libiddq_vcs.a”
用来指定Power Fault IDDQ用PLI“+define+tmax_iddq”Power Fault IDDQ执行的选择

4.2.2 结果确认

仿真log确认:
a) 确认测试值与期待值结果一致性

正确结果如下所示:
b) leak check 结果检查 正确结果如下所示:

Power文件(AAA_tmax_testbench_1_16.leaky) 确认
正确结果如下所示

如果仿真中出现错误请做如下检查
1. 检查电路设计中是否有违反IDDQ可测试性设计的内容
2. 检查TMAX的设定是否正确
3. 检查Testbench是否已正确修改

5. 结论

本文介绍运用Synopsys EDA工具实现基于SCAN IDDQ测试设 计的流程。运用本文流程,可以非常快捷正确地完成基于SCAN IDDQ 测试的设计。在本文流程中测试向量生成时选择不同的测 试向量数量进行测试覆盖率分析,最后根据设计要求和覆盖率情况选择合适的测试向量数量,这种方法为IDDQ的测试向量数量 的选择提供了量化的分析,这种量化分析使IDDQ测试向量数量 的选择更加科学合理。在本文流程中验证时对于在电路中的悬空的输入和驱动的竞争进行确认,确认其不会影响实际的IDDQ测 试后在测试环境中加入允许悬空的输入和驱动的竞争的语句,这 样保证了IDDQ 测试向量验证准确顺利的完成。

6. 参考文献

[1] Test Pattern Validation User Guide SYNOPSYS
[2] TetraMAX ATPG User Guide SYNOPSYS
[3] Peter C. Maxwell of Agilent Technologies, “Wafer-Package Test Mix for Optimal Defect Detection and Test Time Savings” IEEE Design & Test of Computers, 2003