4. 边界扫描寄存器(BSR):BSR结构、边界扫描单元(BSC)、输入/输出/控制单元
边界扫描寄存器(Boundary-Scan Register, BSR)是 IEEE 1149.1 标准中最重要的数据寄存器之一。它由一组串联的边界扫描单元(Boundary-Scan Cell, BSC)构成,这些单元被放置在芯片的每个数字功能引脚与内部核心逻辑之间。BSR 的核心作用是在测试模式下,实现对芯片输入/输出状态的捕获(Capture)、移位(Shift)和更新(Update),从而在不依赖物理探针的情况下完成板级互连测试。
4.1 BSR 整体结构
BSR 是一个串行移位寄存器链,其长度等于芯片上所有数字 I/O 引脚的数量(包括双向引脚和控制引脚)。每个引脚对应一个 BSC。在测试模式(如 EXTEST)下,BSR 串联在 TDI 和 TDO 之间,形成一条从芯片边界到边界的扫描路径。
- 串联拓扑:所有 BSC 首尾相连,数据从 TDI 输入,经每个 BSC 移位后从 TDO 输出。
- 并行接口:每个 BSC 同时与芯片内部核心逻辑(System Logic)和外部引脚(Pad)相连。
- 模式控制:通过 TAP 控制器产生的时钟(TCK)和模式信号(Mode)控制 BSC 的工作状态。
4.2 边界扫描单元(BSC)结构
边界扫描单元(BSC)是 BSR 的基本组成单元。标准定义了多种 BSC 类型,以适应输入、输出、双向和控制引脚的不同需求。一个典型的 BSC 包含两个主要的锁存器:捕获/移位寄存器(Capture/Shift Register)和更新寄存器(Update Register)。
| 组件 | 功能描述 | 时钟域 |
|---|---|---|
| 捕获/移位寄存器 | 在 Capture-DR 状态下捕获引脚或核心逻辑的数据;在 Shift-DR 状态下将数据沿 BSR 链移位。 | TCK(上升沿) |
| 更新寄存器 | 在 Update-DR 状态下锁存来自捕获/移位寄存器的数据,并驱动到输出引脚或核心逻辑。 | TCK(下降沿) |
| 多路选择器(MUX) | 根据 TAP 控制器的模式信号,选择正常功能数据或测试数据路径。 | 组合逻辑 |
4.3 输入/输出/控制单元
根据引脚类型的不同,BSC 的实现方式也有所差异。标准定义了三种主要的 BSC 类型,分别对应输入、输出和控制引脚。
4.3.1 输入单元
输入 BSC 用于捕获来自外部引脚的数据,并将其传递给芯片核心逻辑。在测试模式下,它可以观察(Observe)外部信号,而不影响核心逻辑的正常接收。
- 数据流: 引脚 → 捕获寄存器 → 核心逻辑(正常模式)或 BSR 链(测试模式)。
- 典型应用: 在 EXTEST 指令下,捕获来自相邻芯片的输出信号,用于互连测试。
4.3.2 输出单元
输出 BSC 用于将核心逻辑的数据驱动到外部引脚。在测试模式下,它可以控制(Control)引脚状态,将测试向量施加到互连线上。
- 数据流: 核心逻辑 → 更新寄存器 → 引脚(正常模式);BSR 链 → 更新寄存器 → 引脚(测试模式)。
- 典型应用: 在 EXTEST 指令下,通过 BSR 链将测试向量(如 0/1 序列)驱动到输出引脚。
4.3.3 控制单元
控制 BSC 通常用于双向引脚或三态输出。它包含一个额外的控制寄存器,用于决定输出驱动器的使能状态(高阻、驱动高、驱动低)。
| 特性 | 输入单元 | 输出单元 | 控制单元 |
|---|---|---|---|
| 主要功能 | 观察外部信号 | 驱动内部信号到外部 | 控制输出使能/方向 |
| 捕获数据来源 | 外部引脚 | 核心逻辑 | 核心逻辑或 BSR 链 |
| 更新数据去向 | 核心逻辑 | 外部引脚 | 输出使能端 |
| 典型指令 | EXTEST, SAMPLE | EXTEST | EXTEST, HIGHZ |
4.4 BSR 在测试中的应用流程
以典型的板级互连测试(EXTEST)为例,BSR 的工作流程如下:
- 加载指令: 通过 TAP 控制器将 EXTEST 指令移入指令寄存器。
- 捕获数据: 在 Capture-DR 状态下,所有输入 BSC 捕获外部引脚状态,所有输出 BSC 捕获核心逻辑状态。
- 移位数据: 在 Shift-DR 状态下,将捕获的数据通过 TDO 移出,同时从 TDI 移入新的测试向量。
- 更新数据: 在 Update-DR 状态下,将新测试向量锁存到输出 BSC 的更新寄存器,驱动到外部引脚。
- 重复执行: 重复步骤 2-4,完成所有测试向量的施加和响应采集。
- 测试覆盖率: 通过 BSR 链,可以 100% 覆盖所有数字 I/O 引脚的互连故障(如开路、短路、桥接)。
- 测试时间: 与 BSR 链长度成正比。链越长,移位所需 TCK 周期数越多。
- 诊断精度: 可精确定位到单个引脚级别的故障,极大简化板级调试。
通过以上结构和工作流程,边界扫描寄存器(BSR)为板级测试提供了一种高效、标准化的解决方案,是现代复杂 PCB 和系统级测试不可或缺的核心组件。