层次化测试中从 Core Level 到 Chip Level 的关键桥梁
━━━━━━━━━━━━━━━━━━━━━━━━━
一、为什么需要 Pattern Retarget?
在芯片测试实践中,测试策略的选择往往取决于设计的规模:
- 小型 Design:可以直接在 Chip Level 产生用于测试内部的 Pattern,简单直接。
- 大型 Design:各个 IP/Block/Core 分别产生 Internal Pattern,然后通过 Pattern Retarget 映射到 Chip Level,这是业界主流做法。
所谓 Pattern Retargeting,就是通过产生 Core Level 的 Pattern,并将其映射和合并到 Chip Level 用于芯片测试,从而提升整体效率。
1.1 Pattern Retarget 的核心价值
1. Pattern Merge:支持将多个 Core-level Pattern 进行 Merge,实现多个 Core 的同时测试,大幅缩短测试时间。
2. 分组测试:对大型 Design 可以将整个芯片划分为多个 Group 来分次测试,降低单次 ATPG 运行的复杂度。
3. 自动连接追踪:可以自动 Trace Core-level Scan Pin 与 Chip Level 的连接、Pipeline、Inversion,并进行 Retarget。
4. Broadcast 测试:采用 Broadcast 方式测试同一 Module 实例化多次的 Instance,只需产生一次 Core-level Pattern。
5. 故障诊断:芯片测试出现 Failed 时,可以将相应信息返回到 Core-level 进行精准 Debug。
二、Core-level Pattern 生成要求
要实现成功的 Pattern Retarget,Core-level Pattern 的生成需要满足一系列前置条件:
2.1 基本前置条件
- Core-level 必须已插入完成 Wrapper Chain。
- 将外部逻辑屏蔽:Input-wrapper 一直 Shift,Out-wrapper Shift & Capture。
- Core-level Pattern 需要在 Internal Mode 下产生。
2.2 映射相关约束
当 Core-level Pattern 映射到 Chip-level 时,只有 Scan Data 能够做 Mapping,因此需要对端口做特殊处理:
- 对于 Core-level PIs,需要将它们 Constrain 成 X。
- 对于 Core-level POs,需要将它们 Mask 掉。
2.3 时钟与设置一致性
- Scan Clock 需要满足确定的要求。
- IP SoC Boundary 上设置的 Constraint 要保持一致。
- Total Shift 数要保持一致。
[Tip] 关键要点
Core-level Pattern 生成是 Retarget 的基础。如果 Core-level Pattern 不满足上述条件,后续的 Retarget 将无法成功执行。特别注意 PI 约束为 X 和 PO 进行 Mask 这两个操作,是很多初学者容易遗漏的步骤。
三、Shift Number 设置与 Over Shift
在 Core-level 产生 Pattern 时,通常需要使用命令指定 Over Shift Number: