CN104502645A - 一种jtag信号发生方法和发生器 - Google Patents

一种jtag信号发生方法和发生器 Download PDF

Info

Publication number
CN104502645A
CN104502645A CN201510038905.2A CN201510038905A CN104502645A CN 104502645 A CN104502645 A CN 104502645A CN 201510038905 A CN201510038905 A CN 201510038905A CN 104502645 A CN104502645 A CN 104502645A
Authority
CN
China
Prior art keywords
signal
jtag
data
state
tms
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.)
Pending
Application number
CN201510038905.2A
Other languages
English (en)
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.)
Inspur Beijing Electronic Information Industry Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry 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 Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN201510038905.2A priority Critical patent/CN104502645A/zh
Publication of CN104502645A publication Critical patent/CN104502645A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Tests Of Electronic Circuits (AREA)

Abstract

本发明提供一种JTAG信号发生方法和发生器,所述方法包括:接收Host指令,并根据所述Host指令,解析得到对应的时钟信息、命令寄存器IR指令信息、以及数据寄存器DR数据信息;根据所述时钟信息、IR指令信息、以及DR数据信息,生成对应的JTAG驱动信号。本发明中,只需要按照固定的HOST格式输入IR指令信息、以及DR数据信息,就能获得时序正确的TDI、TMS等驱动信号。避免了手动产生JTAG驱动信号输入到测试环境时,由于TCK、TMS、TDI较复杂造成的时序上容易出错或者输入的指令、数据容易出现位丢失等情况,从而减轻了JTAG测试过程的工作量,并提高了测试工作的效率。

Description

一种JTAG信号发生方法和发生器
技术领域
本发明涉及芯片设计领域,特别涉及一种JTAG信号发生方法和发生器。
背景技术
JTAG(Joint Test Action Group,联合测试工作组)接口作为IEEE的一种接口标准,在集成电路的测试、仿真、调试等方面发挥着重要作用。现有的多数高级器件都支持JTAG协议,如DSP、FPGA(FPGA Field ProgrammableGate Array,现场可编程门阵列)等器件。通过在芯片中内置JTAG接口电路,可以实现对芯片的边界扫描测试。JTAG接口电路中包括TAP控制器、指令寄存器、以及数据寄存器。
TAP(测试端口,test access port)控制器是边界扫描测试的核心控制器。根据IEEE 1149.1标准,TAP控制器有5个驱动信号,分别为测试时钟输入信号TCK、测试模式选择信号TMS、测试数据输入信号TDI、测试数据输出端口TDO、以及测试复位输入信号TRST;其中,前面四个信号是IEEE 1149.1标准里是强制要求的,TRST在IEEE 1149.1标准里是可选的。
在这5个JTAG驱动信号中,TCK为TAP控制器的操作提供了一个独立的、基本的时钟信号,TAP控制器的所有操作都是通过这个时钟信号来驱动的;TMS信号用来控制TAP状态机的转换。通过TMS信号,可以控制TAP控制器在不同的状态间相互转换,TMS信号在TCK的上升沿有效;TDI是数据输入的接口。所有要输入到特定寄存器的数据都是通过TDI接口一位一位串行输入的(由TCK驱动),特定寄存器指指令寄存器或数据寄存器;TDO是数据输出的接口。所有要从特定的寄存器中输出的数据都是通过TDO接口一位一位串行输出的(由TCK驱动);TRST可以用来对TAP控制器进行复位(初始化),另外,通过TMS也可以对TAP进行复位(初始化)。
JTAG接口电路的内部逻辑通过一个TAP状态机来实现,请参阅图1,为IEEE1149.1标准规定的TAP状态机的状态转移示意图。在图1所示的TAP控制器的状态机的转移示意图中,TAP控制器的状态机只有6个状态是稳定状态,包括:测试逻辑复位(test-logic-reset)、测试/等待(run-test/idle)、数据寄存器移位(shift-DR)、数据寄存器移位暂停(pause-DR)、指令寄存器移位(shift-IR)、指令寄存器移位暂停(pause-IR),其它状态都不是稳态,而只是暂态。如图1所示,TAP状态机包含两个分支,分别是命令寄存器(IR)接入分支和数据寄存器(DR)接入分支。并且该TAP状态机的状态转移由JTAG接口电路中的测试模式选择信号(TMS)来控制。
根据IEEE1149.1标准的规定,在TAP状态机的状态处于IR接入分支时,命令通过TDI端口在“Shift-IR”状态下逐位移到指令寄存器中,指令寄存器用于选择当TAP状态机处于DR接入分支时,由指令寄存器所选择的数据寄存器被连接在TDI和TDO之间,并在“Shift-DR”状态下,将数据通过TDI移位进入由指令寄存器所选择的数据寄存器中。
在设计含有JTAG接口的芯片时,需要验证芯片内部的JTAG功能模块设计是否正确,进行软件仿真的时候,需要手动产生JTAG驱动信号输入到测试环境中。但因为JTAG驱动信号TCK、TMS、TDI较复杂,其中,对于不同的JTAG测试设计,IR长度和DR长度都不同,在测试的时候输入TDI信号时所需要的移位次数也不一样因此,造成了TMS和TDI信号的时序关系比较复杂,容易出错,因此,在手动产生JTAG驱动信号时,时序上容易出错,或者输入的指令、数据出现位丢失等情况,且针对不同的JTAG接口电路的设计,如果出现指令或者数据长度变化等情况需要重新设计驱动信号,增加了JTAG测试过程的工作量,导致JTAG测试过程较为复杂和繁琐,增加了手动输入驱动信号错误的情况。
发明内容
本发明提供一种JTAG信号发生方法和发生器,用于解决现有技术中在JTAG测试时由于手动产生JTAG驱动信号所导致的容易出错和增加JTAG测试工作量的问题。
为了解决上述技术问题,本发明提供了一种JTAG信号发生方法,所述JTAG信号发生方法包括:
接收Host指令,并根据所述Host指令,解析得到对应的时钟信息、命令寄存器IR指令信息、以及数据寄存器DR数据信息;
根据所述时钟信息、IR指令信息、以及DR数据信息,生成对应的JTAG驱动信号。
优选地,在所述接收Host指令,并根据所述Host指令,解析得到对应的时钟信息、IR指令信息、以及DR数据信息之前还包括:根据目标芯片的测试内容确定对应的时钟信息、IR指令信息、以及DR数据信息,并根据所述时钟信息、IR指令信息、以及DR数据信息来配置所述Host指令。
优选地,所述JTAG驱动信号包括测试时钟输入信号TCK信号;
所述根据所述时钟信息、IR指令信息、以及DR数据信息,生成对应的JTAG驱动信号包括:
根据所述时钟信息,生成TCK信号;其中,根据时钟信息中携带的时钟分频值,对基础时钟进行分频,从而得到所述TCK信号,并将所述TCK信号提供给目标芯片的JTAG接口。
优选地,所述IR指令信息包括IR指令长度和IR指令内容、所述DR数据信息包括DR数据长度和DR数据内容;
所述根据所述Host指令,解析得到对应的时钟信息、IR指令信息、以及DR数据信息包括:
根据所述Host指令,解析得到对应的IR指令长度、IR指令内容、DR数据长度、或DR数据内容;
对解析得到的IR指令长度、IR指令内容、DR数据长度、或DR数据内容进行暂存。
优选地,所述JTAG驱动信号还包括测试数据输入信号TDI信号;所述根据所述时钟信息、IR指令信息、以及DR数据信息,生成对应的JTAG驱动信号包括:
根据IR指令长度,确定测试端口TAP状态机处于“Shift-IR”状态的时长、并在TAP状态机处于“Shift-IR”状态时,将所述IR指令内容作为所述TDI信号提供给目标芯片的JTAG接口;
根据DR数据长度,确定TAP状态机处于“Shift-DR”状态的时长、并在TAP状态机处于“Shift-DR”状态时,将所述DR数据内容作为所述TDI信号提供给目标芯片的JTAG接口。
优选地,所述JTAG驱动信号还包括测试模式选择信号TMS信号;
所述根据所述时钟信息、IR指令信息、以及DR数据信息,生成对应的JTAG驱动信号包括:
根据所述时钟信息、IR指令信息、以及DR数据信息,确定TAP状态机转移时序,并确定实现所述转移时序所需的控制信号,将所述所需的控制信号作为所述TMS信号提供给目标芯片的JTAG接口。
优选地,所述根据所述时钟信息、IR指令信息、以及DR数据信息,确定TAP状态机转移时序,并确定实现所述转移时序所需的控制信号,将所述所需的控制信号作为所述TMS信号提供给目标芯片的JTAG接口包括:
根据需要输出的IR指令信息,输出将TAP控制器转移进入Shift-IR状态的TMS信号,然后,根据IR指令长度,输出使得TAP控制器在IR指令长度指示的时钟周期内保持为Shift-IR状态的TMS信号,以及,输出使TAP控制器进入“Updata-IR”状态的TMS信号,最后,输出使得TAP控制器转移进入Run-Test/Idle状态的TMS信号;
根据需要输出的DR数据信息,输出将TAP控制器转移进入Shift-DR状态的TMS信号,然后,根据DR数据长度,输出使得TAP控制器在所述DR数据长度所指示的时钟周期内保持为Shift-DR状态的TMS信号,以及,输出使TAP控制器进入“Updata-DR”状态的TMS信号,最后,输出使得TAP控制器转移进入Run-Test/Idle状态的TMS信号。
为了解决上述技术问题,本发明还提供一种JTAG信号发生器,所述JTAG信号发生器包括:
Host指令解析单元,用于接收Host指令,并根据所述Host指令,解析得到对应的时钟信息、IR指令信息、以及DR数据信息;
信号发生单元、用于根据所述时钟信息、IR指令信息、以及DR数据信息,生成对应的JTAG驱动信号。
优选地,所述JTAG驱动信号包括TCK信号;所述信号发生单元包括时钟模块,
所述时钟模块用于生成TCK信号,所述时钟模块中设置有基础时钟,所述时钟模块根据时钟信息中携带的时钟分频值,对基础时钟进行分频,从而得到所述TCK信号,并将所述TCK信号提供给目标芯片的JTAG接口。
优选地,所述IR指令信息包括IR指令长度和IR指令内容、所述DR数据信息包括DR数据长度和DR数据内容;
所述Host指令解析单元还用于根据所述Host指令,解析得到对应的IR指令长度、IR指令内容、DR数据长度、或DR数据内容;
所述信号发生单元还包括IR指令长度寄存器、IR指令寄存器、DR数据长度寄存器、以及DR数据寄存器;
所述IR指令长度寄存器用于存储Host指令解析单元解析得到的IR指令长度;所述IR指令寄存器用于存储Host指令解析单元解析得到的IR指令内容;
所述DR数据长度寄存器用于存储Host指令解析单元解析得到的DR数据长度、所述DR数据寄存器用于存储Host指令解析单元解析得到的DR数据内容。
优选地,所述JTAG驱动信号还包括TDI信号;所述信号发生单元还用于:
根据IR指令长度,确定TAP状态机处于“Shift-IR”状态的时长、并在TAP状态机处于“Shift-IR”状态时,将所述IR指令内容作为所述TDI信号提供给目标芯片的JTAG接口;
根据DR数据长度,确定TAP状态机处于“Shift-DR”状态的时长、并在TAP状态机处于“Shift-DR”状态时,将所述DR数据内容作为所述TDI信号提供给目标芯片的JTAG接口。
优选地,所述JTAG驱动信号还包括TMS信号;所述信号发生单元还包括TMS模块,所述TMS模块用于:
根据所述时钟信息、IR指令信息、以及DR数据信息,确定TAP状态机转移时序,并确定实现所述转移时序所需的控制信号,将所述所需的控制信号作为所述TMS信号提供给目标芯片的JTAG接口。
优选地,所述TMS模块还用于:
根据需要输出的IR指令信息,输出将TAP控制器转移进入Shift-IR状态的TMS信号,然后,根据IR指令长度,输出使得TAP控制器在IR指令长度指示的时钟周期内保持为Shift-IR状态的TMS信号,以及,输出使TAP控制器进入“Updata-IR”状态的TMS信号,最后,输出使得TAP控制器转移进入Run-Test/Idle状态的TMS信号;
根据需要输出的DR数据信息,输出将TAP控制器转移进入Shift-DR状态的TMS信号,然后,根据DR数据长度,输出使得TAP控制器在所述DR数据长度所指示的时钟周期内保持为Shift-DR状态的TMS信号,以及,输出使TAP控制器进入“Updata-DR”状态的TMS信号,最后,输出使得TAP控制器转移进入Run-Test/Idle状态的TMS信号。
本发明的有益效果包括:
通过本发明提供JTAG信号发生方法,只需要根据目标芯片的JTAG测试的内容对Host指令进行配置,并将配置的Host指令提供给JTAG信号发生器,JTAG信号发生器会根据Host指令解析出对应的时钟信息、IR指令信息、并根据所述时钟信息、IR指令信息、以及DR数据信息,生成对应的JTAG驱动信号,对不同的JTAG接口电路的设计、其IR长度和DR长度都不同时,测试的时候输入TDI信号时所需要的移位次数也不一样,此时TMS信号和TDI信号的时序较为复杂,但使用本发明的JTAG信号发生器时,只需要按照固定的HOST格式输入IR指令信息、以及DR数据信息,就能获得时序正确的TDI、TMS等驱动信号。因此,通过上述方式产生的JTAG驱动信号,避免了手动产生JTAG驱动信号输入到测试环境时,由于TCK、TMS、TDI较复杂造成的时序上容易出错或者输入的指令、数据容易出现位丢失等情况,并且,在指令或者数据长度出现变化的情况下,不需要重新设计驱动信号,只需要重新配置Host指令就可以了,改善了手动输入驱动信号时出现错误的情况,从而减轻了JTAG测试过程的工作量,并提高了测试工作的效率。
附图说明
图1为IEEE1149.1标准规定的TAP状态机的状态转移示意图;
图2为本发明实施例提供的一种JTAG信号发生方法的流程示意图;
图3为本发明实施例提供的示例性的TCK、TDI、TMS时序图;
图4为本发明实施例提供的一种JTAG信号发生器的结构示意图。
具体实施方式
为使本领域的技术人员更好地理解本发明的技术方案,下面结合附图对本发明实施例提供的一种JTAG信号发生方法和发生器进行详细描述。
请参阅图2,为本发明实施例提供的一种JTAG信号发生方法的流程示意图,如图2所示,本发明实施例提供的JTAG信号发生方法包括:
步骤S101、接收Host指令,并根据所述Host指令,解析得到对应的时钟信息、IR指令信息、以及DR数据信息;
步骤S102、根据所述时钟信息、IR指令信息、以及DR数据信息,生成对应的JTAG驱动信号。
本发明实施例中,Host指令为本发明实施例提供的一种指令,其格式为Mode+Data,其中,Mode为模式指示部分,Data为数据部分,本实施例中,将Host指令设置为64位数据,其中,前4位为Mode部分,后60位为Data部分,即HOST[63:60]为Mode[3:0],HOST[59:0]为Date[59:0],具体地,
当Mode[3:0]=4’hE时,Date[59:0]表示时钟分频值;
当Mode[3:0]=4’hB时,Date[59:0]表示IR指令长度;
当Mode[3:0]=4’hC时,Date[59:0]表示IR指令内容;
当Mode[3:0]=4’hD时,Date[59:0]表示DR数据长度;
当Mode[3:0]=4’hi时,Date[59:0]表示DR数据内容的第i部分;其中,i为1至A的整数(十六进制下)。其中,4’h表示其后的数据为十六进制下的数据。例如,当Mode[3:0]=4’h1时,Date[59:0]表示DR数据内容的第一部分;当Mode[3:0]=4’h2时,Date[59:0]表示DR数据内容的第二部分;当Mode[3:0]=4’hA时,Date[59:0]表示DR数据内容的第十部分。
本发明实施例中,Host指令设置为64位数据,根据需要,Host指令也可以设置为其他位数,此外,Host指令也可以设置为其他的格式,只要能够识别其中携带的信息即可。
请参阅表1,为示例性的JTAG测试中的Host指令的配置,其中,各个Host指令分别携带了时钟信息、IR指令信息、以及DR数据信息。例如,其中,Host指令“64’hE000000000000004”表示时钟分频值为4。
表1本发明实施例提供的示例性的Host指令的配置
其中,16进制AA转换为二进制为10101010,16进制B4表示10进制的180。
本发明实施例中,可以通过JTAG信号发生器执行上述JTAG信号发生方法。在进行目标芯片的JTAG测试之前,根据目标芯片的测试内容确定对应的时钟信息、IR指令信息、以及DR数据信息,并根据上述时钟信息、IR指令信息、以及DR数据信息来配置Host指令。
根据上述设置,在JTAG信号发生器收到Host指令时,根据Host指令中的Mode部分,便可以获取对应的Date部分的内容。根据所述Host指令,解析得到对应的时钟信息、IR指令信息、以及DR数据信息具体为:根据Host指令中的Mode部分,判断对应的Date部分的内容是属于时钟信息、IR指令信息、以及DR数据信息中的哪一种,从而解析得到对应的时钟信息、IR指令信息、以及DR数据信息。
本发明实施例中,上述JTAG驱动信号包括:TCK信号、TMS信号、以及TDI信号,目标芯片的JTAG接口包括TCK接口、TMS接口、以及TDI接口,其中,TCK信号提供给TCK接口,TMS信号提供给TMS接口,TDI信号提供给TDI接口。
下面对上述三种JTAG驱动信号的产生分别进行说明。
本发明实施例中,所述JTAG驱动信号包括TCK信号;所述根据所述时钟信息、IR指令信息、以及DR数据信息,生成对应的JTAG驱动信号包括:
根据所述时钟信息,生成TCK信号;其中,根据时钟信息中携带的时钟分频值,对基础时钟进行分频,从而得到所述TCK信号,并将所述TCK信号提供给目标芯片的JTAG接口。
本发明实施例中,所述JTAG驱动信号还包括TDI信号;所述IR指令信息包括IR指令长度和IR指令内容、所述DR数据信息包括DR数据长度和DR数据内容;
所述根据所述Host指令,解析得到对应的时钟信息、IR指令信息、以及DR数据信息包括:
根据所述Host指令,解析得到对应的IR指令长度、IR指令内容、DR数据长度、或DR数据内容;
对解析得到的IR指令长度、IR指令内容、DR数据长度、或DR数据内容进行存储。
本发明实施例中,所述根据所述时钟信息、IR指令信息、以及DR数据信息,生成对应的JTAG驱动信号包括:
根据IR指令长度,确定TAP状态机处于“Shift-IR”状态的时长、并在TAP状态机处于“Shift-IR”状态时,将所述IR指令内容作为所述TDI信号提供给目标芯片的JTAG接口;
根据DR数据长度,确定TAP状态机处于“Shift-DR”状态的时长、并在TAP状态机处于“Shift-DR”状态时,将所述DR数据内容作为所述TDI信号提供给目标芯片的JTAG接口。
上述示例中,根据Host指令中携带的IR指令长度和DR数据长度,将对应的IR指令内容、或DR数据内容分别通过TDI接口提供给目标芯片。
本发明实施例中,所述JTAG驱动信号还包括TMS信号;
所述根据所述时钟信息、IR指令信息、以及DR数据信息,生成对应的JTAG驱动信号包括:根据所述时钟信息、IR指令信息、以及DR数据信息,确定TAP状态机转移时序,并确定实现所述转移时序所需的控制信号,将所述所需的控制信号作为所述TMS信号提供给目标芯片的JTAG接口。
具体地,JTAG驱动信号发生器根据需要输出至目标芯片中的TDI信号,以及根据TAP状态机,确定TAP状态机转移时序,并确定实现所述转移时序所需的控制信号,从而将控制信号作为对应的TMS信号提供给目标芯片。其中,通过获取的TMS信号,可以控制目标芯片的TAP控制器处于对应的状态,从而将使得TAP控制器的TDI接口接收JTAG驱动信号发生器所发送的对应的IR指令或者DR数据,并将接收的IR指令或者DR数据传输至对应的指令寄存器或者数据寄存器中。
在目标芯片中,JTAG接口电路包括TAP控制器、指令寄存器、以及数据寄存器。TAP控制器中的TDI接口是数据输入的接口,所有输入到特定寄存器的数据都是通过TDI接口一位一位串行输入的,当TAP控制器处于不同的状态时,TDI接口输入的数据将分别传送至不同的寄存器,具体地,当TAP状态机处于“Shift-IR”状态时,TDI接口输入的数据将传送至指令寄存器,当TAP状态机处于“Shift-DR”状态时,TDI接口输入的数据将传送至数据寄存器,因此,为了根据Host指令中携带的IR指令长度和DR数据长度,将对应的IR指令内容通过TDI接口提供给指令寄存器、以及将DR数据内容通过TDI接口提供给数据寄存器,需要通过TMS信号使得TAP控制器处于对应的状态,也就是说,在需要传输IR指令内容时,需要通过TMS信号使得TAP控制器处于“Shift-IR”状态,在需要传输DR数据内容时,需要通过TMS信号使得TAP控制器处于“Shift-DR”状态。
具体地,根据需要输出的IR指令信息,输出将TAP控制器转移进入Shift-IR状态的TMS信号,然后,根据IR指令长度,输出使得TAP控制器在IR指令长度指示的时钟周期内保持为Shift-IR状态的TMS信号,以及,输出使TAP控制器进入“Updata-IR”状态的TMS信号,最后,输出使得TAP控制器转移进入Run-Test/Idle状态的TMS信号。根据需要输出的DR数据信息,输出将TAP控制器转移进入Shift-DR状态的TMS信号,然后,根据DR数据长度,输出使得TAP控制器在所述DR数据长度所指示的时钟周期内保持为Shift-DR状态的TMS信号,以及,输出使TAP控制器进入“Updata-DR”状态的TMS信号,最后,输出使得TAP控制器转移进入Run-Test/Idle状态的TMS信号。
示例性地,以TAP控制机当前状态为Run-Test/Idle状态为例进行说明,所述将TAP控制器转移进入Shift-IR状态的TMS信号为1100,在IR指令长度指示的时钟周期内保持为Shift-IR状态的TMS信号为在所述时钟周期内保持为0,所述输出使TAP控制器进入“Updata-IR”状态的TMS信号为11或1011,所述使得TAP控制器转移进入Run-Test/Idle状态的TMS信号为0。
所述将TAP控制器转移进入Shift-DR状态的TMS信号的为100(默认TAP当前状态为“Run-Test/Idle”状态),所述在所述DR数据长度所指示的时钟周期内保持为Shift-DR状态的TMS信号为在所述时钟周期内保持为0,所述使TAP控制器进入“Updata-DR”状态的TMS信号为11或1011,所述使得TAP控制器转移进入Run-Test/Idle状态的TMS信号为0。
上述TMS信号为示例性说明,可以理解,根据数据传输的需要,TMS信号也可以采用其他的设置,例如,在IR指令传输完毕之后,TAP控制器进入“Updata-IR”状态,TMS信号继续输出为100,使得TAP控制器从“Updata-IR”状态移进入Shift-DR状态。
上述TMS信号示例均为2进制,一位信号值对应一个时钟周期。
下面结合TAP状态机和上述示例性的Host指令对产生对应的TMS信号进行示例性说明。通过TMS信号,可以使得TAP控制器的状态转移至所需的状态。例如,在目标芯片上电或正常运行时,TMS在持续5个TCK保持为高电平,则TAP控制器进入test-logic-reset状态。因此,在上述示例中,如果TAP控制器当前状态不是Run-Test/Idle状态,那么将TAP控制器转移进入Shift-IR状态的TMS信号需要相应的修改。例如,在test-logic-reset状态下,如果需要使得TAP控制器进入SHIFT-IR状态,需要在连续5个TCK(上升沿)内,使TMS=01100,则TAP控制器进入Shift-IR状态。在test-logic-reset状态下,如果在连续5个TCK(上升沿),使TMS=01000,则TAP控制器进入Shift-DR状态。本发明实施例中,在状态机处于“Shift-IR”状态时,IR指令内容开始从TDI接口输出,且处于“Shift-IR”状态时的时钟周期数由IR指令长度来决定;在状态机处于“Shift-DR”状态时,DR数据内容开始从TDI接口输出,且处于“Shift-DR”状态时的时钟周期数由DR指令长度来决定。
下面的示例中,结合表1所示的Host指令为例进行说明。假设时钟模块的参考时钟为200MHz,当根据Host指令解析得到的时钟分频值为4时,则输出的TCK时钟为50MHz。TMS在四个TCK周期内的输出信号为1100,使TAP状态机进入“Shift-IR”状态,因为IR指令长度为8,此时需要TMS保持7个周期为0,使得IR指令作为TDI信号串行发出。IR指令发送完成之后,需要TMS信号输出为11,使TAP状态机进入“Updata-IR”更新TAP控制器内部的指令寄存器,之后TMS信号为0,使状态机进入“Run-Test/Idle”状态。本示例中,TCK、TDI、TMS时序图如图3所示。
基于上述相同或类似的过程,在输出180位DR数据到TAP时,TMS信号与输出IR指令时类似,首先TMS信号输出为100,使TAP状态机进入“Shift-DR”,此时TMS信号保持179个周期为0,使TDI信号串行输出DR数据至TAP控制器。本发明实施例中的周期均指时钟周期。
基于与上述方法实施例相同或相似的构思,本发明实施例还提供一种JTAG信号发生器,请参阅图4,为本发明实施例提供的JTAG信号发生器的结构示意图,如图4所示,所述JTAG信号发生器包括:
Host指令解析单元10,用于接收Host指令,并根据所述Host指令,解析得到对应的时钟信息、IR指令信息、以及DR数据信息;
信号发生单元20、用于根据所述时钟信息、IR指令信息、以及DR数据信息,生成对应的JTAG驱动信号。
本发明实施例中,所述JTAG驱动信号包括TCK信号;所述信号发生单元20包括时钟模块21,
所述时钟模块21用于生成TCK信号,所述时钟模块中设置有基础时钟,所述时钟模块根据时钟信息中携带的时钟分频值,对基础时钟进行分频,从而得到所述TCK信号,并将所述TCK信号提供给目标芯片的JTAG接口。
本发明实施例中,所述JTAG驱动信号还包括TDI信号;所述IR指令信息包括IR指令长度和IR指令内容、所述DR数据信息包括DR数据长度和DR数据内容;
所述Host指令解析单元10还用于根据所述Host指令,解析得到对应的IR指令长度、IR指令内容、DR数据长度、或DR数据内容;
所述信号发生单元20还包括IR指令长度寄存器22、IR指令寄存器23、DR数据长度寄存器24、以及DR数据寄存器25;
所述IR指令长度寄存器22用于存储Host指令解析单元解析得到的IR指令长度;所述IR指令寄存器23用于存储Host指令解析单元解析得到的IR指令内容;
所述DR数据长度寄存器24用于存储Host指令解析单元解析得到的DR数据长度、所述DR数据寄存器25用于存储Host指令解析单元解析得到的DR数据内容。
本发明实施例中,所述信号发生单元20还用于:根据IR指令长度,确定TAP状态机处于“Shift-IR”状态的时长、并在TAP状态机处于“Shift-IR”状态时,将所述IR指令内容作为所述TDI信号提供给目标芯片的JTAG接口;根据DR数据长度,确定TAP状态机处于“Shift-DR”状态的时长、并在TAP状态机处于“Shift-DR”状态时,将所述DR数据内容作为所述TDI信号提供给目标芯片的JTAG接口。
本发明实施例中,所述JTAG驱动信号还包括TMS信号;所述信号发生单元还包括TMS模块26,所述TMS模块26用于:根据所述时钟信息、IR指令信息、以及DR数据信息,确定TAP状态机转移时序,并确定实现所述转移时序所需的控制信号,将所述所需的控制信号作为所述TMS信号提供给目标芯片的JTAG接口。
具体地,所述TMS模块26还用于:根据需要输出的IR指令信息,输出将TAP控制器转移进入Shift-IR状态的TMS信号,然后,根据IR指令长度,输出使得TAP控制器在IR指令长度指示的时钟周期内保持为Shift-IR状态的TMS信号,以及,输出使TAP控制器进入“Updata-IR”状态的TMS信号,最后,输出使得TAP控制器转移进入Run-Test/Idle状态的TMS信号;
根据需要输出的DR数据信息,输出将TAP控制器转移进入Shift-DR状态的TMS信号,然后,根据DR数据长度,输出使得TAP控制器在所述DR数据长度所指示的时钟周期内保持为Shift-DR状态的TMS信号,以及,输出使TAP控制器进入“Updata-DR”状态的TMS信号,最后,输出使得TAP控制器转移进入Run-Test/Idle状态的TMS信号。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。

