本文摘要(由ai生成):
这篇文档主要介绍了 JTAG 电路的相关内容,包括 JTAG 电路的简介、边界扫描电路、电路时序以及在 FPGA 芯片中的工作流程。文档首先介绍了 JTAG 的全称、功能以及应用场景,然后详细描述了 JTAG 边界扫描电路的结构和工作原理。接着文档说明了 JTAG 电路的时序要求,并介绍了 JTAG 在 FPGA 芯片中的工作流程。
JTAG的全称是Joint Test Action Group,即联合测试行动小组。目前,JTAG已成为一种国际标准测试协议,主要用于各类芯片的内部测试。现在大多数
高级器件(包括FPGA、MCU、DSP以及CPU等)都支持JTAG协议,如FPGA、DSP器件等。标准的JTAG接口是4线接口:TMS、TCK、TDI以及TDO,分别为模式选择、时钟、数据输入和数据输出信号线。JTAG电路的功能模块如图5-1所示
图5-1 JTAG电路的内部结构示意图
JTAG最初是用来对芯片进行测试的,基本原理是在器件内部定义一个TAP(Test Access Port,测试访问口)端口,通过专用的JTAG测试工具对进行内部节点进行测试。
此外,JTAG协议允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。此外,JTAG接口还常用于实现ISP(In-System Programmable,在线编
程),对FLASH等器件进行编程。JTAG在线编程的特征也改变了传统生产流程,将以前先对芯片进行预编程再装到板上的工艺简化为:先固定器件到电路板上,再用JTAG编程,
从而大大加快工程进度。
边界扫描测试(BST:BOUNDARY SEAN TEST)一般采用4线接口(在5线接口中,有一条为主复位信号)。也可以通过PC机的RS-232接口就能模拟BST的功能。BST标准接口是
用来对电路板进行测试的,可在器件正常工作时捕获功能数据。器件的边界扫描单元能够迫使逻辑追踪引脚信号,或从器件核心逻辑信号中捕获数据,再强行加入的测试数据串
行第移入边界扫描单元,捕获的数据串行移出并在器件外不同预期的结果进行比较,根据比较结果给出扫描状态,以提示用户电路设计是否正确。典型边界扫描测试电路的结构
如图5-2所示。
图5-2 JTAG链扫描结构示意图
边界扫描测试提供了一个串行扫描路径,遵守IEEE规范的器件之间的引脚连接情况。IEEE1149.1标准所规定的BST结构为:当器件工作在JTAG BST模式时,使用4个专用的
I/O引脚和一个可选引脚TRST作为JTAG引脚。这4个专用I/O引脚为:TDI 、TDO、 TMS 和TCK。
JTAG电路的时序如图5-3所示,所有基于JTAG的操作都必须同步于JTAG时钟信号TCK。在TCK的上升沿读取或输出有效数据,有严格的建立、保持时间要求,因此一般情况下
JTAG的时钟不会太高。
图5-3 JTAG电路的时序关系示意图
JTAG边界扫描测试由测试访问端口的控制器管理,只要FPGA上电后电压正确,且JTAG链路完整,则JTAG电路可立即正常工作,清空JTAG配置寄存器等待外界响应,整体流程
如图5-4所示。
图5-4 JTAG边界扫描流程示意图
TMS、TRST 和TCK引脚管理TAP控制器的操作,TDI和TDO为数据寄存器提供串行通道。TDI也为指令寄存器提供数据,然后为数据寄存器产生控制逻辑。对于选择寄存器、
装载数据、检测和将结果移出的控制信号,由测试时钟(TCK)和测试模式(TMS)选择两个控制信号决定。在四线接口标准中,利用TDI,TDO,TCK,TMS四个信号,它们合成为
TAP测试处理端口(Test Access Port),测试复位信号(TRST,一般以低电平有效)一般作为可选的第五个端口信号。