专利名称:Jtag链路测试方法及其装置的制作方法
技术领域:
本发明涉及电子技术领域,特别涉及一种JTAG链路测试方法及其装置。
背景技术:
为了解决超大规模集成电路的测试问题,由联合测试行动组(JETAQ Joint Test Action Group)提出了边界扫描技术,它通过存在于器件输入输出管脚与内 核电路之间的边界扫描单元(BSC, Boundary Scan Description)对器件及其外围 电路进行测试,从而提高了器件的可控性和可观察性,解决了现代电子技术发 展带来的上述测试问题,可以较方便地完成由现代器件组装的电路板的测试。 通常这种测试被称为JTAG链路测试。
现有技术提供的JTAG链路测试, 一般都是基于单板的JTAG链路已经明 确,然后使用一组或多组和JTAG链路——对应的测试向量来进行测试。在 JTAG链路测试过程中,从BSC的输入端输入特定的测试向量,然后观察BSC 的输出端输出的测试结果,根据所述测试结果判断该JTAG链路是否正常。
因此,在进行本发明创造过程中,发明人发现现有技术中至少存在如下问 题现有技术提供的技术方案中,对于测试不同的JTAG链路,需要输入不同 的测试向量,因此现有技术提供的JTAG链路测试方法不具备通用性,使用起 来不方便。
发明内容
本发明实施例要解决的技术问题是提供一种JTAG链路测试方法及其装 置,能够避免测试不同的JTAG链路需要输入不同的测试向量。
为解决上述技术问题,本发明实施例的目的是通过以下技术方案实现的
本发明实施例提供一种JTAG链路测试方法,其包括
向JTAG链路置入一组全1指令码,所述全1的指令码的长度大于或等于 待测试器件的数量;
根据所述全1指令码,JTAG链路选择1位移位数据寄存器连接在JTAG 链路各个待测器件上,且所述移位数据寄存器捕获各个待测器件的状态;
5将包含特征码的测试向量通过JTAG链路置入所述移位数据寄存器中,所 述测试向量的长度大于待测试器件的数量;
移位数据寄存器输出的各个移位数据寄存器捕获的待测器件的状态和测 试向量中的特征码;
根据所述移位数据寄存器输出的待测器件的状态和特征码,判断JTAG链 路是否正常。
本发明实施例还提供一种JTAG链路测试装置,其包括
输入单元,用于向待测试的器件置入一组全1指令码,所述全1的指令码 的长度大于或等于待测试的器件的数量,以及置入包含特征码的测试向量,所 述测试向量的长度大于待测试器件的数量;
指令寄存器,用于根据所述输入单元置入的全1指令码,选择1位的移位 数据寄存器连接在各个待测器件上;
移位数据寄存器,用于根据输入单元置入的测试向量,输出各个移位数据 寄存器捕获的待测器件的状态和测试向量中的特征码;
判断单元,用于根据移位数据寄存器输出的待测器件的状态和特征码,判 断JTAG链路是否正常。
本发明实施例还提供一种通信设备,包括JTAG链路测试装置,用于测试 由待测器件组成的JTAG链路,包括
输入单元,用于置入一组全1指令码,所述全1的指令码的长度大于或等 于待测试的器件的数量,以及置入包含特征码的测试向量,所述测试向量的长 度大于待测试器件的数量;
指令寄存器,用于根据所述输入单元置入的全1指令码,选择1位的移位 数据寄存器连接在各个待测器件上;
移位数据寄存器,用于根据输入单元置入的测试向量,输出各个移位数据 寄存器捕获的待测器件的状态和测试向量中的特征码;
判断单元,用于根据移位数据寄存器输出的待测器件的状态和特征码,判 断JTAG链路是否正常。
通过本发明实施例提供的JTAG链路测试方法及其装置,通过移位数据寄存器捕获各个待测器件的状态,当移位数据寄存器输入含特征码的测试向量 时,输出待测器件的状态和测试向量中的特征码,因此根据输出的待测器件的
状态和特征码,能够判断JTAG链路是否正常,对于不同的JTAG链路可以输 入相同的测试向量,能够简单、方便的实现对JTAG链路的测试。
图1为本发明JTAG链路测试方法一个实施例的流程图; 图2为本发明JTAG链路测试装置一个实施例的结构图。
具体实施例方式
本发明实施例提供一种JTAG链路测试方法及其装置。为使本发明的技术 方案更加清楚明白,以下参照附图并列举实施例,对本发明进一步详细说明。请参照图1,为本发明JTAG链路测试方法的第一实施例的流程图。本实 施例中,假设连接在JTAG链路上的待测试的器件有三个。
JTAG链路测试的具体过程包括
步骤101:向JTAG链路置入一组全1指令码,所述全l的指令码的长度 大于或等于待测试的器件的数量;
待测试的器件通过JTAG接口串接在一起,形成JTAG链路。其中,每个 待测试的器件都连接在对应的JTAG接口上,每个JTAG接口均包括四个输入 接口和一个输出接口。其中,四个输入接口分别为测试数据输入(TDI, Test Date Input)、测试时钟输入(TCK, Test Clock I叩ut)、测试模式选择(TMS, Test Mode Selection Input)、测试复位(TRST, Test Reset Input),输出接口为测试数据 输出(TDO, Test Date Output)。数据通过TDI引脚输入JTAG接口 ;数据通过 TDO引脚从JTAG接口输出;TMS用来设置JTAG接口处于某种特定的测试 模式;TRST用于测试复位,低电平有效。
因此,向JTAG链路中的TDI引脚输入一组全1的指令码。对所有器件而 言,全1指令码为BYPASS指令。所述全1的指令码需要包含足够多的比特 位,能够保证JTAG链路上的待测器件之间的指令寄存器均能移入1个比特位 的指令,因此所述全1的指令码的长度要大于或等于待测试的器件的数量。
步骤102:根据所述全1指令码,选择连接在JTAG链路中的每个JTAG接口的TDI和TDO之间的1位的移位数据寄存器,且所述选择的移位数据寄 存器捕获各个待测器件的状态;
待测试器件的输入输出管脚之间连接有边界扫描寄存器单元,通常,边界 扫描寄存器单元包括数据寄存器和指令寄存器。指令寄存器用来实现对数据寄 存器的控制,数据寄存器用来实现对芯片的输入输出的观察和控制。对于待测 试器件的输入管脚,可以通过与之相连的数据寄存器把数据加载到该输入管脚 中;对于待测试器件的输出管脚,也可以通过与之相连的数据寄存器捕获 (Capture)该输出管脚上的输出信号。
本实施例中,通过BYPASS指令可以选择具有1比特位的移位数据寄存 器,因此通过向JTAG链路置入一组足够长的全1指令码,相当于选择1位的 移位数据寄存器,连接在JTAG链路中的每个JTAG接口的TDI和TDO之间。 所述1位的移位数据寄存器在数据移位过程中捕获的状态是O比特。
步骤103:通过JTAG链路向所述移位数据寄存器置入包含特征码的测试 向量,所述测试向量的长度大于待测试器件的数量;
所述特征码可以为包含任意非全0的一个或多个比特。如果特征码所包含 的比特数大于待测试的器件数量,所述测试向量可以只包含特征码,也可以包 含其他比特;如果特征码的所包含的比特数小于待测试的器件数量,可以在测 试向量中添加其他比特直到测试向量的长度大于待测试器件的数量。所述测试 向量以右移方式排列。例如本实施例中,待测试的器件有三个,假设特征码是 0101,则输入JTAG链路的测试向量可以为...1110101、 ...0000101等等。
所述测试向量是在TCK的驱动下,通过TDI接口 一位一位串行输入JTAG 链路中的,也就是说每个TCK的时钟周期,均向TDI接口输入一位测试向量 中的比特。由于每个JTAG接口的TDI和TDO之间连接了 1个1位的移位数 据寄存器,因此所述测试向量在TCK的控制下,最终将会通过TDI接口输入 到所述移位凄t据寄存器中,而所述移位lt据寄存器所捕获的待测试器件的状态 以及特征码也会被TDO接口 一位一位串行输出。
步骤104:移位数据寄存器输出测试结果,所述测试结果包括各个移位凝: 据寄存器捕获的待测器件的状态和测试向量中的特征码;下面举例具体描述JTAG链路测试向量输入和测试数据输出的过程 本实施例中,有三个待测试的器件连接在JTAG链路上,假设置入JTAG
链路的测试向量为...1110101,其中0101为特征码。
在全1的指令输入JTAG链路后,移位寄存器从各待测试器件捕获的状态
均为0。
当TCK第一个时钟周期的触发沿到来时,测试向量的第一个比特1通过 TDI接口输入第一个待测试器件对应的移位数据寄存器中,同时,第三个待测 试器件对应的移位数据寄存器中的0从TDO接口输出JTAG链路,因此TCK 第一个时钟周期里,从JTAG链路输出的比特为0;
当TCK第二个时钟周期的触发沿到来时,测试向量的第二个比特O通过 TDI接口输入第一个待测试器件对应的移位数据寄存器中,同时,第一个待测 试器件中原先存储的1被移位到第二个待测试器件对应的移位数据寄存器中, 第二个待测试器件中原先存储的0被移位到第二个待测试器件对应的移位数 据寄存器中,第三个待测试器件对应的移位数据寄存器中的O从TDO接口输 出JTAG链路,因此TCK第二个时钟周期里,从JTAG链路输出的比特为0;
当TCK第三个时钟周期的触发沿到来时,测试向量的第三个比特1通过 TDI接口输入第一个待测试器件对应的移位数据寄存器中,同时,第一个待测 试器件中原先存储的0被移位到第二个待测试器件对应的移位数据寄存器中, 第二个待测试器件中原先存储的1被移位到第三个待测试器件对应的移位数 据寄存器中,第三个待测试器件对应的移位数据寄存器中的O从TDO接口输 出JTAG链路,因此TCK第三个时钟周期里,从JTAG链路输出的比特为0;
当TCK第四个时钟周期的触发沿到来时,测试向量的第四个比特O通过 TDI接口输入第一个待测试器件对应的移位数据寄存器中,同时,第一个待测 试器件中原先存储的1被移位到第二个待测试器件对应的移位数据寄存器中, 第二个待测试器件中原先存储的0被移位到第三个待测试器件对应的移位数 据寄存器中,第三个待测试器件对应的移位数据寄存器中的l从TDO接口输 出JTAG链路,因此TCK第三个时钟周期里,从JTAG链路输出的比特为1;
以此类推,经过7个TCK周期后,从JTAG链路输出的比特依次为0101000。
步骤105:根据所述移位数据寄存器输出的待测器件的状态和特征码,判 断JTAG链路是否正常。
例如,输出的测试结果中包含完整的特征码,且偏移了3个0,链路上待 测时器件数目为3个,因此可以判断待测试器件均正常。
请参照图2,为本发明JTAG链路测试装置一个实施例的结构图。所述 JTAG链路测试装置包括输入单元21、指令寄存器22、移位数据寄存器23, 测试时钟输入单元24、判断单元25。
所述输入单元21,用于向待测试的器件置入一组全1指令码,所述全1 的指令码的长度大于或等于待测试的器件的数量,以及置入包含特征码的测试
向量,所述测试向量的长度大于待测试器件的数量。
所述特征码可以为包含任意非全0的一个或多个比特。如果特征码所包含 的比特数大于待测试的器件数量,所述测试向量可以只包含特征码,也可以包 含其他比特;如果特征码的所包含的比特数小于待测试的器件数量,可以在测 试向量中添加其他比特直到测试向量的长度大于待测试器件的数量。
所述选择单元22,用于根据所述接收单元21接收的全1指令码,选择l 位的移位数据寄存器连接在各个待测器件上。
对所有器件而言,全1指令码为BYPASS指令。通过BYPASS指令可以 选择具有1比特位的移位数据寄存器,因此通过向JTAG测试装置置入一组足 够长的全1指令码,相当于选择1位的移位数据寄存器,连接在JTAG测试装 置上。
所述移位数据寄存器23,用于根据输入单元置入的测试向量,输出各个 移位数据寄存器捕获的待测器件的状态和测试向量中的特征码。
所述测试时钟单元24,用于产生测试时钟;所述输入单元21具体为第一 输入单元,用于置入一组全1指令码,所述全1的指令码的长度大于或等于待 测试的器件的数量,以及置入包含特征码的测试向量,所述测试向量的长度大 于待测试器件的数量,并按照所述测试时钟,向所述移位数据寄存器23依次 输入所述测试向量中的比特,所述移位数据寄存器23具体为第一移位数据寄存器,用于按照所述测试时钟,将待测器件的状态以及特征码作为测试结果依 次输出。
在全1的指令输入JTAG链路后,移位寄存器从各待测试器件捕获的状态 均为0。
所述判断单元25,用于根据移位数据寄存器输出的待测器件的状态和特 征码,判断JTAG链路是否正常。
另外,本发明实施例还提供一种通信设备,包括JTAG链路测试装置,用 于测试由待测器件组成的JTAG链路。
所述JTAG链路测试装置包括
输入单元,用于置入一组全1指令码,所述全1的指令码的长度大于或等 于待测试的器件的数量,以及置入包含特征码的测试向量,所述测试向量的长 度大于待测试器件的数量;
指令寄存器,用于根据所述输入单元置入的全1指令码,选择1位的移位 数据寄存器连接在各个待测器件上;
移位数据寄存器,用于捕获各个移位数据寄存器待测器件的状态和测试向 量中的特征码;
判断单元,用于根据移位数据寄存器捕获的待测器件的状态和特征码,判 断JTAG链路是否正常。
所述JTAG链路测试装置还可以进一步包括 测试时钟单元,用于产生测试时钟;
所述输入单元具体为第一接收单元,用于置入一组全l指令码,所述全l 的指令码的长度大于或等于待测试的器件的数量,以及置入包含特征码的测试
向量,所述测试向量的长度大于待测试器件的数量,并按照所述测试时钟单元 产生的测试时钟,向所述移位数据寄存器依次输入所述测试向量中的比特,
所述移位数据寄存器具体为第一移位数据寄存器,进一步用于按照所述测 试时钟,依次输出待测器件的状态以及特征码。
通过本发明实施例提供的JTAG链路测试方法及其装置,通过移位数据寄 存器捕获各个待测器件的状态,当移位数据寄存器输入含特征码的测试向量时,输出待测器件的状态和测试向量中的特征码,因此根据输出的待测器件的
状态和特征码,能够判断JTAG链路是否正常,对于不同的JTAG链路可以输 入相同的测试向量,能够简单、方便的实现对JTAG链路的测试。
以上对本发明所提供的一种JTAG链路测试方法及其装置进行了详细介
例的说明只是用于帮助理解本发明所揭示的技术方案;同时,对于本领域的一 般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之 处,综上所述,本说明书内容不应理解为对本发明的限制。
1权利要求
1. 一种联合测试行动组JTAG链路测试方法,用于测试由待测器件组成的JTAG链路,其特征在于,包括向JTAG链路置入一组全1指令码,所述全1的指令码的长度大于或等于待测试器件的数量;根据所述全1指令码,JTAG链路选择1位移位数据寄存器连接在JTAG链路各个待测器件上,且所述移位数据寄存器捕获各个待测器件的状态;将包含特征码的测试向量通过JTAG链路置入所述移位数据寄存器中,所述测试向量的长度大于待测试器件的数量;移位数据寄存器输出的各个移位数据寄存器捕获的待测器件的状态和测试向量中的特征码;根据所述移位数据寄存器输出的待测器件的状态和特征码,判断JTAG链路是否正常。
2. 根据权利要求1所述的JTAG链路测试方法,其特征在于,所述将包含 特征码的测试向量置入所述移位数据寄存器中具体方式为按照测试时钟,向各个移位数据寄存器依次输入所述测试向量中的比特。
3. 根据权利要求2所述的JTAG链路测试方法,其特征在于,所述移位数 据寄存器依次输出各个移位数据寄存器捕获的待测器件的状态和测试向量中 的特征码具体方式为按照测试时钟,依次输出所述移位数据寄存器中捕获的待测器件的状态和 测试向量中的特征码。
4. 根据权利要求1所述的JTAG链路测试方法,其特征在于,所述特征码 为包含任意非全0的一个或多个比特。
5. —种联合测试行动组JTAG链路测试装置,用于测试由待测器件组成的 JTAG链路,其特征在于,包括输入单元,用于向待测试的器件置入一组全1指令码,所述全1的指令码 的长度大于或等于待测试的器件的数量,以及置入包含特征码的测试向量,所 述测试向量的长度大于待测试器件的数量;指令寄存器,用于根据所述输入单元置入的全1指令码,选择1位的移位数据寄存器连接在各个待测器件上;移位数据寄存器,用于根据输入单元置入的测试向量,输出各个移位数据寄存器捕获的待测器件的状态和测试向量中的特征码;判断单元,用于根据移位数据寄存器输出的待测器件的状态和特征码,判 断JTAG链路是否正常。
6. 根据权利要求5所述的JTAG链路测试装置,其特征在于,还包括 测试时钟单元,用于产生测试时钟;所述输入单元具体为第一接收单元,用于置入一组全l指令码,所述全l 的指令码的长度大于或等于待测试的器件的数量,以及置入包含特征码的测试向量,所述测试向量的长度大于待测试器件的数量,并按照所述测试时钟单元 产生的测试时钟,向所述移位数据寄存器依次输入所述测试向量中的比特,所述移位数据寄存器具体为第一移位数据寄存器,用于按照所述测试时 钟,依次输出待测器件的状态以及特征码。
7. —种通信设备,包括JTAG链路测试装置,用于测试由待测器件组成的 JTAG链路,其特征在于,包括输入单元,用于向待测试的器件置入一组全1指令码,所述全1的指令码 的长度大于或等于待测试的器件的数量,以及置入包含特征码的测试向量,所 述测试向量的长度大于待测试器件的数量;指令寄存器,用于根据所述输入单元置入的全l指令码,选择l位的移位 数据寄存器连接在各个待测器件上;移位数据寄存器,用于根据输入单元置入的测试向量,输出各个移位数据 寄存器捕获的待测器件的状态和测试向量中的特征码;判断单元,用于根据移位数据寄存器输出的待测器件的状态和特征码,判 断JTAG链路是否正常。
8. 根据权利要求7所述的通信设备,其特征在于,所述JTAG链路测试装 置还包括测试时钟单元,用于产生测试时钟;所述输入单元具体为第一接收单元,用于置入一组全l指令码,所述全l的指令码的长度大于或等于待测试的器件的数量,以及置入包含特征码的测试 向量,所述测试向量的长度大于待测试器件的数量,并按照所述测试时钟单元 产生的测试时钟,向所述移位数据寄存器依次输入所述测试向量中的比特,所述移位数据寄存器具体为第一移位数据寄存器,用于按照所述测试时 钟,依次输出待测器件的状态以及特征码。
全文摘要
本发明提供一种JTAG链路测试方法及其装置。所述JTAG链路测试方法包括向JTAG链路置入一组全1指令码;根据所述全1指令码,选择1位移位数据寄存器连接在各个待测器件上,且所述移位数据寄存器捕获各个待测器件的状态;将包含特征码的测试向量通过JTAG链路置入所述移位数据寄存器中;移位数据寄存器输出的各个移位数据寄存器捕获的待测器件的状态和测试向量中的特征码;根据所述移位数据寄存器输出的待测器件的状态和特征码,判断JTAG链路是否正常。通过本发明实施例提供的技术方案,能够简单、方便的实现对JTAG链路的测试。
文档编号G01R31/3185GK101470170SQ20081009759
公开日2009年7月1日 申请日期2008年5月15日 优先权日2007年12月27日
发明者曹锦业 申请人:华为技术有限公司