JTAG指令

更新时间:2024-03-14 13:39:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

九大指令

指令(必须/可选) EXTEST SAMPLE/PRELOAD BYPASS INTEST RUNBIST INCODE USERCODE CLAMP HIGHZ 用户定义 Extest指令--强制指令

用于芯片外部测试,如互连测试

测试模式下的输出管脚,由BSC update锁存驱动(BSC注释:寄存器的每一个单元分配给IC芯片的相应引脚,每一个独立的单元称为BSC(Boundary-Scan Cell)边界扫描单元。) BSC scan锁存捕获的输入数据

移位操作,可以从TDI输入测试激励,并从TDO观察测试响应。 在移位操作后,新的测试激励存储到BSC的update锁存

原先EXTEST指令时强制为全“0”的,在IEEE 1149.1--2001中,这条强制取消了。选择EXTEST指令时,IC工作在边界扫描外部测试模式(external boundary-test mode),也就是说对IC的操作影响芯片的正常工作。选择边界扫描寄存器连通TDI和TDO。在这种指令下,可以通过边界扫描输出单元来驱动测试信号至其他边界扫描芯片,以及通过边界扫描输入单元来从其他边界扫描芯片接收测试信号。EXTEST指令是IEEE 1149.1标准的核心所在,在边界扫描测试中的互连测试(interconnect test)就是基于这个指令的。 (该指令初始化外部电路测试,主要用于板级互连以及片外电路测试。EXTEST指令在Shift-DR状态时将扫描寄存器BSR寄存器连接到TDI与TDO之间。在Capture-DR状态时,EXTEST指令将输入管脚的状态在TCK的上升沿装入BSR中。EXTEST指令从不使用移入BSR中的输入锁存器中的数据,而是直接从管脚上捕获数据。在Update-DR状态时,EXTEST指令将锁存在并行输出寄存器单元中的数据在TCK的下降沿驱动到对应的输出管脚上去。)

操作码 0...0* 用户定义 1...1 用户定义 用户定义 用户定义 用户定义 用户定义 用户定义 用户定义 模式 测试 一般 一般 测试 测试 一般 一般 测试 测试 用户定义 选择数据寄存器 Boundary Boundary Bypass Boundary 用户定义 器件ID 器件ID Bypass Bypss 用户定义

Sample/Preload指令--强制指令

在进入测试模式前对BSC进行预装载 输入输出管脚可正常操作

输入管脚数据和内核输出数据装载到BSC的scan锁存中。

移位操作,可以从TDI输入测试激励,并从TDO观察测试响应。 在移位操作后,新的测试激励存储到BSC的update锁存。 原先这两个指令是合在一起的,在IEEE 1149.1--2001中这两个指令分开了,分成一个SAMPLE指令,一个PRELOAD指令。选择SAMPLE/PRELOAD指令时,IC工作在正常工作模式,也就是说对IC的操作不影响IC的正常工作。选择边界扫描寄存器连通TDI和TDO。 SAMPLE指令---通过数据扫描操作(Data Scan)来访问边界扫描寄存器,以及对进入和离开IC的数据进行采样。PRELOAD指令---在进入EXTEST指令之前对边界扫描寄存器进行数据加载。 (在Capture-DR状态下,SAMPLE/PRELOAD指令提供一个从管脚到片上系统逻辑的数据流快照,快照在TCK上升沿提取。在Update-DR状态时,SAMPLE/PRELOAD指令将BSR寄存器单元中的数据锁存到并行输出寄存器单元中,然后由EXTEST指令将锁存在并行输出寄存器单元中的数据在TCK的下降沿驱动到对应的输出管脚上去。)

PRELOAD

Bypass指令--强制指令

提供穿透芯片的最短通路。 输入输出管脚可正常操作

选择一位的旁路(Bypass)寄存器

强制全为1和未定义的指令为Bypass指令 BYPASS指令为全“1”。选择BYPASS指令时,IC工作在正常工作模式,选择一位的BYPASS寄存器连通TDI和TDO,数据的通过不影响IC的正常工作。

(BYPASS指令通过在TDI和TDO之间放置一个1位的旁通寄存器,这样移位操作时只经过1位的旁通寄存器而不是很多位(与管脚数量相当)的边界扫描寄存器BSR,从而使得对连接在同一JTAG链上主CPU之外的其他芯片进行测试时提高效率。)

INTEST指令 ---可选指令

选择INTEST指令时,IC工作在边界扫描内部测试模式(internal boundary-test mode),选择边界扫描寄存器连通TDI和TDO。在这种指令下,可以通过边界扫描输出单元来驱动测试信

号至其内部逻辑,以及通过边界扫描输入单元来从其内部逻辑接受测试信号。

RUNBIST指令 ---可选指令

选择RUNBIST指令时,IC工作在自测试模式(self-test mode),对IC的内部逻辑进行全面的自测试,通过选择用户自定义的数据寄存器连通TDI和TDO。在这种指令下,边界扫描单元的输出被内部逻辑控制了,所以外部信号不能干扰其相邻IC。 IDCODE指令 ---可选指令 选择IDCODE指令时,IC工作在正常工作模式,选择数据识别寄存器(data identification register)连通TDI和TDO。数据识别寄存器是一个32位的寄存器,内容包括IC的生产厂商,芯片类型,版本等。访问数据识别寄存器不会影响 IC的正常工作。由于IDCODE指令是可选的,不是每个芯片都有的,所以当对一个边界扫描链(scan chain)执行IDCODE指令来输出所有IDCODE时,有IDCODE指令的芯片就选择IDCODE寄存器,输出输出IDCODE,没有 IDCODE指令的芯片会自动选择BYPASS寄存器,输出一个“0”。

(读取CPU ID号指令。在设计中存在device identification register时,TAP强制定义。该指令将处理器的ID号寄存器连接到TDI和TDO之间。) USERCODE指令 ---可选指令

选择USERCODE指令时,IC工作在正常工作模式,选择用户自定义数据寄存器(user defined test data register)连通TDI和TDO。USERCODE指令一般是在进行芯片内部测试时用的。 CLAMP指令 ---可选指令

CLAMP指令使IC的输出置于由边界扫描寄存器的当前内容决定的逻辑电平上,选择BYPASS寄存器连通 TDI和TDO。在加载这个指令之前,边界扫描寄存器的内容可以由SAMPLE/PRELOAD指令来预置。在CLAMP指令下,数据通过BYPASS寄存器从TDI传递至TDO,不会影响此IC的输出。 HIGHZ指令 ---可选指令

HIGHZ指令使IC的所有输出置于高阻状态,选择BYPASS寄存器连通TDI和TDO。在HIGHZ指令下,数据通过BYPASS寄存器从TDI传递至TDO,不会影响此IC的输出。

本文来源:https://www.bwwdw.com/article/3ie8.html

Top