JTAG与IJTAG的区别与联系
JTAG和IJTAG是电子设计与测试领域两个密切相关但目标和应用场景存在显著差异的工业标准。它们的关系和区别可以从多个维度进行深入分析。1. 核心关系演进与扩展简单来说IJTAG是JTAG标准在更高层次、更复杂场景下的演进和功能扩展。可以将JTAG视为基础协议而IJTAG是在此基础上构建的更灵活、更强大的片上测试与调试基础设施。它们共同服务于芯片和系统的可测性设计DFT但侧重点不同。特性维度JTAG (IEEE 1149.1)IJTAG (IEEE 1687)主要目标板级/芯片间互连测试、程序下载与调试芯片内部嵌入式仪器的访问与控制关注层次芯片引脚Pad与PCB板级芯片内部IP核、逻辑模块、传感器等核心架构固定的边界扫描链Boundary Scan Chain可动态重配置的访问网络Instrument Connectivity Network, ICN控制单元TAP (Test Access Port) 控制器16状态有限状态机内嵌式控制器如TAP、微控制器等通过SIB动态配置路径描述语言BSDL (Boundary Scan Description Language)ICL (Instrument Connectivity Language) 和 PDL (Procedural Description Language)数据寄存器固定的几种如Bypass, ID, Boundary Scan可灵活定义和访问的TDRs (Test Data Registers)数量众多测试效率链式串行访问路径固定长链访问慢支持并行、分段和动态配置访问路径效率更高应用场景PCB焊接测试、芯片功能调试、Flash编程内建自测试(BIST)、电压/温度监控、IP核配置与验证、复杂SoC调试2. 详细对比分析2.1 设计哲学与架构差异JTAG的核心是边界扫描Boundary Scan。它在芯片的每个I/O引脚内部插入一个边界扫描单元Boundary Scan Cell并将它们串接成一条或多条固定的扫描链。通过TAP控制器的状态机包含Capture-DR, Shift-DR, Update-DR等状态可以控制这些单元来捕获引脚状态或施加测试激励从而测试芯片引脚间的互连以及芯片本身的基本功能。其访问路径是静态且全局的。-- 简化的JTAG边界扫描单元结构示意基于 -- 包含用于捕获Capture、移位Shift和更新Update的触发器 entity boundary_scan_cell is port ( TCK : in std_logic; -- 测试时钟 TDI : in std_logic; -- 串行输入 TDO : out std_logic; -- 串行输出 CaptureDR : in std_logic; -- 来自TAP控制器的控制信号 ShiftDR : in std_logic; UpdateDR : in std_logic; -- 连接至芯片核心逻辑和引脚 Core_In : in std_logic; -- 来自核心的数据 Core_Out : out std_logic; -- 输出到核心的数据 Pad_In : in std_logic; -- 来自引脚的数据 Pad_Out : out std_logic -- 输出到引脚的数据 ); end entity;IJTAG的核心是可重配置的访问网络ICN和嵌入式仪器Instrument。它定义了标准的访问接口如TAP和一套描述语言ICL/PDL用于描述如何通过扫描链网络访问芯片内部的各种测试、测量和调试资源统称为Instrument。关键组件是段插入位Segment Insertion Bit, SIB它像一个开关可以动态地将某一段扫描链接入或旁路主访问路径从而实现灵活的拓扑结构 。// 简化的IJTAG网络节点如SIB结构示意基于 module sib ( input logic tck, tms, tdi, // 标准JTAG接口 input logic select, // 控制信号决定是否接入该段 output logic tdo, // 连接至下级仪器或另一个SIB output logic tdi_down, input logic tdo_down ); logic shift_reg; // 移位寄存器用于存储控制位 always_ff (posedge tck) begin if (select) shift_reg tdi; // 在Shift-IR/DR状态下移位控制位 end // 根据控制位决定数据路径 assign tdo shift_reg ? tdo_down : tdi; // 旁路或接入 assign tdi_down shift_reg ? tdi : 1bz; endmodule2.2 应用场景与优势对比JTAG的优势与典型应用优势协议成熟、硬件简单、兼容性极广。几乎所有现代处理器、FPGA、复杂芯片都支持JTAG。应用PCB/板级测试检测BGA封装芯片的焊接短路、开路问题 。程序下载与调试通过JTAG接口将程序烧录到Flash并进行源码级单步调试、断点设置 。芯片功能验证访问芯片内部的某些寄存器进行基本的功能测试。IJTAG的优势与典型应用优势灵活性和可扩展性。能够高效管理成百上千个嵌入式仪器支持并行测试减少测试时间。应用内建自测试BIST控制动态配置和管理内存BISTMBIST、逻辑BISTLBIST的启动、停止和结果读取 。模拟与混合信号测试访问片上的ADC、DAC、PLL等模块的配置和状态寄存器。系统监控与调试读取温度传感器、电压监控器的数据进行性能分析和功耗管理 。IP核集成与测试为第三方IP核提供标准化的测试访问接口方便集成到大型SoC中 。2.3 标准与工具的协同在工具链和流程上两者也紧密相关。IJTAG的描述语言ICL/PDL比JTAG的BSDL更强大能够描述复杂的层级关系和仪器行为。现代的DFT工具如Siemens Tessent同时支持JTAG和IJTAG并能将传统的BSDL描述转换为ICL描述以便在IJTAG框架下复用JTAG的测试资源 。在实际的SoC中JTAG TAP控制器常作为IJTAG网络的顶层访问入口即通过标准的JTAG接口TCK, TMS, TDI, TDO来访问整个IJTAG网络 。3. 总结与关系比喻可以将二者的关系比喻为JTAG像一条贯穿整个建筑的固定主干道扫描链它连接了所有房间芯片引脚的大门检查门是否完好、通道是否畅通互连测试并提供了一个基础的入口调试。IJTAG则是在这个建筑内部署了一套智能的电梯和门禁系统ICN与SIB。它不仅知道如何到达每个房间还能动态规划路径旁路不需要访问的区域直接进入房间内部嵌入式仪器操作里面的各种设备BIST、传感器等功能更强大、访问更高效。因此IJTAG并非取代JTAG而是扩展和增强了JTAG的能力使其从专注于外部互连测试延伸到芯片内部复杂资源的深度访问与控制以适应现代大规模、高集成度SoC的设计与测试需求 。参考来源【DFT】【JTAG IJTAG】【1】JTAG 基础【JTAG】IJTAG vs JTAG vs IEEE1500 ECTSSN和ijtag在scan中的应用与区别JTAG调试原理IEEE 1687 ICL 与 BSDL 对比解析3 个关键差异与转换实践DFT学习笔记二|常用的DFT技术