Claims (13)

1.一种联合测试工作组JTAG信号发生方法,其特征在于,所述JTAG信号发生方法包括:
接收Host指令,并根据所述Host指令,解析得到对应的时钟信息、命令寄存器IR指令信息、以及数据寄存器DR数据信息;
根据所述时钟信息、IR指令信息、以及DR数据信息,生成对应的JTAG驱动信号。
2.如权利要求1所述的方法,其特征在于,在所述接收Host指令,并根据所述Host指令,解析得到对应的时钟信息、IR指令信息、以及DR数据信息之前还包括:根据目标芯片的测试内容确定对应的时钟信息、IR指令信息、以及DR数据信息,并根据所述时钟信息、IR指令信息、以及DR数据信息来配置所述Host指令。
3.如权利要求1所述的方法,其特征在于,所述JTAG驱动信号包括测试时钟输入信号TCK信号;
所述根据所述时钟信息、IR指令信息、以及DR数据信息,生成对应的JTAG驱动信号包括:
根据所述时钟信息,生成TCK信号;其中,根据时钟信息中携带的时钟分频值,对基础时钟进行分频,从而得到所述TCK信号,并将所述TCK信号提供给目标芯片的JTAG接口。
4.如权利要求3所述的方法,其特征在于,所述IR指令信息包括IR指令长度和IR指令内容、所述DR数据信息包括DR数据长度和DR数据内容;
所述根据所述Host指令,解析得到对应的时钟信息、IR指令信息、以及DR数据信息包括:
根据所述Host指令,解析得到对应的IR指令长度、IR指令内容、DR数据长度、或DR数据内容;
对解析得到的IR指令长度、IR指令内容、DR数据长度、或DR数据内容进行暂存。
5.如权利要求4所述的方法,其特征在于,所述JTAG驱动信号还包括测试数据输入信号TDI信号;所述根据所述时钟信息、IR指令信息、以及DR数据信息,生成对应的JTAG驱动信号包括:
根据IR指令长度,确定测试端口TAP状态机处于“Shift-IR”状态的时长、并在TAP状态机处于“Shift-IR”状态时,将所述IR指令内容作为所述TDI信号提供给目标芯片的JTAG接口;
根据DR数据长度,确定TAP状态机处于“Shift-DR”状态的时长、并在TAP状态机处于“Shift-DR”状态时,将所述DR数据内容作为所述TDI信号提供给目标芯片的JTAG接口。
6.如权利要求4所述的方法,其特征在于,所述JTAG驱动信号还包括测试模式选择信号TMS信号;
所述根据所述时钟信息、IR指令信息、以及DR数据信息,生成对应的JTAG驱动信号包括:
根据所述时钟信息、IR指令信息、以及DR数据信息,确定TAP状态机转移时序,并确定实现所述转移时序所需的控制信号,将所述所需的控制信号作为所述TMS信号提供给目标芯片的JTAG接口。
7.如权利要求6所述的方法,其特征在于,所述根据所述时钟信息、IR指令信息、以及DR数据信息,确定TAP状态机转移时序,并确定实现所述转移时序所需的控制信号,将所述所需的控制信号作为所述TMS信号提供给目标芯片的JTAG接口包括:
根据需要输出的IR指令信息,输出将TAP控制器转移进入Shift-IR状态的TMS信号,然后,根据IR指令长度,输出使得TAP控制器在IR指令长度指示的时钟周期内保持为Shift-IR状态的TMS信号,以及,输出使TAP控制器进入“Updata-IR”状态的TMS信号,最后,输出使得TAP控制器转移进入Run-Test/Idle状态的TMS信号;
根据需要输出的DR数据信息,输出将TAP控制器转移进入Shift-DR状态的TMS信号,然后,根据DR数据长度,输出使得TAP控制器在所述DR数据长度所指示的时钟周期内保持为Shift-DR状态的TMS信号,以及,输出使TAP控制器进入“Updata-DR”状态的TMS信号,最后,输出使得TAP控制器转移进入Run-Test/Idle状态的TMS信号。
8.一种JTAG信号发生器,其特征在于,JTAG信号发生器包括:
Host指令解析单元,用于接收Host指令,并根据所述Host指令,解析得到对应的时钟信息、IR指令信息、以及DR数据信息;
信号发生单元、用于根据所述时钟信息、IR指令信息、以及DR数据信息,生成对应的JTAG驱动信号。
9.如权利要求8所述的JTAG信号发生器,其特征在于,所述JTAG驱动信号包括TCK信号;所述信号发生单元包括时钟模块,
所述时钟模块用于生成TCK信号,所述时钟模块中设置有基础时钟,所述时钟模块根据时钟信息中携带的时钟分频值,对基础时钟进行分频,从而得到所述TCK信号,并将所述TCK信号提供给目标芯片的JTAG接口。
10.如权利要求9所述的JTAG信号发生器,其特征在于,所述IR指令信息包括IR指令长度和IR指令内容、所述DR数据信息包括DR数据长度和DR数据内容;
所述Host指令解析单元还用于根据所述Host指令,解析得到对应的IR指令长度、IR指令内容、DR数据长度、或DR数据内容;
所述信号发生单元还包括IR指令长度寄存器、IR指令寄存器、DR数据长度寄存器、以及DR数据寄存器;
所述IR指令长度寄存器用于存储Host指令解析单元解析得到的IR指令长度;所述IR指令寄存器用于存储Host指令解析单元解析得到的IR指令内容;
所述DR数据长度寄存器用于存储Host指令解析单元解析得到的DR数据长度、所述DR数据寄存器用于存储Host指令解析单元解析得到的DR数据内容。
11.如权利要求9所述的JTAG信号发生器,其特征在于,所述JTAG驱动信号还包括TDI信号;所述信号发生单元还用于:
根据IR指令长度,确定TAP状态机处于“Shift-IR”状态的时长、并在TAP状态机处于“Shift-IR”状态时,将所述IR指令内容作为所述TDI信号提供给目标芯片的JTAG接口;
根据DR数据长度,确定TAP状态机处于“Shift-DR”状态的时长、并在TAP状态机处于“Shift-DR”状态时,将所述DR数据内容作为所述TDI信号提供给目标芯片的JTAG接口。
12.如权利要求9所述的JTAG信号发生器,其特征在于,所述JTAG驱动信号还包括TMS信号;所述信号发生单元还包括TMS模块,所述TMS模块用于:
根据所述时钟信息、IR指令信息、以及DR数据信息,确定TAP状态机转移时序,并确定实现所述转移时序所需的控制信号,将所述所需的控制信号作为所述TMS信号提供给目标芯片的JTAG接口。
13.如权利要求12所述的JTAG信号发生器,其特征在于,所述TMS模块还用于:
根据需要输出的IR指令信息,输出将TAP控制器转移进入Shift-IR状态的TMS信号,然后,根据IR指令长度,输出使得TAP控制器在IR指令长度指示的时钟周期内保持为Shift-IR状态的TMS信号,以及,输出使TAP控制器进入“Updata-IR”状态的TMS信号,最后,输出使得TAP控制器转移进入Run-Test/Idle状态的TMS信号;
根据需要输出的DR数据信息,输出将TAP控制器转移进入Shift-DR状态的TMS信号,然后,根据DR数据长度,输出使得TAP控制器在所述DR数据长度所指示的时钟周期内保持为Shift-DR状态的TMS信号,以及,输出使TAP控制器进入“Updata-DR”状态的TMS信号,最后,输出使得TAP控制器转移进入Run-Test/Idle状态的TMS信号。
CN201510038905.2A 2015-01-26 2015-01-26 一种jtag信号发生方法和发生器 Pending CN104502645A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510038905.2A CN104502645A (zh) 2015-01-26 2015-01-26 一种jtag信号发生方法和发生器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510038905.2A CN104502645A (zh) 2015-01-26 2015-01-26 一种jtag信号发生方法和发生器

