电话 邮箱 箭头

主页 测试仪表 测试平台 测试工具板 应用实例 相关文献

初识Jtag--Boundary Scan(二)

转载于:

https://zhuanlan.zhihu.com/p/382123493

Part2:指令寄存器

指令寄存器,就是存放指令的寄存器 。IEEE 标准规定该寄存器至少是 2bit。从而实现对4种强制性指令的编码。不设上限,从而指令的条数也就没有上限。当个比方说,我们之前提到 JTAG 可以实现烧录程序,debug 等等。那 JTAG 具体做什么功能用,肯定是我们人为给出了相应的指令控制,然后 JTAG 才会执行与指令相匹配的操作。OK,回到指令寄存器上来,图3给出了一个具有指导性的指令寄存器的设计结构(当然你也可以用 verilog 写出更妙的电路来 )。

结合图4,对于指令寄存器而言,它需要实现两个功能,换句话说,需要拥有两种工作模式:shift(移位)和 holding(保持)。接下来所说的内容需要结合一点 TAP 控制器(行文到这里还没有介绍 TAP 控制器,但是我认为我这样安排已经算是合理的了 )。但是不妨碍对图3指令寄存器的理解。

结合图4,首先介绍shift操作。当处于shift模式时,指令寄存器接收来自 TDI 上的数据,并将原本存储的数据从 TDO 输出(你可以粗暴的就把他看作一个移位寄存器,当时实际的情况时一组,不单单是一个触发器)。回到图3,要实现移位功能,ShiftIR 选中 Sin 端的数据作为寄存器A的输入,然后 TDO 接收寄存器A的Q端输出作为 TDO 的输出。在执行 holding 操作时,通过控制 UpdataIR,我们接收来自寄存器B的Q端的数据。

细心的朋友或许会发现,不还有一个输入端口 Din 嘛,这个是干哈的呢?打个比方(可能不是很恰当),就是我要通过指令给出一个操作,但是这个指令并不是从 TDI 上获取的,而至从固化的逻辑获取的。哎,这个 Din 就是和固化逻辑的连线接口。相当于利用 ShiftIR 选用 Din 的数据存入指令寄存器。

写到这里,可能大家会有疑惑,为什么要这样呢?这是因为对于 JTAG 而言,它需要实现很多种操作(至少4中,不设上限),比如A,B,C,D,E的检测。具体用哪一种,根据项目的需要。IEEE标准中给出了4中必须要具备的检测模式,其它的用户可以依据需要自行增加。

此外,在图4中 Scan register 和 Hold register之间还有一个解码逻辑,这个是干嘛的呢?这个解码逻辑也是一个可选项。打个比方,我们定义的指令寄存器有3bit,可以实现对最多8条指令的编码(000-111)。但实际上我们有用的只有5条指令。那还有3中编码方案我们没有用到,这个时候,这个译码逻辑可以对多余的编码完成映射。将其映射到实际有用的编码上去。比如多出来的编码为111,110,101。现在解码逻辑将这个三种情况全部映射到000上去,执行000的操作。

图3:通用指令寄存器设计[2]

图4 指令寄存器结构示意图[1]

Part3:数据寄存器

1、旁路寄存器 Bypass Register

图5:旁路寄存器结构示意图[1]

旁路寄存器是一个单 bit 寄存器。它有两种模式。当 ShiftDR 选择 B 端 TDI 上的数据打入寄存器然后;或者 ShiftDR 选择 A 端的 低电平 0 送入寄存器(明眼人都能看出来 )。那为什么要有这两种模式呢?别急,我们后面会有介绍。这里只是先展示一下这个寄存器的结构长什么样子。

2、设备识别寄存器 Identification Register

图6:设备识别寄存器结构示意图[1]

这是IEEE 1149.1中的一个可选寄存器,也就是你在实现一个 JTAG 的时候,可以生成这样的寄存器也可以不生成。如果配置这个寄存器,则这个寄存器得是 32bit 的,存放设备识别码。该设备识别码可以通过 TDI-TDO 这样一条串行链路传输到外部。

3、边界扫描寄存器

边界扫描寄存器在 JTAG 操作中应该算是最常用的寄存器。它主要有以下几种工作模式

  • 通常模式:配置 ModeControl 信号,直接将Din端信号通过Dout输出
  • 移位模式:配置 ShiftDR 和 ClockBR,将TDI上的信号串行打入寄存器A,并完成串行移位的操作(寄存器组)。
  • 捕获模式:配置 ShiftDR 和 ClockBR,将 Din 上对的信号并行打入寄存器A
  • 更新模式:配置 UpdateBR 和 ModeControl 信号,对完成移位操作后的信号进行“锁存”,并输出到 Dout 上。
  • 那么具体这个寄存器工作在何种模式,是依据当前执行的指令是什么以及 TAP 控制器目前是处于什么样的状态决定的。

    联系方式

    公司地址: 广东省深圳市福田区梅林路46号天欣大厦301B

    联系电话: 13316846676

    电子邮箱: sales@zhjtag.com

    备案号

    粤ICP备2024252189号