2. 边界扫描硬件架构:TAP控制器、指令寄存器、数据寄存器、边界扫描单元(BSC)结构详解
边界扫描测试(BST)的硬件架构是IEEE 1149.1标准的核心,它定义了芯片内部用于测试、调试和编程的专用逻辑电路。理解这一架构是部署ATE测试方案的基础。整个架构围绕一个测试访问端口(TAP)构建,包含一个TAP控制器、一组指令寄存器(IR)、一组数据寄存器(DR)以及分布在每个I/O引脚上的边界扫描单元(BSC)。
核心概念: 边界扫描架构本质上是在芯片的每个数字I/O引脚与内部核心逻辑之间插入一个可控、可观测的移位寄存器单元(BSC),这些单元串联成一条边界扫描链,通过TAP控制器统一管理,实现对芯片引脚状态的“虚拟探针”访问。
2.1 测试访问端口(TAP)与TAP控制器
TAP是边界扫描逻辑与外部ATE设备通信的串行接口,通常包含5个必备信号引脚。TAP控制器是一个16状态有限状态机(FSM),负责解析TMS信号,产生控制指令寄存器和数据寄存器工作的时钟序列。
TAP接口信号定义
| 信号名称 | 方向 | 功能描述 |
|---|---|---|
| TCK (Test Clock) | 输入 | 测试时钟,为TAP控制器和所有边界扫描逻辑提供独立的时钟基准,与系统时钟无关。 |
| TMS (Test Mode Select) | 输入 | 测试模式选择,在TCK上升沿被采样,控制TAP控制器的状态跳转。 |
| TDI (Test Data In) | 输入 | 测试数据输入,用于将指令或测试数据串行移入指令寄存器或选中的数据寄存器。 |
| TDO (Test Data Out) | 输出 | 测试数据输出,用于将指令或测试结果串行移出,在TCK下降沿更新数据。 |
| TRST (Test Reset) 可选 | 输入 | 测试复位(低电平有效),异步将TAP控制器强制复位到Test-Logic-Reset状态。 |
ATE测试要点: 在ATE测试程序中,TCK频率通常设置为系统时钟频率的1/4到1/10,以确保TAP控制器稳定工作。TMS信号必须在TCK上升沿之前建立稳定,避免状态机误判。
TAP控制器状态机
TAP控制器包含两个主要分支:指令寄存器分支和数据寄存器分支。每个分支都有“移位”(Shift)、“捕获”(Capture)、“更新”(Update)和“暂停”(Pause)等关键状态。
2.2 指令寄存器(IR)
指令寄存器用于存储当前要执行的边界扫描指令。ATE设备通过TDI将指令串行移入IR,TAP控制器解析后,选择相应的数据寄存器路径或执行特定操作。
- 宽度: 至少2位,实际宽度由芯片设计决定(常见为4位、8位或16位)。
- 结构: 包含移位寄存器和并行输出锁存器(Update阶段更新)。
- 必备指令:
- BYPASS (全'1'): 选择1位的旁路寄存器,缩短扫描链长度,用于快速访问其他芯片。
- SAMPLE/PRELOAD (全'0'): 在不影响系统功能的前提下,捕获引脚状态或预加载数据到BSC。
- EXTEST (全'0'变体或特定码): 将BSC置于测试模式,驱动测试数据到输出引脚,并捕获输入引脚响应,用于板级互连测试。
- INTEST (可选): 测试芯片内部逻辑。
ATE部署警告: 在ATE测试中,必须先通过SAMPLE/PRELOAD指令将安全的初始数据加载到BSC的更新寄存器中,再切换到EXTEST指令,否则输出引脚可能输出不确定状态,导致芯片或ATE通道损坏。
2.3 数据寄存器(DR)
数据寄存器是执行具体测试操作的数据通路。TAP控制器根据IR中的指令,选择其中一个DR连接到TDI和TDO之间。
| 寄存器名称 | 长度 | 功能描述 | ATE应用场景 |
|---|---|---|---|
| 边界扫描寄存器 (BSR) | 芯片数字I/O引脚数 × 每个BSC的位数 | 由所有BSC串联而成,是测试数据移入/移出的主通路。 | 板级互连测试、引脚开路/短路测试、功能向量施加。 |
| 旁路寄存器 (Bypass) | 1位 | 提供最短的TDI-TDO路径,仅延迟1个TCK周期。 | 多芯片菊花链连接时,跳过不需要测试的芯片,加速访问目标芯片。 |
| 器件标识寄存器 (IDCODE) | 32位 | 存储芯片的制造商、器件编号和版本信息(符合IEEE 1149.1标准)。 | ATE上电后读取IDCODE,验证芯片型号和版本是否正确。 |
| 用户自定义寄存器 | 可变 | 芯片厂商自定义的测试或调试功能寄存器。 | 内建自测试(BIST)启动、模拟测试总线控制、芯片配置等。 |
2.4 边界扫描单元(BSC)结构详解
BSC是边界扫描架构的最小执行单元,每个数字I/O引脚对应一个BSC。它本质上是一个可配置的寄存器,能够在系统模式和测试模式之间切换。
BSC内部组成
一个标准的BSC包含以下关键组件:
- 捕获寄存器 (Capture Register): 在Capture-DR状态下,从引脚或核心逻辑捕获数据。
- 更新寄存器 (Update Register): 在Update-DR状态下,将捕获寄存器的数据锁存并输出到引脚或核心逻辑。
- 移位寄存器 (Shift Register): 在Shift-DR状态下,将数据从TDI串行移入,从TDO串行移出。
- 多路选择器 (MUX): 根据TAP控制器的模式选择信号,决定数据通路是走系统路径还是测试路径。
BSC工作模式
| 模式 | 输入MUX选择 | 输出MUX选择 | 数据流向 | ATE测试用途 |
|---|---|---|---|---|
| 系统模式 | 系统引脚/核心逻辑 | 系统数据 | 系统引脚 ↔ 核心逻辑(正常功能) | 芯片正常工作时,BSC透明,不影响功能。 |
| 捕获模式 | 系统引脚/核心逻辑 | 系统数据 | 引脚/核心逻辑 → 捕获寄存器 | 在Capture-DR状态下,快照当前引脚状态。 |
| 移位模式 | 前级BSC输出 | 系统数据 | TDI → 捕获寄存器 → TDO | 在Shift-DR状态下,串行移入测试向量/移出响应。 |
| 更新模式 | 系统引脚/核心逻辑 | 更新寄存器数据 | 更新寄存器 → 引脚/核心逻辑 | 在Update-DR状态下,将测试数据并行施加到输出 |