TCK:JTAG测试时钟输入,当TCK保持在零状态时,测试逻辑状态应保持不变;
TMS:测试模式选择,控制JTAG状态,如选择寄存器、数据加载、测试结果输出等,出现在 TMS的信号在TCK的上升沿由测试逻辑采样进入TAP控制器;
TDI:测试数据输入,测试数据在TCK的上升沿采样进入移位寄存器(SR);
TDO:测试数据输出,测试结果在TCK的下降沿从移位寄存器(SR)移出,输出数据与输入到TDI的数据应不出现倒置;
TRST:可选复位信号,低电平有效。
Xilinx器件接受使用JTAG TAP的编程指令和测试指令。在IEEE 1149.1的标准中,用于CPLD,FPGA以及配置PROM的常见指令有:旁路(BYPASS)指令,通过用1 b长的BYPASS寄存器将TDI与TDO直接连接,绕过(即旁路)边界扫描链中的某个器件;EXTEST指令,将器件I/O引脚与内部器件电路分离,以实现器件间的连接测试,它通过器件引脚应用测试值并捕获结果;IDCODE指令,返回用于定义部件类型、制造商和版本编号的32位硬件级别的识别码;HIGHZ指令,使所有器件引脚悬置为高阻抗状态;CFG_IN/CFG_0UT指令,允许访问配置和读回所用的配置总线;JSTART,当启动时钟=JTAGCLK时为启动时序提供时钟。
2.2 Tap状态机时序介绍
JTAG边界扫描测试由测试访问端口的TAP控制器管理。TMS,TRST和TCK引脚管理TAP控制器的操作,TDI和TDO位数据寄存器提供串行通道。TDI也为指令寄存器提供数据,然后为数据寄存器产生控制逻辑。对于选择寄存器、装载数据、检测和将结果移出的控制信号,由测试时钟(TCK)和测试模式(TMS)选择两个信号控制。测试复位信号(TRST,一般以低电平有效)一般作为可选的第五个端口信号。
如图2所示,所有基于JTAG的操作都必须同步于JTAG时钟信号TCK。所有测试逻辑的变化(例如指令寄存器,数据寄存器等)必须出现在TCK的上升沿或下降沿。关键时序关系是:TMS和TDI采样于TCK的上升边沿,一个新的TD0值将于TCK下降边沿后出现,因此一般情况下JTAG的时钟不会太高。
图3表示了IEEE 1149.1标准定义的TAP控制器的状态图,TAP控制器是16个状态的有限状态机,为JTAG接口提供控制逻辑。TAP状态转移如图3所示,箭头上的1或0,表示TMS在TCK上升沿的值(高电平TMS=1,低电平TMS=0),同步时钟TCK上升沿时刻TMS的状态决定状态转移过程。对于TDI端输入到器件的配置数据有两个状态变化路径:一个用于移指令到指令寄存器中,另一个用于移数据到有效的数据寄存器,该寄存器的值由当前执行的JTAG指令决定。当TAP控制器处于指令寄存器移位(SHIFTIR)状态时,对于每一个TCK的上升沿,连接在TDI和TD0之间的指令寄存器组中的移位寄存器向串行输出方向移一位。
当TMS保持为高电平时,在TCK的上升沿TAP控制器进入到“EXITl-IR”状态;当TMS为低电平时,TAP控制器保持在“指令寄存器移位”状态。