JTAG IEEE1149.1


前言

本文是学习JTAG自己的一些心得和笔记,如有错误的地方,请各位指出。


一、JTAG Architecture?

1. JTAG Components

  (1)Test Access Port(TAP紫色部分)
  (2)TAP controller(蓝色部分)
  (3)Registers(红色部分)
    a)Instruction Register
    b)Data Register
      Bscan Register
      Bypass Register
  (4)Instruction Decoder(绿色部分)
在这里插入图片描述

1.1 TAP

  TDI:Test Data Input
  数据输入接口,由TDI串行输入
  TDO:Test Data Output
  数据输出接口,由TDO串行输出
  TCK:Test Clock
  测试逻辑根据TCK的上升沿或下降沿执行操作
  TMS:Test Mode Select
  TMS上升沿有效,在TMS未驱动的情况下,TAP controller将保持reset状态
  TRST(optional):Reset of Test Logic(Active Low)

在这里插入图片描述

1.2 TAP Controller

在这里插入图片描述
  TAP controller有一个16个状态的状态机,控制JTAG的operation,TAP controller由TCK驱动,输入TMS来控制状态的跳转
  (1)Test-Logic-Reset:初始状态,系统上电后TAPcontroller自动进入该状态。在该状态下,测试电路被全部禁用,保证function电路正常工作。通过TRST信号可以让状态机进入Test-Logic-Reset状态,除此之外还可以通过在TMS上连续加5个1也可以让状态机进入Test-Logic-Reset状态,所以TRST作为可选信号。当TMS由1变为0后,状态机进入Run-Test/Idle状态。
  (2)Run-Test/Idle:Scan operation的中间状态。一旦进入该状态,只要TMS为低电平,状态机会一直保持在这个状态,当TMS变为高电平后,状态机进入Select-DR-Scan状态。在Run-Test/Idle状态下的动作取决于当前指令寄存器中的指令。有些指令会在该状态下执行一定的操作,有些指令在该状态下不需要执行任何操作。
  (3)Select-DR-Scan:该状态也是一个中间态,当TCK下一个上升沿到来时进入下一个状态。如果TMS=1,进入Select-IR-Scan;如果TMS=0,进入Capture-DR状态.
  (4)Capture-DR:TAP控制器处于该状态,且当前指令是SAMPLE/PRELOAD指令,那么BSR将在TCK信号的上升沿捕获输入管脚的数据。如果当前指令不是SAMPLE/PRELOAD指令,那么BSR保持先前的值,BSR的值会被放入连接在TDI和TDO管脚之间的移位寄存器中。
  (5)Shift-DR:在该状态下,每个TCK的上升沿,TDI的数据会移入移位寄存器,移位寄存器中的数据会向右移一位,移位寄存器最靠近TDO的位会移动到TDO管脚上。
  (6)Exit1-DR:该状态为临时状态,如果TMS信号在下一个TCK上升沿处于高电平,TAP进入Update-DR状态,结束扫描操作;如果TMS信号在下一个TCK上升沿处于低电平,TAP进入Pause-DR状态。
  (7)Pause-DR:暂时停止TDI-移位寄存器-TDO串行通道的移位操作。
  (8)Exit2-DR:该状态为临时状态,如果TMS信号在下一个TCK上升沿处于高电平,TAP进入Update-DR状态,结束扫描操作;如果TMS信号在下一个TCK上升沿处于低电平,TAP重新进入Shift-DR状态。
  (9)Update-DR:在该状态下数据寄存器中的数据将被加载到相应的芯片管脚上去,用来驱动芯片。
  (10)Select-IR-Scan:该状态为临时的中间状态。如果TMS信号在下一个TCK上升沿为0,TAP进入Capture-IR状态;如果TMS信号在下一个TCK上升沿为1,TAP重新进入Test-Logic-Reset状态。
  (11)Captue-IR:在该状态下,在TCK的上升沿。一个特定的逻辑序列将被加载到指令寄存器中。
  (12)Shift-IR:在该状态下,每个TCK的上升沿,被连接在TDI和TDO之间的指令寄存器将从TDI接收一位数据,并通过TDO输出一位数据。
  (13)Exit1-DR:该状态为临时状态,如果TMS信号在下一个TCK上升沿处于高电平,TAP进入Update-IR状态,结束扫描操作;如果TMS信号在下一个TCK上升沿处于低电平,TAP进入Pause-IR状态。
  (14)Pause-DR:暂时停止TDI-移位寄存器-TDO串行通道的移位操作。
  (15)Exit2-DR:该状态为临时状态,如果TMS信号在下一个TCK上升沿处于高电平,TAP进入Update-IR状态,结束扫描操作;如果TMS信号在下一个TCK上升沿处于低电平,TAP重新进入Shift-IR状态。
  (16)Update-IR:在该状态下,在Shift-IR状态下输入的新指令将被用来更新指令寄存器。

1.3 JTAG Register

JTAG包括以下Register:
  (1)Data Register:DR
    a)Bypass Register:BR
    b)Boundary Scan Register:BSR
  (2)Instruction Register:IR
  (3)Optional Data Register
    a)Device ID Register
    b)Device specific Register
在这里插入图片描述

1.3.1 Bypass Register

  (1)目的:提供从TDI到TDO的最短路径
在这里插入图片描述
  (2)作用:当ShiftDR=1时将Data从TDI shift到TDO(1bit FF)
在这里插入图片描述
例:当我们不想测chip1而想直接测chip2和chip3时,可以通过Bypass register Bypass掉chip1,从而节省测试的时间。如果没有Bypass register那么我们的pattern需要先通过8个时钟周期才能到达chip2,如果使用Bypass register那么只需要1个时钟周期我们的pattern就能到达chip2,可以减少7个时钟周期。
在这里插入图片描述

1.3.2 Boundary Scan Register(BSR)

在这里插入图片描述
  (1)目的:控制和观测system I/O pins。
  我们从TDI输入测试pattern,通过BSR将pattern shift至TDO。
  (2)Input Boundary Scan Cell (BSC)
在这里插入图片描述
  每个BSC包含:
    a)2个寄存器(capture/scan FF和output FF)
    b)2个control signals:Shift DR,Mode
    c)2个clock:clockDR,UpdateDR

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值