Publications (1)

Publication Number Publication Date
CN104502645A true CN104502645A (zh) 2015-04-08

Family

ID=52944056

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510038905.2A Pending CN104502645A (zh) 2015-01-26 2015-01-26 一种jtag信号发生方法和发生器

Country Status (1)

Country Link
CN (1) CN104502645A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109426594A (zh) * 2017-08-25 2019-03-05 深圳市中兴微电子技术有限公司 一种芯片调试装置、方法及计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100253370B1 (ko) * 1997-12-04 2000-04-15 김영환 프로그램 가능한 제이택 에뮬레이터
CN102778645A (zh) * 2011-05-09 2012-11-14 京微雅格(北京)科技有限公司 一种jtag主控制器及其实现方法
CN102804092A (zh) * 2011-05-11 2012-11-28 华为技术有限公司 基于jtag总线的单板上下电控制系统和方法
CN102818986A (zh) * 2012-08-20 2012-12-12 桂林电子科技大学 混合信号电路边界扫描测试系统及测试方法
CN202929169U (zh) * 2012-08-20 2013-05-08 桂林电子科技大学 混合信号电路边界扫描测试系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100253370B1 (ko) * 1997-12-04 2000-04-15 김영환 프로그램 가능한 제이택 에뮬레이터
CN102778645A (zh) * 2011-05-09 2012-11-14 京微雅格(北京)科技有限公司 一种jtag主控制器及其实现方法
CN102804092A (zh) * 2011-05-11 2012-11-28 华为技术有限公司 基于jtag总线的单板上下电控制系统和方法
CN102818986A (zh) * 2012-08-20 2012-12-12 桂林电子科技大学 混合信号电路边界扫描测试系统及测试方法
CN202929169U (zh) * 2012-08-20 2013-05-08 桂林电子科技大学 混合信号电路边界扫描测试系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109426594A (zh) * 2017-08-25 2019-03-05 深圳市中兴微电子技术有限公司 一种芯片调试装置、方法及计算机可读存储介质

