边界扫描

Boundary Scan 基础:从扫描链到板级互连检查

介绍边界扫描寄存器、描述文件和板级连通性检查之间的关系。

Boundary Scan(边界扫描)把测试单元放在器件引脚附近,使工具能够在不依赖传统探针逐点接触的情况下,对一部分板级网络进行驱动和采样。它通常通过 JTAG TAP 访问,但“JTAG 接口”与“边界扫描覆盖范围”不是同义词。

扫描链中的角色

在一条扫描链上,每个器件都可能贡献自己的指令寄存器、边界扫描寄存器和旁路寄存器。工具需要知道器件顺序以及各寄存器的长度,才能把串行比特分配给正确的器件。链中某个器件未供电、TDO 未连接或旁路配置不正确,都可能让后续器件看起来像是不存在。

边界扫描测试通常会选择与目标动作匹配的指令,再把数据写入边界扫描寄存器。某些单元负责驱动输出,另一些单元负责采样输入。通过设计一组安全的驱动和采样动作,可以检查器件之间的部分互连是否符合预期。

BSDL 文件为什么重要

BSDL(Boundary Scan Description Language)文件描述器件的边界扫描结构,例如指令编码、寄存器长度、引脚与扫描单元的对应关系以及可用的测试约束。工具借助这些信息理解扫描链数据,而不是从芯片型号名称猜测寄存器布局。

BSDL 文件必须与实际器件变体和封装相匹配。即使两个器件名称相近,不同封装也可能有不同的引脚映射。工程上遇到识别值正确但互连结果异常的情况时,应核对器件选型、BSDL 版本、板级网络定义和测试前提,而不是立刻把结果当作硬件故障。

逐项核对 BSDL 字段和版本的入门方法见 BSDL 入门:读懂边界扫描器件描述;从输入资料到结果归档的步骤见 Boundary Scan 测试工作流程。

能发现和不能发现什么

边界扫描适合检查被覆盖网络的开路、短路、连接错位等数字互连问题,也能帮助缩小故障范围。但它并不能覆盖所有引脚和所有网络,不能替代电源完整性、模拟测量、功能测试或目视检查。输出驱动冲突、未定义的上拉下拉状态以及外部器件对网络的影响,都可能改变测试解释。

一个可靠的测试流程通常先确认链路和 TAP 状态机可访问,再确认器件身份和链路顺序,然后执行受约束的互连测试。关于状态机如何控制寄存器访问,可回看 TAP 状态机:JTAG 访问流程的骨架。如果现场遇到失败,建议结合 JTAG 调试与故障定位 的分层排查方法。

建立可维护的测试资产

测试资产不应只有一份“通过/失败”结果。最好同时保存链路配置、器件描述文件版本、网络分组、测试前提和异常日志。这样在板卡版本变化或器件替换后,团队可以判断是设计变化、配置过期还是连接条件变化。边界扫描是工程方法的一部分,结果的可追溯性与测试本身同样重要。

边界扫描在板级测试中的位置,以及它与 ICT、FCT 的差别,见 Boundary Scan、ICT 与 FCT 的区别。要交换扫描操作向量,可继续读 SVF 文件与边界扫描编程基础;物理接口接入方式见 JTAG 连接器与测试访问端口基础。