电话 邮箱 箭头

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

初识Jtag--Boundary Scan(一)

转载于:

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

Jtag 作为一个国际化的标准,目前我们可以用它来做程序烧录,debug,电路检测等操作。在数字电路设计中,大多作为电路故障诊断的一种手段。图1展示了对电路功能的两种检测方案。现假设我们利用 verilog 实现了一个性能非常 nice 的加法器,吊打各大公司的 IP ,然后功能仿真也没有任何问题。但是我们并不确定加工生产(原谅我着拙劣的用词)出来的电路到底是个什么情况?哎,这个时候 jtag 就可以发挥作用了。在图1(A)中那个粉红色的单元就是我们写的超级 nice 的加法器,左右两侧的黄色单元是其与外部的引脚连线。我通过 jtag 在左侧灌入激励(Driver),然后从右侧查看与之对应的响应(Sensor),从而判断这个加法器的实际电路有没有缺陷。图1(B)呢大家可以思考一下,我们后面以这个为例做具体的讲解。

当然,在具体的实现过程中,也不是我们想检测就可以检测的,不然也不会劳烦IEEE专门搞了一个叫 Joint Test Action Group。你猜的没错,这就是 Jtag 的简称了。下面我们将从整体结构依次介绍JTAG。

图2展示了一个较完完整的 JTAG 整体架构设计。它主要包含了一下几点内容。

1. 一组关键的控制信号 TMS, TDI, TDO, TCLK。有些结构还包括 TRST(图2中含有这个信号)

2. 指令寄存器

3. 数据寄存器,其中包括边界扫描寄存器,旁路寄存器,设备识别寄存器以及其它用户自定义的寄存器

4. 解码器

5. TAP(Test Acess Port)控制器(核心控制组件)

下面就以上五点内容做具体的介绍。

Part1:一组关键的控制信号TMS,TDI,TDO,TCLK,以及一个可选的复位信号TRST

TMS :外部输入驱动 JTAG 的一个单 bit 信号。核心功能是完成对 TAP 控制器的状态控制

TCLK:顾名思义,就是外部给 JTAG 的一个时钟信号

TDI :测试数据输入,用来将串行测试数据和指令移入芯片

TDO:测试数据输出,结合 TDI 的定义,就是将得到的反馈给过移出芯片

那啥叫移入芯片和移出芯片?我们前面举了一个加法器的例子。我们就是这么简单粗暴,完成了对一个加法器电路的流片。我们需要完成对加法器电路的检测。那现在这个加法器就是图2所示的内核逻辑。因此,TDI 的作用就是通过 TDI 端口将激励灌入这个内核逻辑,TDO 就是将反馈结果从内核逻辑中取出来,方便我们人为的观察和评判数据的正确性。那 TDI 和 TDO到底是怎么做到的呢?别急,这部分内容有点杂,劳请读者耐住性子往后看(我写的东西可能确实比较拉跨,多担待)。

联系方式

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

联系电话: 13316846676

电子邮箱: sales@zhjtag.com