Similar Documents

Publication Publication Date Title
CN102466776B (zh) 面向复杂可编程逻辑器件的批量测试方法
CN101363900B (zh) 一种对fpga器件进行测试的方法
CN105224345A (zh) 一种可编程逻辑器件远程更新系统及其方法
CN113514759B (zh) 一种多核测试处理器及集成电路测试系统与方法
CN104133171A (zh) 一种基于单片机的简易边界扫描测试系统及测试方法
CN105550119A (zh) 一种基于jtag协议的仿真装置
CN104515947A (zh) 可编程逻辑器件在系统编程的快速配置与测试方法
CN101102566B (zh) 一种手机jtag调试接口信号设计方法及其调试方法
CN102305907A (zh) 多芯片封装结构的测试方法和系统
CN104865518A (zh) 一种sram型fpga的clb动态老炼配置方法
CN101706762A (zh) 一种智能型信号转接系统
CN102608517A (zh) 一种创建集成电路测试程序包的快速方法
CN103678075B (zh) 基于自动矢量生成技术的复杂微处理器测试方法
US20180052203A1 (en) Method for enabling cpu-jtag debugger connection or improving its performance for multi-clock designs running on fpga or emulation systems
CN203422426U (zh) 一种民航客机机载计算机的通用综合自动测试系统
CN109426594A (zh) 一种芯片调试装置、方法及计算机可读存储介质
CN101515019A (zh) 基于可编程器件的动态边界扫描链路测试方法
US20240219456A1 (en) Mixed signal test device based on graphical control
CN102446557B (zh) 一种芯片和一种芯片并行测试的方法
CN101083507B (zh) 遵循ieee1149.1协议的通用测试ip方法
CN102183727B (zh) 一种具有检错功能的边界扫描测试方法
CN104502645A (zh) 一种jtag信号发生方法和发生器
CN102254062A (zh) 标准单元时序数据测试方法
CN209765501U (zh) 一种基于jtag的多处理器仿真调试装置
CN103699422A (zh) 使用Perl语言对电路verilog网表描述进行可测性设计的系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150408

WD01 Invention patent application deemed withdrawn after publication