新闻详情

新闻详情

首页 / 资讯中心 / 详情

Boundary Scan Cell 深度拆解

发布时间:2026/9/26 19:06:41来源:尧图网络
Boundary Scan Cell 深度拆解
BGA 封装把焊点藏在芯片肚子底下针床测不到飞线也够不着。IEEE 1149.1 的解法是在每个 I/O 引脚旁边塞一个微型扫描单元串成链靠 TDI/TDO 就能观测和驱动所有引脚。这个单元就是 Boundary Scan Cell简称 BSC。很多人看 BSC 电路只停留在带 MUX 的扫描寄存器这个印象上其实它的每一个门、每一个时钟沿都经过仔细推敲。今天把它彻底拆开从电路结构到 Tessent 仿真验证一条线讲透。图1Boundary Scan 整体架构一座桥四个端口两个 MUXBSC 本质上是一座可控的桥平时透明测试模式下接管数据通路。它对外暴露四个端口PI 接收来自核心逻辑或 Pad 的数据PO 把数据送向 Pad 或核心逻辑SI 接前一级 BSC 的移位输出SO 接后一级 BSC 的移位输入。这四个端口把 BSC 串成一条边界扫描链环绕在芯片四周。输入端有一个二选一 MUX由 selectJtagInput 控制。为 0 时 PI 直通 PO芯片正常跑功能为 1 时 SI 接入移位链路。输出端也有一个 MUX由 selectJtagOutput 控制决定 PO 走正常功能路径还是改由更新寄存器驱动。图2BSC 详细电路——Capture 与 Update 寄存器级联两个寄存器正沿加负沿的讲究电路中间两级寄存器是 BSC 的灵魂。reg1 是捕获寄存器由 clockBscan 正沿触发reg2 是更新寄存器由 updateBscan 控制通常是负沿触发的锁存器或下降沿 DFF。reg1 的输出既送给 reg2也直接作为 bscanShiftOut 送给下一级 BSC。为什么非要两个寄存器而且用相反的时钟沿第一是 retiming 解决 clock skew。芯片边界上的 I/O Pad 物理位置分散TCK 时钟树到每个 BSC 的延迟差异很大。正沿捕获、负沿更新的组合天然把 setup/hold 窗口错开半个周期时序裕量直接翻倍。第二是效率正沿加负沿让数据在一个 TCK 周期内完成 capture-to-update如果都用正沿就要浪费一个周期。这种结构在 Tessent 的 Cell Library 里通常叫 BC_1 型 BSC是工业界最主流的实现。图3IEEE 1149.1 TAP 控制器状态机三种模式TAP 控制器说了算TAP 控制器通过 selectJtagInput 和 selectJtagOutput 决定 BSC 的工作模式。SAMPLE 模式最温和芯片正常跑功能BSC 只是顺手把 PI 上的数据抓进 reg1不影响任何信号路径相当于在边界上装了一个逻辑分析仪。EXTEST 模式是 BSC 的老本行板级互连测试全靠它。此时 selectJtagOutput 置 1PO 改由 reg2 输出驱动。测试机台通过 TDI 移入测试向量经过 Update-DR 锁存到 reg2然后强制推到 Pad 上驱动 PCB 走线。输入 BSC 的 reg1 在 Capture-DR 采样 Pad 响应再移出到 TDO 比对。虚焊、短路、断路一测便知。图4板级多芯片 JTAG 菊花链连接Tessent 怎么仿真 BSC用 Tessent Shell 做 Boundary Scan 插入和仿真分两个阶段。第一阶段插 BSC 硬件在 Shell 里设置 context 为 dft -rtl读入网表和 Cell Library打开边界扫描set_dft_specification_requirements -boundary_scan on然后 create_dft_specification 生成规格process_dft_specification 插入 BSC。extract_icl 这一步非常关键它检查 BSC 链是否首尾相连、TCK 是否覆盖所有 BSC、控制信号是否正确译码。ICL 违例不解决后面的仿真基本跑不通。set_context dft -rtl -design_id rtl1set_dft_specification_requirements -boundary_scan oncreate_dft_specificationprocess_dft_specificationextract_icl第二阶段 create_pattern_specification 和 process_patterns_specification 自动生成测试向量。Tessent 会在 TSDB 目录下吐出 Verilog testbench、STIL 向量文件和 VCS 编译脚本。这些 testbench 是工具根据 ICL 自动生成的里面包含了 TAP 状态机的完整激励从 Test-Logic-Reset 进入 Shift-IR 加载 EXTEST 指令再进入 Shift-DR 移入向量经过 Update-DR 更新到 reg2Capture-DR 采样响应最后移出比对。图5Tessent EBSCAN 架构仿真通过的判定很直接checker 对比 TDO 移出的数据与 STIL 预期值。最常见的错误是 reg1 和 reg2 的时钟沿搞反了导致 capture 和 update 抢在同一个沿上数据还没稳定就被锁进 reg2TDO 值自然 mismatch。踩坑提醒很多项目做 BSCAN 仿真时 Pad 的 PU/PD 没正确约束导致 EXTEST 模式下 Pad 输出出现不定态。Tessent 的 PostLV-BCAD-Edits 会修改网表把 Pad 控制引脚接到可控节点上避免悬空。BSC 看起来只是一个小小的扫描寄存器但它承载了从芯片到板级的一整套测试哲学。理解两个寄存器为什么用相反时钟沿、两个 MUX 怎么解码模式是做好 DFT 的基础。而在 Tessent 工具链里BSC 仿真不再是手写 testbench 的体力活工具会根据 ICL 自动生成完整的 TAP 激励和 checker但前提是你得明白工具在验证什么以及它可能在哪里埋坑。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

