数字集成电路可测性设计及验证方法学
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
14/6/4
共 102 页
39
主要内容
可测性基础 可测性设计工具
验证的必要性 验证方法学介绍 验证工具介绍
14/6/4
共 102 页
40
验证的必要性
验证的概念,验证与测试的区别。 经验表明,验证已经占到整个产品开发周期的 70% 以上,它已经成为复杂 SOC ( System on-Chip )开发中的重要壁垒。
数字集成电路可测性软件 设计及验证平台
2013 年 4 月 25 日
主要内容
可测性基础 可测性设计工具
验证的必要性 验证方法学介绍 验证工具介绍
14/6/4
共 102 页
2
主要内容
可测性基础 可测性设计工具
验证的必要性 验证方法学介绍 验证工具介绍
14/6/4
共 102 页
write -format verilog –hierarchy –output ./netlist/top_pad.sv write_sdc ./sdc/top_pad.sdc write_test_protocol -format stil -output ./spf/top_pad.spf
.sv 文件和 .sdc 文件供布局布线工具 Astro 生成芯片版图 .spf 文件供测试矢量生成工具 Tetramax 生成与测试矢量集,待芯片流 片封装好后,测试矢量集供 ATE 设备来测试芯片。
18
测试矢量集( Test Pattern )
由一个或多个测试序列组成的测试矢量,测试矢量包含 输入激励和预期的输出响应,以测试一个目标的故障。
14/6/4
共 102 页
19
以二输入与非门为例,假设输 入为 A , B ,输出为 Y , Y=~(A*B);
A 0 0 1 1
B 0 1 0 1
Y 1 1 1 0
A/1 1 0 1 0
A/0 1 1 1 1
B/1 1Leabharlann Baidu1 0 0
B/0 1 1 1 1
Y/0 0 0 0 0
Y/1 1 1 1 1
测试矢量为: 00 1,01 1,10 1,11 0 输入激励 输出响应
共 102 页 20
14/6/4
故障覆盖率
可以测试到的故障占总故障的比例。 如果电路的每个节点既可以控制 (controllable) , 又可观测 (observable) ,那么电路的测试覆盖率就 高。
共 102 页 25
14/6/4
设计流程
14/6/4
共 102 页
26
1.Scan-Ready Synthesis
DFT Compiler
14/6/4
共 102 页
27
2.Set ATE Configuration
14/6/4
共 102 页
28
2.Set ATE Configuration
3
可测性基础
什么是可测性设计? 物理瑕疵及故障模型 单一故障模型: SAF Model 可测性设计常用方法 检测 SAF 的算法: D 算法 测试矢量集 故障覆盖率
14/6/4
共 102 页
4
什么是可测性设计?
可测性设计 , Design For Test, 即 DFT 。 为了测试所设计 IC 有没有被正确的制造出 来(测试半导体生产处理过程中的瑕疵,不是 测试芯片设计的对错 ) 。 DFT= 增加芯片逻辑 + 生成测试矢量集(供测 试设备用)
14/6/4
共 102 页
24
DFT Compiler
Synopsys 公司的集成于 Design Compiler 的先进测试综合工具 独创的“一遍测试综合”技术 功能强大的扫描式可测性设计分析、综合和验 证技术 支持 RTL 级、门级的扫描测试设计规则检查 ,以及给予约束的扫描链插入和优化 启动命令 source /opt/demo/synopsys.env design_vision &
14/6/4 共 102 页 12
D 算法
第三步:是把故障效应传送到输出端口,可以在输出端口 观测到其逻辑值,有故障节点的逻辑值通过组合电路后可 能会反向,但是差异还保留着。
14/6/4
共 102 页
13
D 算法
第四步:记录向量。成功的测试向量被记录在内 存里,已测试的故障从目标故障的清单里减掉。
14/6/4
共 102 页
14
扫描测试
可测试的触发器有两种模式: 正常模式——在这种模式下,所设计芯片以设计的原 来功能工作; 测试模式——在这种模式下,所设计芯片进行生产测 试。
14/6/4
共 102 页
15
扫描测试
标准 D 触发 器
14/6/4
与标准 D 触发器 等效的扫描触发 器
共 102 页 16
14/6/4
共 102 页
41
典型流程
动态仿真正确
时序 不满足
Verification is not just very hard, it is very, very hard 没有一个简单的工具可以解决你所有的验证 问题。 (VSIA,Virtual Socket Interface Alliance)
14/6/4
共 102 页
30
4.Scan Specification
在 DFTC 中,可以用 set_scan_configuration 命 令进行扫描路径的管理 set_scan_configuration -chain_count 6 set_scan_configuration -clock_mixing mix_clocks set_scan_configuration -internal_clocks true set_scan_configuration -add_lockup false
仿真技术 静态技术 物理验证
14/6/4
共 102 页
44
仿真技术
基于事件的仿真 -- 任何一个输入的变化都 被标记为事件,即常说的功能仿真,精度 高,速度慢。比如 Modelsim, VCS 。 基于周期的仿真 -- 单周期内只检查一次输 入并计算设计的输出逻辑值。速度快,无 时序、毛刺。比如 Cyclone 。 事务级仿真 -- 一堆事件的集合即为事务, 即常说的验证平台。 软硬件协同验证 -- 需要专门的软硬件,成 本高 。
扫描测试
使用扫描触发器,会增加设计的面积,增加了路 径 的延迟,增大了触发器的输出负载和电路的功耗。
SMIC0.18µm 工艺库 FFDQRHDLX FFSDQRHDLX 增加百分比 AREA(µm2 ) 63.2 79.83 26.3%
14/6/4
共 102 页
17
扫描测试流程
14/6/4
共 102 页
14/6/4
共 102 页
29
3.Pre-Scan Check
执行 create_test_protocol 命令 , 生成测试协议 执行 dft_drc 命令,检查设计中有无测试设计规则的违规 。 典型的设计综合规则有: capacitance, transition, and fanout 典型的测试设计规则主要检查 1. 设计中是否有测试违规使得无法插入扫描链 2. 设计中是否有测试违规使得无法捕获数据 3. 设计中是否有测试违规使得测试覆盖率降低
即测试时钟周期为 100ns ,输入端口的数据输入到达时 间为 5ns ,双向端口的数据输入到达时间为 55ns ,输出 端口的数据程序采样( strobe )时间为 40ns 。 测试时间参数的设置一般放在 .synopsys_dc.setup 文 件中,也可以包含在 DC 综合脚本文件里。 测试时钟定义了驱动所有扫描触发器的时钟,测试时钟一 般与电路的工作时钟不同,它是由 ATE 提供的,只在测 试时使用。 DFTC 进行设计时,假设 ATE 对芯片做测试 的所有时钟周期是相同的,等于 test_default _period 。
14/6/4 共 102 页 31
4.Scan Specification
用下面的命令定义设计中其中一条扫描链: set_dft_signal -view spec -type ScanDataIn -port SI1 set_dft_signal -view spec -type ScanDataOut -port SO1 set_dft_signal -view spec -type ScanEnable -port SE –active_satate1 set_san_path -view spec C1 -scan_data_in SI1 –scan_data_out S01
14/6/4
共 102 页
5
物理瑕疵和故障模型
1. 开路和短路 2. 金属线之间的电桥 3. 漏源穿通 CMOS 反相器 中的物 理缺陷
14/6/4
共 102 页
6
物理故障
逻辑故障
封装引脚间的漏电或短路 芯片焊接点到管脚连线断裂 表面玷污、含湿气 金属层迁移、应力、脱皮 金属层开路、短路 … …
14/6/4 共 102 页 32
5.Scan Preview
执行 preview_dft : 1. 检查扫描路径的一致性 2. 确定扫描链的数目 3. 分派扫描单元和为扫描单元排次序 4. 加入连接的硬件
14/6/4
共 102 页
33
6.Scan Chain Synthesis
执行 insert_dft, • 读取已预览的扫描结构 • 进行所需要的扫描代替 • 插入测试点 • 保证没有竞争 • 连接扫描路径 • 把违规减少到最少
14/6/4
共 102 页
34
Setting the Effort Level
14/6/4
共 102 页
35
7.Post-Scan Check
14/6/4
共 102 页
36
14/6/4
共 102 页
37
8.Estimate Test coverage
14/6/4
共 102 页
38
File Output
单一固定故障 延时故障 短路或者开路故障 … …
14/6/4
共 102 页
7
单一固定故障: stuck-at fault
固定 1 故障: U0 的输入端 A 固定接在高 电平 上,其值一直为“ 1”
固定 0 故障: U1 的输出端 Y 固定接在 14/6/4 共 102 页 低电平上,其值一直为“ 0”
14/6/4 共 102 页 42
主要内容
可测性基础 可测性设计工具
验证的必要性 验证方法学介绍 验证工具介绍
14/6/4
共 102 页
43
验证方法学
方法学:又称方法论,是一门学问采用的方法、规 则与公理;一种特定的做法或一套做法。 验证方法学:指完成验证过程中的一系列方法、技 术和规范。
14/6/4 共 102 页 10
D 算法
第一步:是把某个节点作为测试目标,我们把 U1 的输出 端作为测试的目标,探测它有无 SA0 的故障。
14/6/4
共 102 页
11
D 算法
第二步:是通过驱动该节点为相反的值以激活 ( activate )目标的故障。 输入端口输入逻辑“ 0” ,如 U1 输出没有 SA0 的故 障,其逻辑“ 1” ;如 U1 输出有 SA0 的故障,其 逻 辑为“ 0” 。 可以通过测试其逻辑值来判断值该节点是否 有 SA0 的故障。
不可控点:冗余电路, 门控时钟 可控,可测 可控,不可测
14/6/4 共 102 页
21
业界产品测试方法
ATE : Automatic Test Equipment
14/6/4 共 102 页 22
14/6/4
共 102 页
23
主要内容
可测性基础 可测性设计工具
验证的必要性 验证方法学介绍 验证工具介绍
8
DFT 常用方法
功能点测试
需在每个测试点增加可控的输入和输出, I/O 增加
扫描测试(基于 D 算法)
结构化的 DFT 技术,全扫描和部分扫描
内建自测试
消除了对 ATE 的存储能力和频率的限制,更具 发展潜力
14/6/4
共 102 页
9
D 算法
D 算法是 20 世纪 60 年代 IBM 提出测试 SAF ( stuck-at fault model ,简称 SAF 模型)的, D 算法在没有故障和 有故障的电路之间产生了逻辑的差异( Discrepan cy ), D 为 Discrepancy 缩写, D 算法即为差异算法。 经典的 D 算法如下: 1 、瞄准特定的 SAF 。 2 、驱动故障节点为反向值。 3 、把错误传送到输出端口。 4 、记录测试向量,减掉已测试过的故障。