2) 在激励中调用Verifault的系统任务,实现故障的管理、注入等工作;

3) 使用Verilog_XL运行本组测试激励,得到Verifault统计结果;

4) 根据统计结果报告的故障覆盖率调整测试激励,直至达到满足要求的故障覆盖率;

5) 对达到要求的测试激励进行测试向量的提取。

需要注意的是流程中第3步,由于受机器内存的限制,Verifault能复制的设计数量有限,为了验证所有的prime故障,Verifault会重复进行多遍测试(pass),这是对Verifault仿真时间影响最大的因素。每测试完一遍,Verifault会报告一次统计结果。

测试结果

本文经过对测试激励的不断调整,最终可达到的最高故障覆盖率为81.3%,在时钟的下降沿提取测试向量,得到了超过88万个的测试向量,其位数为54b。

采用DFT技术的芯片测试测试工具与测试流程

因为该芯片逻辑是全同步设计,所以采用ATPG+扫描链的DFT技术可以得到高效的测试向量集和较高的故障覆盖率。Synopsys公司的DC和TetraMAX工具是完成该可测性设计的最佳选择。

DC用来完成扫描链的插入,同时生成TetraMAX需要的约束文件(.spf文件)和插入扫描链后的网表文件。TetraMAX是用来实现ATPG的工具,需要与DC配合使用。 采用这些工具的测试流程为:

1) 首先把不符合可测性设计要求的逻辑模块从逻辑内核中分离出来,保证逻辑内核的时钟可以直接使用管脚输入的时钟,而非门生时钟;

2) 增加test_en端口,以及一些必要的逻辑门;

3) 在综合后的网表基础上插入扫描链;

4) 使用TetraMAX做ATPG,生成测试向量;

5) 用得到的测试向量测试逻辑内核;

在最后一步中,由于TetraMAX生成测试激励的时候,扫描链的数据是并行加载的,与实际情况不同,所以需要重新编写测试激励对得到的测试向量的可靠性进行测试。