4. ATPG 自动测试向量生成面试题
本章聚焦 ATPG(Automatic Test Pattern Generation) 核心考点:故障模型、压缩算法、覆盖率分析。面试中通常要求你在 1-2 分钟内既说清原理,又展现工程落地思维。下面先通过一张回答框架图把握整体思路,再通过 3 个高频问答卡片 + 1 个真实项目模板进行专项突破。
3 个面试问答卡片
面试问题:请介绍一下常见的故障模型及其在 ATPG 中的应用。
面试官考察点:基础知识扎实度、能否区分故障模型适用场景、是否了解工业界常用模型。
回答框架:
- 先给出定义:故障模型是对芯片物理缺陷的抽象。
- 列举 2-3 种主流模型:Stuck-at(固定型)、Transition(跳变型)、Bridging(桥接型)。
- 说明每种模型对应哪些缺陷(如 Stuck-at 对应短路/断路)。
- 结合实际应用:DFT 项目中常用 Stuck-at 做静态测试,Transition 做时序测试。
简短示例回答:“故障模型是物理缺陷的抽象。最常用的是 Stuck-at 模型,模拟信号固定为 0 或 1;Transition 模型用于捕捉时序延迟故障,如上升沿变慢。我在项目中主要使用这两种,结合 ATPG 工具生成对应向量,基础覆盖率可达 95% 以上。”
可能追问:“为什么 Stuck-at 模型不能覆盖所有真实缺陷?”、“你如何处理多故障模型共存?”
避坑提醒:不要只背定义;要对比各模型的局限性和适用场景;避免说“我会所有模型”,应聚焦 2-3 个深挖。
面试问题:ATPG 为什么要做向量压缩?常见的压缩算法有哪些?
面试官考察点:对测试成本的理解、算法原理掌握、压缩率与测试质量权衡。
回答框架:
- 先说明动机:减少测试时间和测试数据存储,降低 ATE 成本。
- 分类介绍:静态压缩(合并兼容向量)和动态压缩(在 ATPG 过程中优化)。
- 举例:X-fill 技术(用 X 态填充无关位)、多链扫描压缩。
- 补充权衡:过度压缩可能导致覆盖率下降或增加运行时间。
简短示例回答:“压缩能显著降本。常用静态合并:将兼容向量合并为一条;以及动态的 X-fill:将未指定位置随机填充为 0/1 以激活更多故障。项目中我使用 TetraMAX 的自动压缩,向量数量减少 40%,覆盖率仅降 0.3%,在可接受范围。”
可能追问:“解释一下什么叫‘兼容向量’?”、“压缩率和测试时间的关系是什么样的?”
避坑提醒:不要只提一种算法;要体现你理解压缩不是单纯的“减量”,而是质量、时间、成本的三角平衡。
面试问题:如何分析并提升 ATPG 的故障覆盖率?
面试官考察点:指标定义、分析工具使用、发现问题并优化能力。
回答框架:
- 解释故障覆盖率 = 检测到的故障数 / 总故障数。
- 分析过程:运行 ATPG 后查看报告,识别未被覆盖的故障类型及区域。
- 提升方法:增加测试向量、优化扫描链配置、修改测试模式(如功能 vs 扫描)。
- 提及工具:TetraMAX 的故障字典、覆盖率分类(DC/TC)。
简短示例回答:“覆盖率是 ATPG 核心指标。我会先检查报告,找出不可测故障(untestable)是因为约束限制还是设计本身。然后针对性地增加 at-speed 测试模式或调整 scan chain。实践中将覆盖率从 92% 提升至 97%,主要靠优化时序约束和添加过渡故障向量。”
可能追问:“什么叫 untestable fault?它和 redundant fault 的区别?”、“覆盖率 100% 不可能吗?为什么?”
避坑提醒:不要只背公式;要展示分析思路和实际调优步骤;避免说“我能做到 100%”,应说明实际限制。
项目案例:高速接口芯片 ATPG 向量优化
项目名称:28nm 高速 SerDes 接口 ATPG 向量压缩与覆盖率提升
业务背景:该芯片用于 5G 基站,需通过高覆盖率量产测试,但原始 ATPG 向量过大导致 ATE 测试时间过长,成本超预算。
规模指标:芯片规模 500 万门,扫描链 32 条,原始向量 120,000 条,目标覆盖率 ≥ 96%。
技术栈:TetraMAX + DC 综合、Mentor DFTAdvisor、自定义 Perl 脚本进行向量后处理。
核心难点:1) 向量过多(120k)导致 ATE 测试时间超限;2) 部分故障因时序约束过紧被错误标记为 untestable。
面试高频追问
- “压缩后覆盖率下降,你怎么取舍?” → 回答要给出具体阈值(如 ≤0.5% 下降可接受)。
- “你提到的动态压缩具体是哪种实现?” → 准备 TetraMAX 的 scan compression 或 X-fill 参数配置。
- “如果客户要求覆盖率 99%,你怎么做?” → 可能需要增加 at-speed 向量或修改扫描链结构。
可迁移回答话术
“我曾在某芯片项目中碰到类似问题。首先利用 ATPG 工具报告找出 untestable fault 分布,发现约 8% 的故障是因为时序约束过紧被误标。通过放宽特定路径约束,并加入 transition fault 向量,最终将覆盖率从 92.5% 提升至 97.2%,同时利用动态压缩将测试向量减少 43%。这个思路同样适用于其他工艺节点。”
避坑提醒:项目案例中务必给出 量化指标(向量数、覆盖率、压缩率),面试官最忌空洞描述。不要只说“优化了”,要说“从X到Y”。另外,避免攻击原有设计,展示建设性改进。
——第 4/30 章·完——