当前位置:   article > 正文

JTAG 电路原理图,Boundary scan 测试以及主要指令操作总结_jtag状态机

jtag状态机

一.JTAG 状态机,右边是指令寄存器分支,左边是数据寄存器分支

  • • 只有在移位时 ( Shift-DR or shift-IR ) TDO输出才有效

  • • 测试操作受TMS输入的序列“1”和 0” 控制

  • • TRST可以异步复位

  •  当TMS在连续五个TCK时钟周期内保持高时,TAP控制器 ( TAP controllen)也会自动进入测试逻辑复位状态 ( Test-Logic-Reset)

  • 关于Pause-DR/Pause-IR状态

    这两个状态是暂停状态,比如说我们要通过32bit的总线从一个48长度的扫描链中读出相应管脚的状态,我们需要读两次才能将48bit的扫描链状态读出来,先经过32个TCK时钟读出高32bit的状态,然后转到Pause-DR状态等待总线读响应,响应完成后再进入Shift-DR经过16个TCK时钟读出低16bit数据。

二.让我们来看看实际如何来访问这条边界扫描链。

下图所示的是测试芯片及其被当前指令选定的长度为6的边界扫描链。由下图可以看出,当前选择的边界扫描链由6个边界扫描移位寄存器单元组成,并且被连接在TDI和TDO之间。

图片

       TCK 时钟信号与每个边界扫描移位寄存器单元相连。每个时钟周期可以驱动边界扫描链的数据由TDI到TDO的方向移动一位这样,新的数据可以通过 TDI 输入一位边界扫描链的数据可以通过 TDO 输出一位。经过6个时钟周期,就可以完全更新边界扫描链里的数据,而且可以将边界扫描链里捕获的6位数据通过TDO全部移出来。

三. bscan 的基本结构

BST电路主要包括

  • • 指令寄存器(IR)、

  • • 旁路寄存器(BR)、

  • • 边界扫描寄存器(BSR)

  • • 测试访问端口(TAP)控制器。

器件识别寄存器(ID)有32位,

  • • 其中31~28位是版本号,

  • • 27~12位是器件序列号,

  • • 11~1位是厂家标识,

  • • 第0位为1。

  • IEEEStd114911测试总线使用TCK的2个时钟沿, TMS和TDI在TCK的上升沿被采样,TDO在TCK的下降沿变化。

四. 对jtag 主要指令的理解,三步法:1.拆解 2.组装 3.数据流

#1.拆解

JTAG 电路拆解为4个部分:

1.Test Access Port(TAP)

2.TAP Controller(FSM->Finite State Machine)

3.Instruction Decoder

4.Register(Bypass Reg/Boundary Scan Reg/Data Reg/Instruction Reg)

#2.组装

     要对一个Core logic电路进行Boundary Scan 测试,需要给这个Core Logic添加JTAG相关组件电路;他们连接关系如下图,这个图如果要强行记忆不难,但是忘记它也会很容易

图片

如何能一次记对,只记一次呢?通过数据流的方式记忆,当然如果你耐心将这本书第8章学习完,也能达到这个效果。(量变引起质变)

图片

 第三:数据流

      通过Data Flow 来学习不同组件间的逻辑连接关系。上面这张图画的太好了;我们基于这张图来学习。根据我个人的理解,JTAG 1149.1 协议最初目的:为了解决PCB板级芯片的互连线之间的测试,又叫Boundary Scan Test 。通过上面的图片,我们分析数据流:

      ①来自TDI端口的数据流向,如下图所示:

Boundary Scan Re/Data Reg/Bypass Re/Instruction Re的数据都来自TDI。从TDI Shift-In 的数据会经过这些Register,再流向MUX1,最后通过MUX2选择后从TDO输出。

图片

      ②TAP Controller的数据流向:

TAP控制器产生控制信号;这些控制信号,流向Instruction Register、流向MUX选择器、流向解码器单元(后续通过PRELOAD和EXTEXT例子,更好理解),也产生Enable 信号控制三态缓冲器

图片

     ③流向TDO的数据:

BoundaryScan Reg/Data Reg/Bypass Reg的输出Data经MUX1(Mux 的Select信号由解码器输出信号提供)选择后-> 到MUX2(Mux的Select端信号由TAP Controller的输出信号提供)-> 经过DFF ->再三态缓冲器(使能端被TAP Controller的Enable信号控制)输出端流向 TDO