罗技GHUB离线安装包部署指南:21.03.24稳定版安装与避坑 2026/9/26 20:05:43

罗技GHUB离线安装包部署指南:21.03.24稳定版安装与避坑

1. 为什么罗技GHUB的离线部署值得单独写一篇罗技GHUB这个驱动软件,用过罗技外设的人基本都绕不开它。G系列鼠标、键盘、耳机、方向盘,想要改键、调DPI、设宏、同步灯光,都得靠它。但问题在于,GHUB的在线安装体验一直不算稳定——下…

阅读更多 →
Ghidra逆向工程实战:从安装配置到脚本化自动化分析 2026/9/26 20:05:43

Ghidra逆向工程实战:从安装配置到脚本化自动化分析

1. 为什么我最终把主力逆向工具换成了Ghidra第一次接触Ghidra是几年前的一个固件分析项目。当时手里有一套设备固件需要做漏洞挖掘,IDA Pro的授权费用让团队犹豫了很久,而免费方案里能打的实在不多。抱着试试看的心态装了Ghidra,结果一个下午…

阅读更多 →
AI安全测试沙箱实战:容器化隔离与渗透测试指南 2026/9/26 20:05:37

AI安全测试沙箱实战:容器化隔离与渗透测试指南

1. 为什么AI安全测试不能直接上生产环境 1.1 一个真实的教训:删库只需要一条指令 去年帮一个朋友的公司做应急响应,事情的起因特别简单:他们内部搞了个AI智能体,想测试一下自动化工单处理能力,结果开发同学图省事&…

阅读更多 →
告别补丁式防护:从零构建数据安全架构与治理体系(含实战代码) 2026/9/26 20:05:11

告别补丁式防护:从零构建数据安全架构与治理体系(含实战代码)

告别补丁式防护:从零构建数据安全架构与治理体系(含实战代码) 很多团队做数据安全,是这么干的:出了一次数据泄露,赶紧买个 DLP;被监管点名了,临时补个加密;业务方喊数据…

阅读更多 →
AI操作硬件的门槛有多高?我花一个晚上、两百多块钱,亲手试出了答案 2026/9/26 20:05:11

AI操作硬件的门槛有多高?我花一个晚上、两百多块钱,亲手试出了答案

20:51,书房。 桌上摊着一块刚拆封的开发板、一袋传感器模块、一把杜邦线。板子插上USB,我盯着它看了半天,问出今晚的第一个问题:“这东西要不要按电源键?”——答案是,这块板没有电源键,USB一插…

阅读更多 →
OpenCode终端AI编程助手安装配置与模型接入全指南 2026/9/26 20:05:11

OpenCode终端AI编程助手安装配置与模型接入全指南

1. 为什么我要在终端里折腾 OpenCode 第一次听说 OpenCode 是在一个开发群里,有人甩了张截图,终端里直接跟 AI 对话改代码,不用切浏览器、不用开 IDE 插件,敲个命令就能让模型读文件、改函数、跑测试。当时我的第一反应是&#xf…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