使用SpyGlass DFT ADV在RTL签核阶段改善DFT实现
使用SpyGlass DFT ADV在RTL签核阶段改善DFT实现
会议: SNUG Silicon Valley 2019
作者: Ruoyu Liu, Amey Lee (Broadcom Inc.)
日期: 2019年3月20-21日
页数: 17
源文件: SNUG_TPC_Spyglass_Dorso_SNUG_2019_User_Pres_Template_paper.pdf
第 1 页
SNUG 2019 使用 SpyGlass DFT ADV 在 RTL 签核阶段改善 DFT 实现 Ruoyu Liu, Amey Lee Broadcom Inc. 2019年3月20-21日 SNUG Silicon Valley
第 2 页
SNUG 2019 议程 - 使用 SpyGlass DFT ADV 的动机 - 使用 SpyGlass DFT ADV 的流程 - 收益与结果
第 3 页
SNUG 2019 为什么使用 SpyGlass DFT ADV?
问题:一个 3 百万单元规模的模块需要: - 2 天进行综合 - 2 天运行 ATPG 自动向量生成
为了缩短迭代时间:使用 SpyGlass DFT ADV - 在 RTL 阶段进行 DFT DRC 设计规则检查 - 在 RTL 阶段和 Pre-DFT 门级阶段估算覆盖率
第 4 页
SNUG 2019 流程
约束可以从 RTL 传递到门级。 结果可用于比较。 当 DFT DRC 早期进行时,周转时间短: - 4 天减少到 2 天
第 5 页
SNUG 2019 RTL 中捕获的设计问题 从 SpyGlass DFT 规则检查中可以期望什么?
第 6 页
SNUG 2019 RTL 签核 - 目标:dft_scan_ready - Async_07:在扫描移位期间,set/reset 逻辑必须是完全可控的 - Clock_11:扫描移位时钟必须馈送到所有触发器,除非显式定义为 NonScan - 附加规则 - Async_11:信号同时馈送到 set/reset 和数据逻辑 - Clock_04:时钟信号馈送到数据逻辑
时钟_11、Async_07、Async_11、时钟_04
第 7 页
SNUG 2019 Async_07 违规摘要 异步 set/reset 违规
第 8 页
SNUG 2019 Async_07 违规原理图 异步 set/reset 违规 - 触发器的 set/reset 逻辑由 2 个可扫描触发器馈送,这在扫描移位期间是不可控的 - 违规必须反馈给设计者修复
第 9 页
SNUG 2019 覆盖率估算 我们可以从 SpyGlass 估算中学到什么?
第 10 页
SNUG 2019 Block A — 固定型故障覆盖率对比
Block A:930,958 单元,174,491 触发器,45 个存储器
| 方法 | 固定型覆盖率 | 总故障数 |
| SpyGlass RTL 估算 | 98.65% | 17,412,784 |
| SpyGlass 门级估算 | 98.10% | 10,561,608 |
| ATPG(27,587 个向量) | 98.04% | 11,476,752 |
| ATPG(6,500 测试点 + 7,473 向量) | 98.59% | 11,767,854 |
TP = 测试点(Test Points)
第 11 页
SNUG 2019 Block B — 固定型故障覆盖率对比
Block B:67,610 单元,21,996 触发器,2 个存储器
| 方法 | 固定型覆盖率 | 总故障数 |
| SpyGlass RTL 估算 | 99.90% | 4,784,922 |
| SpyGlass 门级估算 | 99.60% | 495,922 |
| ATPG(6,008 个向量) | 98.76% | 503,692 |
| ATPG(439 测试点 + 4,446 向量) | 98.84% | 507,208 |
第 12 页
SNUG 2019 Block C — 固定型故障覆盖率对比
Block C:1,938,736 单元,281,374 触发器,201 个存储器
| 方法 | 固定型覆盖率 | 总故障数 |
| SpyGlass RTL 估算 | 97.00% | 19,015,968 |
| SpyGlass 门级估算 | 97.00% | 14,333,250 |
| ATPG(24,429 个向量) | 97.40% | 15,189,323 |
| ATPG(5,709 测试点 + 16,115 向量) | 98.59% | 15,305,545 |
第 13 页
SNUG 2019 Block C — 应用 SpyGlass 提供的 Async_07 修复后的固定型覆盖率
| 方法 | 固定型覆盖率 | 总故障数 |
| SpyGlass 门级估算 | 97.00% | 14,400,990 |
| SpyGlass 门级估算(对 Async_07 应用约束修复) | 70.7% | 14,400,990 |
| SpyGlass 门级估算(对 Async_07 专门针对 reset 逻辑修复) | 98.9% | 14,400,990 |
- SpyGlass 生成 Async_07 违规的建议修复方案 - 将建议反馈给 SpyGlass(在扫描移位期间施加常量值) - 其中一个修复方案扇出到超过 125K 触发器的数据引脚使其变为 NonScan - 这可以被 Async_11 规则捕获
第 14 页
SNUG 2019 Block D — 固定型故障覆盖率对比
Block D:1,523,303 单元,261,205 触发器,90 个存储器
| 方法 | 固定型覆盖率 | 总故障数 |
| SpyGlass RTL 估算 | 76.10% | 11,199,080 |
| SpyGlass 门级估算 | 92.20% | 11,801,726 |
| SpyGlass 门级(插入OCC/MBIST/压缩器后)估算 | 93.20% | 12,276,150 |
| SpyGlass 门级(插入扫描链后)估算 | 92.70% | 12,400,792 |
| ATPG 压缩模式(59,939 向量) | 92.21% | 11,959,063 |
| ATPG 非压缩模式(16,187 向量) | 92.42% | 11,919,650 |
第 15 页
SNUG 2019 Block D — 跳变故障覆盖率估算
| 方法 | 跳变覆盖率 | 总故障数 |
| SpyGlass 门级(插入OCC/MBIST/压缩器后)估算 | 75.9% | 12,276,150 |
| SpyGlass 门级(插入扫描链后)估算 | 74.9% | 12,311,648 |
| ATPG(DFTMax 拼接网表)压缩模式(59,939 向量) | 79.71% | 10,441,121 |
| ATPG(DFTMax 拼接网表)非压缩模式(16,187 向量) | 80.89% | 10,442,565 |
第 16 页
SNUG 2019 使用 SpyGlass DFT ADV 的收益总结——结论
- 快速识别设计中的可测试性问题 - 通过减少迭代次数节省项目时间 - 早期覆盖率估算帮助设计者和 DFT 工程师改善覆盖率问题 - SpyGlass DFT ADV 估算与 ATPG 结果之间密切相关 - 对于 Block D,继续努力缩小估算覆盖率与最终结果之间的差距
第 17 页
SNUG 2019 谢谢
图片索引
本文共 64 张图片,存放于 SNUG_TPC_Spyglass_Dorso_SNUG_2019_User_Pres_Template_paper_images/ 目录。
第 1 页:page_001.png(标题页) 第 2 页:page_002.png(议程) 第 3 页:page_003.png(使用SpyGlass DFT ADV的动机) 第 4 页:page_004.png(流程) 第 5 页:page_005.png(RTL中捕获的设计问题) 第 6 页:page_006.png(RTL签核) 第 7 页:page_007.png(Async_07违规摘要) 第 8 页:page_008.png(Async_07违规原理图) 第 9 页:page_009.png(覆盖率估算) 第 10 页:page_010.png(Block A覆盖率对比) 第 11 页:page_011.png(Block B覆盖率对比) 第 12 页:page_012.png(Block C覆盖率对比) 第 13 页:page_013.png(Block C Async_07修复) 第 14 页:page_014.png(Block D覆盖率对比) 第 15 页:page_015.png(Block D跳变故障覆盖率) 第 16 页:page_016.png(结论) 第 17 页:page_017.png(致谢)
*(其余 47 张图片为 PPT 幻灯片中的图表和装饰元素)*