要画好电路图:重点理解这两个MUX1/MUX2的作用

MUX1 的S端由解码器单元驱动,且MUX1会选择当前指令选中的 数据寄存器来进行输出。

MUX2 的S端由TAP Controller驱动,它可以选择使用一个Data Reg输或者选择 指令寄存器 输出到TDO

#强制命令BYPASS/EXTEXT /INTEXT /SAMPLE /PRELOAD 的操作流程

这里只介绍BYPASS PRELOAD 和EXTEXT这三个命令的操作流程

1.BYPASS

旁路指令通过绕过一些不参与某一轮测试的Core单元,来缩短扫描链的长度。只要使用Bypass Reg ,测试时我们就需要用一个时钟周期通过它,并达到下一个芯片内核。图8-12 显示在BYPASS模式中,如何bypass左侧的Core 来缩短扫描链长度,达到减少测试时间的目的。要bypass 一个芯片内核,芯片的TAP Controller 会首先进入状态图的指令栏(第8章的223页有介绍),使用BYPASS指令和 更新该芯片的指令寄存器(图8-7是指令寄存器单元,里面包含一个Capture Reg 和一个 Update Reg),然后TAP Controller 移动到Capture_DR 状态下将0加载到bypass寄存器单元内。TAP Controller 进入到这种状态后,将置于SHift_DR状态。并在被绕过期间一直保持这个状态。

图片

下图8-12 还显示了一个没有被绕过的Core,右侧芯片的边界扫描寄存器被选定,串行数据被移入这个Boundary Scan Cell(简称BSC)内。同时此处独立的TAP Controller 也在Shift_DR 状态中发生移位。

图片

2.PRELOAD

该指令先进入TAP controller的状态图的指令分支上,在Update_IR状态下加载对应的指令向量;PRELOAD指令会初始化扫描单元。指令被加载到 Instruction Register 之内,TAP Contrller的状态切换到Shift_DR 状态,并执行指令的第一个阶段:

       在Shift_DR状态下,SelectBR = 1  ShiftBR =1 都被置1;边界扫描寄存器被选中,并且处于Scan_Shifting的模式下 (下图是Boundary Scan cell:的数据通路): Chain的通路被选通,完成必要的测试Data Shift过程。

图片

完成数据Shifting之后,TAP Controller 的状态切换到Update_DR状态并执行指令的第二个阶段:

      在UPdate_BR 会为BSC里的Update Reg提供时钟,这样我们可以在其他测试指令中使用Update Reg里面的数据。下图整个PRELOAD指令的数据流图。

图片

 2.EXTEXT

      外测试指令是 1149.1边界扫描标准的一个重要指令。

该指令会测试两个芯片之间的连线,它在引脚允许模式下工作,它不是测试Core logic内部的连线。因此当正在测试芯片之间的互连线时,这个芯片不能工作在正常的Function模式。(这个很好理解,参考下面BSC示意图理解;在Boundary Scan 测试模式下,ModeControl =1 ,这个时候Din 和Dout 之间的连接被暂时断开,也就是Core logic 被暂时Isolation)

      第一次执行EXTEXT命令,必须先执行PRELOAD流程,将测试Data预加载到BSC的Update Reg中。预加载完成后,一旦EXTEXT指令被加载到Instruction Reg内,预加载的测试Data就会在输出引脚Dout 处变为可用。第一轮EXTEXT测试完成后,在移出的上一轮测试Response时,新的测试数据也会移入。

图片

下面我们讨论一下,已经完成第一轮EXTEXT之后,如下图8-15: 这时如果激活EXTEXT测试指令时,左边 Core1 的逻辑输出和右边Core2 的逻辑输入之间的互连线正在测试中。在测试后Data被移入Core1 的 Capture Reg内,TAP Controller进入Update_DR状态,以将测试数据Load到Update Reg内。在这种状态下,将Mode Control 设置1后,测试数据会通过互连线驱动下一个芯片Core2的输入端。

图片

特别感谢微信公众号 TrustZone 和 少数派说投资 的总结

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/780091
推荐阅读