以下是该 Transition Fault Summary Report 的逐项解读,包含故障分类定义、覆盖率计算逻辑及优化建议:
1. 故障分类详解
| 故障分类 | 代码 | 数量 | 含义 |
|---|---|---|---|
| Detected (DT) | DT | 4,422 | 被测试向量明确检测到的跳变故障(Slow-to-Rise/Slow-to-Fall)。 |
| Possibly Detected (PT) | PT | 0 | 工具无法确定是否被检测(通常因时序模糊或观测点不足)。 |
| Undetectable (UD) | UD | 43 | 设计上无法检测的故障(如冗余逻辑、未驱动的信号)。 |
| ATPG Untestable (AU) | AU | 2,653 | 受限于当前测试配置(如扫描链约束、时钟域限制)而无法测试的故障。 |
| Not Detected (ND) | ND | 2,958 | 未被任何测试向量覆盖的可测故障(需优化测试生成)。 |
2. 关键指标解析
(1) Test Coverage(测试覆盖率)
4422 /(10076 - 43})= 44.07%
其中各项总和为10076
意义:测试向量实际覆盖的 理论上可测故障 比例。
(2) Fault Coverage(故障覆盖率)
4422 / 10076 = 43.89%
意义:测试向量覆盖的 所有故障 比例(含不可测故障)。
差异说明:
- 两者差异来源于 Undetectable (UD) 故障(43个)。
- 行业通常以 Test Coverage 为主要评估指标(忽略设计固有的不可测故障)。
3. 结果分析及优化建议
(1) 当前问题
- 覆盖率低(仅44.07%):远低于行业典型目标(>95% Transition故障覆盖率)。
- 主要瓶颈:
- ND(Not Detected)故障(2,958个):测试向量未覆盖。
- AU(ATPG Untestable)故障(2,653个):测试模式受限。
(2) 根因排查
| 故障类型 | 可能原因 | 验证方法 |
|---|---|---|
| ND | 时序约束不足、测试激励不够丰富 | 检查SDC约束是否覆盖所有工作频率/工况 |
| AU | 扫描链断裂、测试控制信号缺失(如Scan Enable)、OCC配置错误 | report_scan_chains 检查扫描链完整性 |
| UD | 设计冗余、未连接的逻辑 | 查看RTL代码中未驱动的信号 |
(3) 优化措施
👉 针对 ND 故障
- 增加测试模式:
add_atpg_patterns -target_faults ND -incremental - 放松时序约束:
set_atpg_constraints -clock_period 1.2ns # 降低时钟频率(临时允许更慢跳变)
👉 针对 AU 故障
- 修复扫描链: 可能需要更高软件版本
repair_scan_chains -fix_broken_chains - 验证时钟控制: 可能需要更高软件版本
report_occ_configuration # 检查OCC是否在所有测试模式激活
👉 全局优化
- 启用更智能的算法: 可能需要更高软件版本
run_atpg -algorithm path_sensitive # 优先处理关键路径 - 检查故障列表准确性: 可能需要更高软件版本
report_faults -suspect # 列出可能分类错误的故障
4. 行业参考标准
- Stuck-at故障:通常要求 >99% 覆盖率
- Transition故障:通常要求 >95% 覆盖率
- Path Delay故障:通常要求 >90%(关键路径需100%)
- IDDQ 故障:通常要求 >85%(车规一般需70%即可满足AEC-Q100)
若结果持续不达标,需检查:
✅ 设计本身的测试性(DFT插入是否完整)
✅ ATPG工具版本和许可证(部分高级功能需额外授权)
✅ 物理设计约束(如布局布线后的时序闭合情况)
5. 详细数据透视(示例)
进一步分析 ND 和 AU 的分布:
# 生成未检测故障的详细列表
write_faults -not_detected -out nd_faults.rpt
write_faults -atpg_untestable -out au_faults.rpt
# 按模块统计故障分布(Tcl脚本示例)
set nd_count [exec grep "ND" nd_faults.rpt | wc -l]
set au_count [exec grep "AU" au_faults.rpt | wc -l]
puts "ND faults in moduleA: $nd_count\nAU faults in moduleB: $au_count"
总结
该报告显示Transition故障覆盖率显著不足(44.07%),主要因 大量ND和AU故障 未被覆盖。需优先修复扫描链完整性、优化时序约束,并增量生成测试向量。建议结合 report_scan_chains 和 report_timing 进一步定位瓶颈模块。
3522

被折叠的 条评论
为什么被折叠?



