使用SpyGlass DFT ADV在RTL签核阶段改善DFT实现

SNUG Silicon Valley 2019 2019 17 页

使用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 页

图1:标题页

SNUG 2019 使用 SpyGlass DFT ADV 在 RTL 签核阶段改善 DFT 实现 Ruoyu Liu, Amey Lee Broadcom Inc. 2019年3月20-21日 SNUG Silicon Valley


第 2 页

图2:议程

SNUG 2019 议程 - 使用 SpyGlass DFT ADV 的动机 - 使用 SpyGlass DFT ADV 的流程 - 收益与结果


第 3 页

图3:为什么使用SpyGlass DFT ADV

SNUG 2019 为什么使用 SpyGlass DFT ADV?

问题:一个 3 百万单元规模的模块需要: - 2 天进行综合 - 2 天运行 ATPG 自动向量生成

为了缩短迭代时间:使用 SpyGlass DFT ADV - 在 RTL 阶段进行 DFT DRC 设计规则检查 - 在 RTL 阶段和 Pre-DFT 门级阶段估算覆盖率


第 4 页

图4:流程

SNUG 2019 流程

约束可以从 RTL 传递到门级。 结果可用于比较。 当 DFT DRC 早期进行时,周转时间短: - 4 天减少到 2 天


第 5 页

图5:RTL中捕获的设计问题

SNUG 2019 RTL 中捕获的设计问题 从 SpyGlass DFT 规则检查中可以期望什么?


第 6 页

图6:RTL签核

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 页

图7:Async_07违规摘要

SNUG 2019 Async_07 违规摘要 异步 set/reset 违规


第 8 页

图8:Async_07违规原理图

SNUG 2019 Async_07 违规原理图 异步 set/reset 违规 - 触发器的 set/reset 逻辑由 2 个可扫描触发器馈送,这在扫描移位期间是不可控的 - 违规必须反馈给设计者修复


第 9 页

图9:覆盖率估算

SNUG 2019 覆盖率估算 我们可以从 SpyGlass 估算中学到什么?


第 10 页

图10:覆盖率对比1——Block A

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 页

图11:覆盖率对比2——Block B

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 页

图12:覆盖率对比3——Block C

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 页

图13:覆盖率对比3.1——Block C应用Async_07修复

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 页

图14:覆盖率对比4——Block D

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 页

图15:跳变故障覆盖率估算——Block D

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 页

图16:结论

SNUG 2019 使用 SpyGlass DFT ADV 的收益总结——结论

- 快速识别设计中的可测试性问题 - 通过减少迭代次数节省项目时间 - 早期覆盖率估算帮助设计者和 DFT 工程师改善覆盖率问题 - SpyGlass DFT ADV 估算与 ATPG 结果之间密切相关 - 对于 Block D,继续努力缩小估算覆盖率与最终结果之间的差距


第 17 页

图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 幻灯片中的图表和装饰元素)*