CN104237666B - 联合测试行为组织串联链中器件的测试方法 - Google Patents

联合测试行为组织串联链中器件的测试方法 Download PDF

Info

Publication number
CN104237666B
CN104237666B CN201310250703.5A CN201310250703A CN104237666B CN 104237666 B CN104237666 B CN 104237666B CN 201310250703 A CN201310250703 A CN 201310250703A CN 104237666 B CN104237666 B CN 104237666B
Authority
CN
China
Prior art keywords
jtag
data
register
output sequence
devices
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310250703.5A
Other languages
English (en)
Other versions
CN104237666A (zh
Inventor
朱维良
韩桂丽
刘明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Weiyage Beijing Technology Co ltd
Original Assignee
Beijing Weiyage Beijing Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Weiyage Beijing Technology Co ltd filed Critical Beijing Weiyage Beijing Technology Co ltd
Priority to CN201310250703.5A priority Critical patent/CN104237666B/zh
Publication of CN104237666A publication Critical patent/CN104237666A/zh
Application granted granted Critical
Publication of CN104237666B publication Critical patent/CN104237666B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Tests Of Electronic Circuits (AREA)

Abstract

本发明涉及一种联合测试行为组织串联链中器件的测试方法,该方法包括:重置JTAG串联链及串联链中各器件的数据寄存器和指令寄存器中的数据;在TCK节拍下,输入长度为2N的第一数据流,同时移位出各指令寄存器中的二进制数据流,得到第一输出序列;在TCK节拍下,输入长度为2N的第二数据流,同时移位出各指定寄存器中的二进制数据流,得到第二输出序列;计算出JTAG串联链中所有器件的指令寄存器的宽度之和M并计算出各个器件的指令寄存器的宽度;选中目标器件并读取选中的目标器件中的唯一标识寄存器ID中的数据。本发明提供的方法通过输入特定的二进制数据流,能自动计算出JTAG串联链中各器件的指令寄存器的宽度,从而实现对目标器件的编程与测试。

Description

联合测试行为组织串联链中器件的测试方法
技术领域
本发明涉及一种测试方法,特别是涉及一种联合测试行为组织串联链中器件的测试方法。
背景技术
联合测试行为组织(JTAG,Joint Test Action Group)测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。图1为常见的多个JTAG器件串联方式。如图1所示,多个器件通过JTAG接口串联在一起,其中,每个器件均有四个引脚:TCK—测试时钟输入;TDI—测试数据输入,数据通过TDI输入JTAG口;TDO—测试数据输出,数据通过TDO从JTAG口输出;TMS—测试模式选择,TMS用来设置JTAG口处于某种特定的测试模式。通过TCK、TMS的设置,可将JTAG设置为捕获指令CAPTURE_IR或捕获数据CAPTURE_DR状态。图1中,唯一标识寄存器ID为32位,旁路寄存器Bypass为1位,指令寄存器的宽度一般大于2小于等于16。
目前,JTAG接口还常用于实现在系统编程(ISP,In-System Programmer),对FLASH等器件进行编程。只要知道每个设备的指令寄存器的宽度,就可以旁路(Bypass)链中其它的器件、对目标芯片进行编程与调试。传统的编程器在多链中指定器件编程时,为了能够Bypass其它器件,需要从器件指定的边界扫描描述语言(BSDL,Boundary ScanDescription Language)文件获取指令寄存器宽度等器件信息。然而在某一特定条件或环境中,由于没有相应的BSDL文件,则无法Bypass此器件,导致JTAG编程失败。
发明内容
本发明的目的是提供一种通过输入特定的二进制数据流,自动计算JTAG串联链中各器件的指令寄存器宽度,实现对目标器件编程的方法。
为实现上述目的,本发明提供了一种JTAG串联链中器件的测试方法,包括以下步骤:
重置Reset联合测试行为组织JTAG串联链及串联链中各器件的数据寄存器和指令寄存器中的数据;
在JTAG的状态为移位指令SHIFT_IR时,在测试时钟TCK节拍的控制下,通过JTAG串联链的测试数据输入TDI口,输入长度为2N的第一数据流,同时通过JTAG串联链的测试数据输出TDO口移位出各指令寄存器中的二进制数据流,得到第一输出序列;
重置JTAG串联链及串联链中各器件的数据寄存器和指令寄存器中的数据,在JTAG的状态为移位指令SHIFT_IR时,在TCK节拍的控制下,通过JTAG串联链的TDI口,输入长度为2N的第二数据流,同时通过JTAG串联链的TDO口移位出各指令寄存器中的二进制数据流,得到第二输出序列;
根据所述第一输出序列和第二输出序列,计算出所述JTAG串联链中所有器件的指令寄存器的宽度之和M;
根据所述第一输出序列,第二输出序列和所述计算出的所述JTAG串联链中所有器件的指令寄存器的宽度之和M,计算出各个器件的指令寄存器的宽度;
通过输入M位特定的二进制数据流,选中目标器件,其中,在所述M位特定的二进制数据流中,与选中的目标器件的位置对应的字段为与选择唯一标识指令相对应的二进制数据;
在JTAG的状态为捕获数据CAPTURE_DR时,将各器件的数据寄存器连接到TDI和TDO之间;在JTAG的状态为移位数据SHIFT_DR时,在TCK节拍的控制下,通过JTAG的TDO口移位出各器件的数据寄存器中的数据。
在上述方法中,所述第一数据流由N位全0的二进制数据流和N位全1的二进制数据流组成;所述第二数据流为2N位全1的二进制数据流;
或者,
所述第一数据流为2N位全1的二进制数据流;所述第二数据流为由N位全0的二进制数据流和N位全1的二进制数据流组成。
在上述方法中,相应的二进制数据流的位数与相应指令寄存器的宽度相对应,所述二进制数据流的最后一位为1,倒数第二位为0。
在上述方法中,计算出所述JTAG串联链中所有器件的指令寄存器的宽度之和M包括:
比较第一输出序列和第二输出序列,所述第一输出序列和第二输出序列中相同的M位为所述JTAG串联链所有器件的指令寄存器的宽度之和。
在上述方法中,根据所述第一输出序列,第二输出序列和所述计算出的所述JTAG串联链中所有器件的指令寄存器的宽度之和M,计算出各个器件的指令寄存器的宽度包括:
取出第一输出序列和第二输出序列中相同的M位二进制数据流,根据指定的开头划分为i组,判断i和JTAG串联链中器件的个数是否一致,在一致的情况下,将每组二进制数据流的位数作为所对应器件的指令寄存器宽度。
在上述方法中,将各器件的数据寄存器连接到TDI和TDO之间包括:
将选中的目标器件的唯一标识寄存器ID,以及其他器件的旁路Bypass寄存器连接到TDI和TDO之间。
本发明提供的方法通过输入特定的二进制数据流,自动计算出JTAG串联链中所有器件的指令寄存器的宽度之和,将计算出的宽度之和再结合相应的算法即可计算出每个器件的指令寄存器的宽度及目标器件在串联链中的位置,从而实现对目标器件的编程与测试。
附图说明
图1为常见的多个JTAG器件串联方式;
图2为本发明实施例的JTAG串联链中器件的测试方法的流程图;
图3为输入40位全0和40位全1二进制数据流的示意图;
图4为输入80位全1二进制数据流的示意图;
图5为计算JTAG串联链中所有器件指令寄存器宽度之和示意图;
图6为选中最右端的目标器件的示意图;
图7为读取最右端的目标器件ID中数据的示意图;
图8为计算所有器件的各指令寄存器的宽度的示意图;
图9为选中第二个目标器件的示意图;
图10为读取第二个目标器件ID中数据的示意图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
图2为本发明实施例的JTAG串联链中器件的测试方法的流程图。如图2所示,本实施例具体包括如下步骤:
步骤201,重置Reset联合测试行为组织JTAG串联链及串联链中各器件的数据寄存器和指令寄存器中的数据。
在步骤201中,重置JTAG串联链,包括重置JTAG的状态机MAP,使其回到逻辑重置LOGIC RESET状态;重置指令寄存器中的数据后,各器件的指令寄存器中为相应的二进制数据流;该相应的二进制数据流的位数与相应指令寄存器的宽度相对应,且二进制数据流的最后一位为1,倒数第二位为0。举例为,当JTAG串联链中某一指令寄存器的宽度为10,那么该指令寄存器产生的相应二进制数据流可以为:0000,0000,01。数据寄存器的重置包括唯一标识寄存器ID和旁路寄存器BYPASS的重置,唯一标识寄存器ID重置后,唯一标识寄存器ID中为该器件的32位唯一标识码;旁路寄存器BYPASS重置后为全0数据。
步骤202,计算JTAG串联链中器件的个数,目标器件在串联链中的位置和目标器件指令寄存器的宽度。
在步骤202中,依照步骤201对JTAG串联链中各器件的指令寄存器和数据寄存器重置后,将JTAG串联链中所有器件的唯一标识寄存器ID连接到TDI和TDO之间,在JTAG的状态为移位指令SHIFT_DR时,在TCK节拍的控制下,通过JTAG的TDI口输入32*k位二进制数据流,其中,k为自然数;同时通过JTAG的TDO口移位出32*k位二进制数据流,其中包括各器件的唯一标识寄存器中的数据;根据移位出的数据,再结合datasheet手册,计算JTAG串联链中目标器件的个数,目标器件在串联链中的位置和目标器件指令寄存器的宽度。其中,datasheet手册中记录了目标器件的唯一标识ID码,型号(如ARM cortex m3,STM32等)及指令寄存器的宽度。举例为,通过JTAG的TDI口输入32*3位二进制数据流,且在TCK节拍的控制下,通过JTAG的TDO口输出的32*3位二进制数据流为:第1个32位的二进制数据流为:00111011110000000000010001110111(用16进制表示为0x3ba00477),第2个32位的二进制数据流为:00000110010000010100000001000001
(用16进制表示为0x06414041),第3个32位的二进制数据流为全0二进制数据。通过分析上述输出结果,可知,有两个32位非0数据,那么可以得出,该JTAG串联链中有两个器件。通过将手册中目标器件的ID码和输出结果中的各ID码进行比较,可确定目标器件在JTAG串联链中的位置。假设目标器件的ID码为0x06414041,那么目标器件在JTAG串联链中第2个位置。最后通过查阅datasheet手册,可以获取目标指令寄存器的宽度。
步骤203,在JTAG的状态为移位指令SHIFT_IR时,在测试时钟TCK节拍的控制下,通过JTAG串联链的测试数据输入TDI口,输入长度为2N的第一数据流,同时通过JTAG串联链的测试数据输出TDO口移位出各指令寄存器中的二进制数据流,得到第一输出序列。
在步骤203中,通过JTAG串联链的测试时钟TCK和测试模式选择TMS进行状态的改变,将JTAG设置为移位指令SHIFT_IR状态。第一数据流的长度为2N,优选地,N>=a*b,其中,a为JTAG串联链中器件的个数,b为JTAG串联链中的器件中具有的最大指令寄存器的宽度。第一数据流由N位全0的二进制数据流和N位全1的二进制数据流组成或者为2N位全1的二进制数据流。图3为输入40位全0和40位全1二进制数据流的示意图,图中,依照步骤202的步骤计算JTAG串联链中器件的个数,可得该串联链中共有4个器件,即a=4;假设目前已知的器件的最大指令寄存器的宽度为10,那么b=10,则N=4*10。在TCK节拍的控制下,依次将40位的全0和40位全1二进制数据流,通过JTAG串联链的TDI口输入到各器件的指令寄存器中,同时通过JTAG串联链的TDO口移位出各指令寄存器中的二进制数据流,即一个TCK节拍输入一位0,相应地可以移位出一位二进制数据,直至移位出80位的第一输出序列。该第一输出序列可以分为第一字段和第二字段,第一字段的数据位数和JTAG串联链中各器件的指令寄存器的宽度之和一致,且第一字段中的二进制数据流呈规律性变化;第二字段由两部分组成,第一部分为40位全0数据;第二部分为全1数据,全1数据的位数为40减去各器件的指令寄存器宽度之和。
步骤204,重置JTAG串联链及串联链中各器件的数据寄存器和指令寄存器中的数据,在JTAG的状态为移位指令SHIFT_IR时,在TCK节拍的控制下,通过JTAG串联链的TDI口,输入长度为2N的第二数据流,同时通过JTAG串联链的TDO口移位出各指令寄存器中的二进制数据流,得到第二输出序列。
在步骤204中,得到第一输出序列之后,依照步骤201重置JTAG串联链及串联链中各器件的数据寄存器和指令寄存器中的数据。第二数据流为由N位全0的二进制数据流和N位全1的二进制数据流组成或者为2N位全1的二进制数据流,在一种具体实施例中,第二数据流为2N位全1数据流。
步骤204的执行方法和步骤203相似,不同的是在JTAG的状态为移位指令SHIFT_IR时,在TCK节拍的控制下,依次输入80位的全1二进制数据流。图4为输入80位全1二进制数据流的示意图,图中,同样可以移位出80位的第二输出序列。该第二输出序列也可以分为第一字段和第二字段,其中,第一字段和第一输出序列的第一字段一致;第二字段为全1数据,其位数为80减去各器件的指令寄存器宽度和。
步骤205,根据所述第一输出序列和第二输出序列,计算出所述JTAG串联链中所有器件的指令寄存器的宽度之和M。
步骤205中,通过对第一输出序列和第二输出序列的第一字段进行分析,可计算出所有器件的指令寄存器的宽度之和。图5为计算JTAG串联链中所有器件指令寄存器宽度之和示意图。图中,第一行对应第一输出序列,分为三部分:第一部分为以“10”开头的多组二进制数据流组成,即第一字段;第二部分为40位全0数据;第三部分为全1数据,全1数据的位数为40减去各器件的指令寄存器宽度之和,第二部分和第三部分组成第二字段。第二行对应第二输出序列,分为两部分:第一部分为以“10”开头的多组二进制数据流组成,即第一字段,从图中可以看出,其与第一序列的第一字段部分相同;第二部分为80全1二进制数据组成,即第二字段。取出第一输出序列和第二输出序列相同的第一字段部分,该字段包括M位二进制数据,则M为JTAG串联链所有器件的指令寄存器的宽度之和。图中所示的M值为22,即所有器件的指令寄存器的宽度之和为22。
步骤206,依照步骤202中计算出的目标器件在JTAG串联链的位置,判断目标器件是否在两端,如果是,则执行步骤207;否则执行步骤209。
步骤207,通过输入M位特定的二进制数据流,选中目标器件,其中,在所述M位特定的二进制数据流中,最左端或最右端对应的字段为与选择唯一标识指令相对应的二进制数据。
在步骤207中,依照步骤205的计算结果,得到所有器件的指令寄存器的宽度之和及与其相应的第一字段部分,再结合目标器件指令寄存器的宽度,即可通过向JTAG串联链中各器件的指令寄存器中输入选择指令,而选定一个需要访问的唯一标识寄存器。图6为选中最右端的目标器件的示意图。假设依照步骤202计算的目标器件在最右端,且目标器件的指令寄存器的宽度为10位。图中,把JTAG串联链中所有器件的指令寄存器连接到TDI和TDO之间;然后在TCK节拍控制下,输入22位的特定的二进制数据流,其中,22为依照步骤204计算出的所有器件的指令寄存器宽度之和,最右端的10位为与选中目标器件的选择唯一标识指令相对应的二进制数据,其余位为1;在依次输入特定的二进制数据流的同时,移位出各器件的指令寄存器中原有的数据。在向各器件的指令寄存器中写入特定的二进制数据流之后,就可进行数据的读取了。
步骤208,在JTAG的状态为捕获数据CAPTURE_DR时,将各器件的数据寄存器连接到TDI和TDO之间;在JTAG的状态为移位数据SHIFT_DR时,通过JTAG的TDO口移位出各器件的数据寄存器中的数据。
在步骤208中,连接到TDI和TDO之间的数据寄存器包括目标器件的唯一标识寄存器和其他器件的旁路寄存器。依照步骤207的执行结果,可选中两端的目标器件,然后基于选中的目标器件,输入读取指令即可读取出目标器件唯一标识寄存器中的数据。图7为读取最右端的目标器件ID中数据的示意图。图中,在JTAG的状态为捕获数据CAPTURE_DR时,把选中的目标器件的唯一标识寄存器ID,以及其他器件的旁路Bypass寄存器连接到TDI和TDO之间;在JTAG的状态为移位数据SHIFT_DR时,在TCK节拍控制下,输入35位的特定的二进制数据流,其中,32是唯一标识寄存器ID的宽度,最右端的32位为与读取指令相对应的特定二进制数据,其余3位为0,即旁路JTAG串联链中其他器件;同时通过JTAG的TDO口移位出各器件的数据寄存器中的数据。
步骤209,根据所述第一输出序列,第二输出序列和所述计算出的所述JTAG串联链中所有器件的指令寄存器的宽度之和M,计算出各个器件的指令寄存器的宽度。
在步骤209中,依据步骤205提取的第一输出序列和第二输出序列相同的第一字段,和计算出的所有器件的指令寄存器的宽度之和,计算所有器件的各指令寄存器的宽度。图8为计算所有器件的各指令寄存器的宽度的示意图。图中,将第一输出序列和第二输出序列相同的第一字段(22位二进制数据流),根据指定的开头“10”划分为4组。判断4与依照步骤202计算出的JTAG串联链中器件的个数是否一致,在一致的情况下,则将最后一组二进制数据流“1000_0000_00”的位数10作为第一个器件的指令寄存器的宽度;第三组二进制数据流“100”的位数3作为第二个器件的指令寄存器的宽度;第二组二进制数据流“1000_0”的位数5作为第三个器件的指令寄存器的宽度;第一组二进制数据流“1000”的位数4作为最后一个器件的指令寄存器的宽度。
步骤210,通过输入M位特定的二进制数据流,选中目标器件,其中,在所述M位特定的二进制数据流中,与选中的目标器件的位置对应的字段为与选择唯一标识指令相对应的二进制数据。
在步骤210中,已经计算出JTAG串联链中各器件指令寄存器的宽度,通过输入M位特定的二进制数据流,选中任意位置的目标器件。图9为选中第二个目标器件的示意图。依据步骤209的计算结果可知,第一个器件的指令寄存器的宽度为5,JTAG串联链中各器件指令寄存器的宽度之和为22,而已知的目标器件的指令寄存器的宽度为10,则待输入的22位特定的二进制数据流为:左端5位1与第一个器件的指令寄存器的宽度相对应,之后的第6-15共10位为与选中目标器件的选择唯一标识指令相对应的二进制数据,剩下的7位全部置1。图中,把JTAG串联链中所有器件的指令寄存器连接到TDI和TDO之间,然后在TCK节拍控制下,输入22位的特定的二进制数据流,同时,移位出各器件的指令寄存器中原有的数据。
步骤211,在JTAG的状态为捕获数据CAPTURE_DR时,将各器件的数据寄存器连接到TDI和TDO之间;在JTAG的状态为移位数据SHIFT_DR时,通过JTAG的TDO口移位出各器件的数据寄存器中的数据。
步骤211中,连接到TDI和TDO之间的数据寄存器包括目标器件的唯一标识寄存器和其他器件的旁路寄存器。基于选中的第二个目标器件,输入读取指令即可读取出目标器件唯一标识寄存器中的数据。图10为读取第二个目标器件ID中数据的示意图。在JTAG的状态为捕获数据CAPTURE_DR时,把选中的第二个目标器件的唯一标识寄存器ID,以及其他器件的旁路Bypass寄存器连接到TDI和TDO之间;在JTAG的状态为移位数据SHIFT_DR时,在TCK节拍控制下,输入35位的特定的二进制数据流,其中,第一位0表示旁路第一个器件的Bypass寄存器,之后的32位是第二个器件的唯一标识寄存器ID的宽度,这32位二进制数据为与读取指令相对应的特定二进制数据,其余两位为0,即旁路JTAG串联链中其他两个器件;同时通过JTAG的TDO口移位出各器件的数据寄存器中的数据。
综上,本发明提供的方法首先对串联链中各器件的指令寄存器和数据寄存器重置后,通过读取各器件唯一标示寄存器中的数据,确定JTAG串联链中器件的个数,目标器件的位置和目标器件指令寄存器的宽度;然后通过两次输入不同的二进制数据流,自动计算出JTAG串联链中所有器件的指令寄存器的宽度之和;将计算出的宽度之和再结合相应的算法即可计算出每个器件的指令寄存器的宽度;最后通过指令寄存器,选定一个需要访问的数据寄存器,把选定的数据寄存器连接到TDI和TDO之间;由TCK驱动,通过TDI把特定的二进制数据流输入到选定的数据寄存器中,同时把选定的数据寄存器中的数据通过TDO读出来,从而实现对目标器件的编程与测试。
本发明提供的方法解决了在某一特定条件或环境中,由于没有相应的BSDL文件,则无法Bypass此器件,导致JTAG编程失败的问题。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种联合测试行为组织串联链中器件的测试方法,其特征在于,该方法包括:
(1)重置联合测试行为组织JTAG串联链及串联链中各器件的数据寄存器和指令寄存器中的数据;
(2)在JTAG的状态为移位指令SHIFT_IR时,在测试时钟TCK节拍的控制下,通过JTAG串联链的测试数据输入TDI口,输入长度为2N的第一数据流,同时通过JTAG串联链的测试数据输出TDO口移位出各指令寄存器中的二进制数据流,得到第一输出序列;
(3)重置JTAG串联链及串联链中各器件的数据寄存器和指令寄存器中的数据,在JTAG的状态为移位指令SHIFT_IR时,在TCK节拍的控制下,通过JTAG串联链的TDI口,输入长度为2N的第二数据流,同时通过JTAG串联链的TDO口移位出各指令寄存器中的二进制数据流,得到第二输出序列;
(4)根据所述第一输出序列和第二输出序列,计算出所述JTAG串联链中所有器件的指令寄存器的宽度之和M;
(5)根据所述第一输出序列,第二输出序列和所述计算出的所述JTAG串联链中所有器件的指令寄存器的宽度之和M,计算出各个器件的指令寄存器的宽度;
(6)通过输入M位特定的二进制数据流,选中目标器件,其中,在所述M位特定的二进制数据流中,与选中的目标器件的位置对应的字段为与选择唯一标识指令相对应的二进制数据;
(7)在JTAG的状态为捕获数据CAPTURE_DR时,将各器件的数据寄存器连接到TDI和TDO之间;在JTAG的状态为移位数据SHIFT_DR时,在TCK节拍的控制下,通过JTAG的TDO口移位出各器件的数据寄存器中的数据。
2.根据权利要求1所述的方法,其特征在于,
所述第一数据流由N位全0的二进制数据流和N位全1的二进制数据流组成;所述第二数据流为2N位全1的二进制数据流;
或者,
所述第一数据流为2N位全1的二进制数据流;所述第二数据流为由N位全0的二进制数据流和N位全1的二进制数据流组成。
3.根据权利要求1所述的方法,其特征在于,相应的二进制数据流的位数与相应指令寄存器的宽度相对应,所述二进制数据流的最后一位为1,倒数第二位为0。
4.根据权利要求1所述的方法,其特征在于,计算出所述JTAG串联链中所有器件的指令寄存器的宽度之和M包括:
比较第一输出序列和第二输出序列,所述第一输出序列和第二输出序列中相同的M位为所述JTAG串联链所有器件的指令寄存器的宽度之和。
5.根据权利要求1所述的方法,其特征在于,所述根据所述第一输出序列,第二输出序列和所述计算出的所述JTAG串联链中所有器件的指令寄存器的宽度之和M,计算出各个器件的指令寄存器的宽度包括:
取出第一输出序列和第二输出序列中相同的M位二进制数据流,根据指定的开头划分为i组,判断i和JTAG串联链中器件的个数是否一致,在一致的情况下,将每组二进制数据流的位数作为所对应器件的指令寄存器宽度。
6.根据权利要求1所述的方法,其特征在于,将各器件的数据寄存器连接到TDI和TDO之间包括:
将选中的目标器件的唯一标识寄存器ID,以及其他器件的旁路Bypass寄存器连接到TDI和TDO之间。
CN201310250703.5A 2013-06-21 2013-06-21 联合测试行为组织串联链中器件的测试方法 Active CN104237666B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310250703.5A CN104237666B (zh) 2013-06-21 2013-06-21 联合测试行为组织串联链中器件的测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310250703.5A CN104237666B (zh) 2013-06-21 2013-06-21 联合测试行为组织串联链中器件的测试方法

Publications (2)

Publication Number Publication Date
CN104237666A CN104237666A (zh) 2014-12-24
CN104237666B true CN104237666B (zh) 2017-05-03

Family

ID=52226141

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310250703.5A Active CN104237666B (zh) 2013-06-21 2013-06-21 联合测试行为组织串联链中器件的测试方法

Country Status (1)

Country Link
CN (1) CN104237666B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107340467B (zh) * 2017-07-04 2020-02-07 北京兆芯电子科技有限公司 测试系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5377198A (en) * 1991-11-27 1994-12-27 Ncr Corporation (Nka At&T Global Information Solutions Company JTAG instruction error detection
US6418391B1 (en) * 1997-10-10 2002-07-09 Advantest Corporation Testing system for performing an operation of an application which controls testing equipment for testing a device under test and method for controlling the same
CN1661385A (zh) * 2004-02-26 2005-08-31 联想(北京)有限公司 一种jtag模块及应用该模块的调试方法
CN1737600A (zh) * 2004-08-20 2006-02-22 安捷伦科技有限公司 用于自动测试设置的装置和方法
CN101137969A (zh) * 2004-11-23 2008-03-05 爱特梅尔股份有限公司 主系统与并行数据处理系统之间的压缩数据传送接口
CN101382583A (zh) * 2008-10-30 2009-03-11 中国人民解放军国防科学技术大学 多核微处理器jtag调试方法
CN101470170A (zh) * 2007-12-27 2009-07-01 华为技术有限公司 Jtag链路测试方法及其装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5377198A (en) * 1991-11-27 1994-12-27 Ncr Corporation (Nka At&T Global Information Solutions Company JTAG instruction error detection
US6418391B1 (en) * 1997-10-10 2002-07-09 Advantest Corporation Testing system for performing an operation of an application which controls testing equipment for testing a device under test and method for controlling the same
CN1661385A (zh) * 2004-02-26 2005-08-31 联想(北京)有限公司 一种jtag模块及应用该模块的调试方法
CN1737600A (zh) * 2004-08-20 2006-02-22 安捷伦科技有限公司 用于自动测试设置的装置和方法
CN101137969A (zh) * 2004-11-23 2008-03-05 爱特梅尔股份有限公司 主系统与并行数据处理系统之间的压缩数据传送接口
CN101470170A (zh) * 2007-12-27 2009-07-01 华为技术有限公司 Jtag链路测试方法及其装置
CN101382583A (zh) * 2008-10-30 2009-03-11 中国人民解放军国防科学技术大学 多核微处理器jtag调试方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种基于JTAG的CSoC的在线调试器;韩桂丽;《中国优秀硕士学位论文全文数据库·信息科技辑》;20120415(第04期);正文第1-71页 *
基于IEEE1149.1标准的可重定向片上调试方法;金辉 等;《微电子学与计算机》;20071231;第24卷(第7期);第183-186页 *

Also Published As

Publication number Publication date
CN104237666A (zh) 2014-12-24

Similar Documents

Publication Publication Date Title
US6449755B1 (en) Instruction signature and primary input and primary output extraction within an IEEE 1149.1 compliance checker
US7058869B2 (en) Method and apparatus for debug, diagnosis, and yield improvement of scan-based integrated circuits
US6012155A (en) Method and system for performing automatic extraction and compliance checking of an IEEE 1149.1 standard design within a netlist
US20070220383A1 (en) Systems and methods for identifying errors in LBIST testing
US7353470B2 (en) Variable clocked scan test improvements
US6074426A (en) Method for automatically generating behavioral environment for model checking
Ghosh-Dastidar et al. Fault diagnosis in scan-based BIST using both time and space information
JPS6013269A (ja) ホーミング方法
CN105955887A (zh) 一种测试数据的生成方法及系统
JP3129761B2 (ja) Plaのテスト容易化回路
EP1188117B1 (en) Method of discriminating between different types of scan failures, a computer implemented circuit simulation and fault detection system
Milewski et al. Full-scan LBIST with capture-per-cycle hybrid test points
EP3756020A1 (en) Deterministic stellar built-in self-test
Balcarek et al. Techniques for SAT-based constrained test pattern generation
US6721914B2 (en) Diagnosis of combinational logic circuit failures
CN104237666B (zh) 联合测试行为组织串联链中器件的测试方法
Kundu et al. Fault diagnosis in designs with extreme low pin test data compressors
Lai et al. Logic BIST with scan chain segmentation
CN107665169A (zh) 处理器程序的测试方法和装置
Liu et al. Efficient coverage analysis metric for HDL design validation
Mrugalski et al. Highly X-tolerant selective compaction of test responses
Bakshi et al. LFSR seed computation and reduction using SMT-based fault-chaining
Smolov et al. Testing logic circuits at different abstraction levels: An experimental evaluation
Liu Design for test methods to reduce test set size
Gage Structured CBIST in ASICs

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PP01 Preservation of patent right
PP01 Preservation of patent right

Effective date of registration: 20180601

Granted publication date: 20170503

PD01 Discharge of preservation of patent
PD01 Discharge of preservation of patent

Date of cancellation: 20210601

Granted publication date: 20170503