大功告成!使用层次化 ATPG 提升生产力
大功告成!使用层次化 ATPG 提升生产力
论文信息
| 项目 | 内容 |
| 作者 | Irfan Baig(Acacia Communications Inc.,Maynard MA)、Don Skinner(Synopsys Inc.,Mountain View CA) |
| 会议 | SNUG 2019 |
| 页数 | 13 页 |
摘要
大规模设计尺寸和紧张的引脚数量预算持续给 DFT 架构带来压力。层次化 ATPG 和向量移植(Pattern Porting)提供了一种机制来限制现代 DFT 设计的复杂性,并利用现有流程。该过程提供了一种将在模块级生成的向量用于 SoC 级并直接输出到测试机的方法。通过在设计的较低层级工作,运行时间和性能都得到了极大改善。使用本文描述的方法,可为当今超大规模 SoC 重新带来生产力和性能的提升。
1. 引言
随着 SoC 设计规模持续增长(达到数亿门级别),传统的扁平化 ATPG 流程面临着严峻的挑战:运行时间过长、内存消耗巨大、向量数量爆炸式增长。特别是在引脚数量受限的设计中——这种情况在先进工艺节点下越来越普遍——传统方法已经难以为继。
层次化 ATPG Hierarchical ATPG 通过将大型设计分解为可管理的模块来解决这些问题。其核心理念是"分而治之"——在模块级生成测试向量,然后通过向量移植将其重用到 SoC 级。这种方法不仅减少了计算资源需求,还支持并行开发——各模块的 DFT 团队可以独立工作。
2. 层次化 ATPG 流程
2.1 Core Wrapping(核心封装)
Core Wrapping 是层次化 ATPG 的基石。它为每个核心(或模块)创建测试访问机制(TAM,Test Access Mechanism):
Wrapper Cell 被插入在核心的每个功能输入和输出端口上。Wrapper Chain 将这些 Wrapper Cell 串联成扫描链,提供从芯片引脚到核心内部的外部访问路径。在隔离模式下,当测试其他核心时,Wrapper 将核心置于安全状态——核心的输出不会干扰其他核心的测试。
Wrapper 的类型选择取决于核心的性质: - Full Wrapper:完整的输入/输出隔离。通过在所有输入和输出端口插入包装单元来提供完全的测试隔离。适用于硬核(Hard IP),其中内部结构不可修改。 - Partial Wrapper:仅包装关键端口。在提供必要隔离的同时减少面积开销。适用于软核(Soft IP),其中可以进行更多优化。
2.2 Pattern Porting(向量移植)
Pattern Porting 是将模块级生成的 ATPG 向量移植到 SoC 级的过程:
1. 模块级 ATPG:在模块的独立上下文中运行完整的 ATPG,生成针对该模块的测试向量集。 2. 向量重定向:通过 Wrapper Chain 将模块级端口访问映射到 SoC 级引脚。模块级的输入/输出通过 Wrapper 链进行串行化访问。 3. 时序调整:根据 SoC 级的实际时序约束调整向量时序。模块级的时序假设可能与 SoC 级不同。 4. 向量合并:来自多个模块的向量被合并为一个统一的 SoC 级测试程序。这个过程需要考虑向量的兼容性和测试时间优化。
2.3 验证流程
层次化生成的向量必须经过严格验证以确保在 SoC 级的正确性: - 逻辑等效性检查:确保移植前后的测试覆盖等价。 - 门级仿真验证:在 SoC 级网表上验证移植后的向量。 - 测试机格式转换验证:确保最终输出的测试机格式正确。
3. 被测器件
本文的 DUT 是一个大规模通信 SoC,具有以下特征: - 多个异构核心(DSP、ARM、专用加速器) - 严格的引脚数量限制 - 需要同时满足模块级和系统级的测试要求 - 设计规模使扁平化 ATPG 在合理时间内不可行
4. 实验
实验旨在对比三种 ATPG 方案的性能和生产力:
1. 扁平化 ATPG:在全芯片级直接运行 ATPG。这是传统方法,用作参考基准。 2. 层次化 ATPG(无向量移植):各模块独立运行 ATPG,但不进行 SoC 级的向量整合。 3. 层次化 ATPG(含向量移植):完整的流程——模块级 ATPG + Core Wrapping + Pattern Porting 到 SoC 级。
5. 模块级结果
在模块级的实验中,层次化 ATPG 展示了显著的改进:
| 指标 | 扁平化 ATPG | 层次化 ATPG | 改善倍数 |
| ATPG 运行时间 | 48 小时以上 | ~3 小时 | 约 16 倍 |
| 内存峰值 | > 64 GB | ~12 GB | 约 5 倍 |
| 向量数量 | 基准 | 与基准持平 | — |
| 测试覆盖率 | 98.5% | 98.3% | 略低(可接受范围内) |
这些结果表明层次化方法在保持可比的测试覆盖率的同时,大幅减少了计算资源需求和运行时间。
6. SoC 级结果——基于近似线性性能的外推
基于模块级的实验结果,采用完整层次化方案后预计的 SoC 级收益:
- 线性性能扩展:模块级的收益直接映射到 SoC 级。随着设计规模的增加,层次化的优势变得更加显著。 - 向量移植时间:仅占总体 ATPG 时间的不到 10%。移植过程的开销远小于扁平化 ATPG 的额外计算成本。 - 支持并行开发:各模块 DFT 团队可以完全独立工作,无需等待其他模块完成。 - 复用性:一旦为某个核心建立了 Wrapper 和移植流程,它可以在所有使用该核心的设计中复用。
当设计规模从数百万门增长到数亿门时,扁平化 ATPG 的运行时间呈超线性增长,而层次化 ATPG 的运行时间仅随模块数量线性增长——这是该方法最根本的优势。
7. 结论
层次化 ATPG Hierarchical ATPG 结合 Core Wrapping 和 Pattern Porting 是解决超大规模 SoC DFT 挑战的有效且经过验证的方法:
1. 显著的运行时间减少:在我们的案例中实现了 16 倍以上的改善,这一优势随设计规模增长而扩大。 2. 大幅降低内存需求:将内存消耗从超过 64GB 降至约 12GB,使其能够在标准计算资源上运行。 3. 支持并行 DFT 开发:各模块团队可以独立进行 ATPG,显著缩短项目周期。 4. 复用现有 DFT 流程和基础设施:无需从零开始,可以逐步从扁平化过渡到层次化。 5. 保持测试覆盖率:层次化方法的覆盖率损失极小(< 0.2%),在可接受范围内。
该方法为应对未来更大规模 SoC 设计的 DFT 挑战提供了可扩展的路径。
核心概念
| 概念 | 说明 |
| 层次化 ATPG Hierarchical ATPG | 将大型设计的 ATPG 分解为模块级运行,然后整合到 SoC 级的方法 |
| Core Wrapping 核心封装 | 在模块边界插入 Wrapper Cell 以提供测试访问和隔离 |
| Pattern Porting 向量移植 | 将模块级 ATPG 向量重定向到 SoC 级引脚的过程 |
| DFT 可测试性设计 | 芯片可测试性设计,层次化 ATPG 是其在大规模 SoC 中的关键使能技术 |
相关链接
- 层次化 ATPG Hierarchical ATPG · Core Wrapping 核心封装 · Pattern Porting 向量移植 - DFT 可测试性设计 · ATPG 自动测试向量生成 · TetraMAX · DFTMAX - Acacia Communications · Synopsys
图片索引
本文共 12 张图片,存放于原文 _images/ 目录。
第 1 页:
- 
第 4 页:
- 
第 5 页:
- 
第 6 页:
- 
第 7 页:
- 
第 8 页:
- 
第 9 页:
- 
第 10 页:
- 
第 11 页:
-
- 
第 12 页:
-
- 