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)等关键状态。

TAP控制器16状态有限状态机 TAP控制器16状态有限状态机 Test-Logic-Reset Run-Test/Idle Select-DR-Scan Select-IR-Scan Capture-DR Capture-IR Shift-DR Shift-IR Exit1-DR Exit1-IR Pause-DR Pause-IR Exit2-DR Exit2-IR Update-DR Update-IR TMS=0 TMS=1 TMS=1 TMS=0 TMS=0 TMS=0 TMS=0 TMS=1 TMS=1 TMS=0 TMS=0 TMS=1 TMS=1 TMS=0 TMS=0 TMS=1 TMS=1 TMS=1 TMS=1 TMS=0 TMS=0 TMS=1 TMS=1 说明:TMS=1 使状态向复位方向跳转;TMS=0 使状态沿当前分支向下推进。Shift-DR/IR 状态是数据移入/移出的核心操作阶段。

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)内部结构 边界扫描单元(BSC)内部结构 系统输入 核心逻辑 MUX (输入) 捕获 寄存器 更新 寄存器 MUX (输出) 系统输出 核心逻辑 TDI TDO 控制信号 说明:BSC通过输入MUX选择来自系统引脚或核心逻辑的数据;通过输出MUX选择将系统数据或测试数据驱动到下一级。捕获寄存器和更新寄存器构成双锁存结构,确保测试数据在移位过程中不影响系统功能。

BSC工作模式

模式 输入MUX选择 输出MUX选择 数据流向 ATE测试用途
系统模式 系统引脚/核心逻辑 系统数据 系统引脚 ↔ 核心逻辑(正常功能) 芯片正常工作时,BSC透明,不影响功能。
捕获模式 系统引脚/核心逻辑 系统数据 引脚/核心逻辑 → 捕获寄存器 在Capture-DR状态下,快照当前引脚状态。
移位模式 前级BSC输出 系统数据 TDI → 捕获寄存器 → TDO 在Shift-DR状态下,串行移入测试向量/移出响应。
更新模式 系统引脚/核心逻辑 更新寄存器数据 更新寄存器 → 引脚/核心逻辑 在Update-DR状态下,将测试数据并行施加到输出