掌桥专利:专业的专利平台
掌桥专利
首页

一种IEEE1149.10到JTAG信号转换器

文献发布时间:2024-04-18 20:01:30


一种IEEE1149.10到JTAG信号转换器

技术领域

本发明涉及芯片测试领域,特别涉及一种IEEE1149.10到JTAG信号转换器。

背景技术

JTAG(Joint Test Action Group,联合测试工作组)接口作为IEEE的一种接口标准,在集成电路的测试、仿真、调试等方面发挥着重要作用。现有的多数高级器件都支持JTAG协议,如DSP、FPGA(FPGA Field Programmable Gate Array,现场可编程门阵列)等器件。通过在芯片中内置JTAG接口电路,可以实现对芯片的边界扫描测试。JTAG接口电路中包括TAP控制器、指令寄存器、以及数据寄存器。

TAP(测试端口,Test Access Port)控制器是边界扫描测试的核心。根据IEEE1149.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驱动),特定寄存器即指令寄存器或数据寄存器。TD0是数据输出的接口,所有要从特定的寄存器中输出的数据都是通过TDO接口一位一位串行输出的(由TCK驱动)。TRST可以用来对TAP控制器进行复位(初始化),另外,通过TMS也可以对TAP进行复位(初始化)。

JTAG接口电路的内部逻辑通过一个TAP状态机来实现,请参阅图1,为IEEE1149.1标准规定的TAP状态机的状态转移示意图。在图1所示的TAP控制器的状态机的转移示意图中,TAP控制器的状态机只有6个状态是稳定状态,包括:测试逻辑复位(Test-LogicReset)、测试/等待(Run-Test/Idle)、数据寄存器移位(Shift-DR)、数据寄存器移位暂停(Pause-DR)、指令寄存器移位(Shift-IR)、指令寄存器移位暂停(Pause-IR),其它状态都不是稳态,而只是暂态。如图1所示,TAP状态机包含两个分支,分别是命令寄存器(IR)接入分支和数据寄存器(DR)接入分支。并且该TAP状态机的状态转移由JTAG接口电路中的测试模式选择信号(TMS)来控制。

测试时间一直是芯片系统(SoC)的一个重要指标。原始的IEEE1149.1测试访问端口对于简单的板间互连测试是很好的,但是随着通过IEEE1149.1测试访问端口(TAP)的片上操作的增加,使用IEEE1149.1 TAP对于板上测试和板上现场可编程门阵列(FPGA)配置变得低效。行业需要一个高速测试访问端口(HSTAP)和分组编码器/解码器和分布架构(PEDDA)来标准化IC自动测试设备(ATE)的测试数据传输机制。

IEEE1149.10提供了一种替代方案,只需差分接收机和发射机:四个引脚、一个系统时钟和电源,就可以交付相同的测试数据带宽。通过使扫描通道“虚拟”,可以在测试设计期间权衡扫描速率、并发活动扫描通道的数量和所需的测试带宽。

上述提到的测试数据传输机制,其测试数据基于IEEE 1149.10协议进行打包,在对含有JTAG接口芯片进行测试时,首先是要验证芯片内部的JTAG功能模块是否正常,然后需要生成TCK、TMS、TDI信号送入JTAG接口,因此就涉及到对数据包解码后将信息转换成JTAG驱动信号的过程。

发明内容

本发明提供了一种IEEE1149.10到JTAG信号转换器,用于解决测试数据符合IEEE1149.10标准时在JTAG测试中应用时,需要快速准确生成JTAG驱动信号的情况。

为了解决上述技术问题,本发明提供了一种IEEE1149.10到JTAG信号转换器,所述方法包括:

接收经过IEEE1149.10标准编码的测试数据,解析得到对应的指令寄存器IR指令信息、数据寄存器DR数据信息,同时接收时钟信息。

根据所述时钟信息、IR指令信息以及DR数据信息,生成对应的JTAG驱动信号。

优选地,所述接收的经过打包的测试数据,在解析得到时钟信息、IR指令信息以及DR数据信息之前,根据目标芯片测试内容,确定所需的时钟信息、IR指令信息以及DR数据信息,并根据IEEE1149.10标准对所述IR指令信息以及DR数据信息进行编码得到SCAN包,同时生成对应的时钟信息。

优选地,所述JTAG驱动信号包括测试时钟输入信号TCK信号。

根据所述时钟信息,生成TCK信号,其中,根据时钟信息对基础时钟进行分频,从而得到所述TCK信号,并将所述TCK信号提供给目标芯片的JTAG接口。

优选地,解码所述SCAN包得到IR指令信息。

解析所述IR指令信息得到IR指令长度和IR指令内容,根据所述IR指令长度,确定测试端口TAP状态机处于“Shift-IR”状态的时长,并在TAP状态机处于“Shift-IR”状态时,将IR指令内容作为所述TDI信号提供给目标芯片的JTAG接口。

优选地,解码所述SCAN包得到DR数据信息;

解析所述DR数据信息得到DR数据长度和DR数据内容,根据所述DR数据长度,确定测试端口TAP状态机处于“Shift-DR”状态的时长,并在TAP状态机处于“Shift-DR”状态时,将DR数据内容作为所述TDI信号提供给目标芯片的JTAG接口。

优选地,所述JTAG驱动信号还包括测试模式选择信号TMS信号。

根据所述时钟信息、IR指令信息以及DR数据信息,生成对应的JTAG对应的JTAG驱动信号包括:

根据需要输出的IR指令信息,输出将TAP控制器转移进入Shift-IR状态的TMS信号,然后,根据IR指令长度,输出使得TAP控制器在IR指令长度指示的时钟周期内保持为“Shift-IR”状态的TMS信号;以及,输出使TAP控制器进入“Update-IR”状态的TMS信号;最后,输出使得TAP控制器转移进入“Run-Test/Idle”状态的TMS信号。

根据需要输出的DR数据信息,输出将TAP控制器转移进入Shift-DR状态的TMS信号,然后,根据DR数据长度,输出使得TAP控制器在所述DR数据长度所指示的时钟周期内保持为Shift-DR状态的TMS信号;以及,输出使TAP控制器进入“Update-DR”状态的TMS信号;最后,输出使得TAP控制器转移进入“Run-Test/Idle”状态的TMS信号。

本发明的有益效果包括:

通过本发明提供的JTAG信号转换器,只需要根据目标芯片的JTAG测试内容对测试数据根据IEEE1149.10标准的要求进行编码,并将编码的数据包发送给JTAG信号转换器,JTAG信号转换器就会根据IEEE1149.10标准对数据包进行解码,再解析得到IR指令信息、DR数据信息。时钟信息由测试控制器根据测试内容要求而设定提供。依据所述时钟信息、IR指令信息、DR数据信息生成对应的JTAG信号。

附图说明

图1为IEEE1149.1标准中规定的TAP控制器状态转移图;

图2为本发明实施例提供的一种IEEE1149.10到JTAG信号转换器的实施方法流程示意图;

图3为本发明实施例提供的示例性的TCK、TDI、TMS、时序图;

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。

请参照图2所示,为本发明实施例提供了一种JTAG信号转换器的流程示意图,如图2所示,本发明实施例提供的JTAG信号转换器包括:

步骤1,接收SCAN包进行解码得到IR指令信息和DR数据信息;

步骤2,解析IR指令信息和DR数据信息得到IR指令长度、IR指令内容、DR数据长度和DR数据内容;

步骤3,根据IR指令长度、IR指令内容、DR数据长度、DR数据内容和系统提供的时钟信息生成JTAG信号。

本发明实施例中,SCAN包格式为IEEE1149.10标准中提供的格式,其格式为:起始字符(SOP)+命令字符(CMD)+标识(ID)+指令移位捕获更新(ICSU)+数据有效负载帧(#Payload-Frames)+扫描时钟数(Cycle-Count)+数据(PAYLOAD)+校验字符(CRC32)+结束字符(EOP)。

表1为本次实施例提供的示范性的SCAN包配置,下面对数据各部分进行讲解。

起始字符SOP表示一个数据包的开始;其中根据命令字符CMD中的内容为0x06即可知道此数据包为SCAN扫描数据包,内含IR指令信息和DR数据信息;ID中的内容表示此数据包的顺序,0x01表示第一次接收到SCAN包,同时响应包也会具有相同ID值;指令捕获移位更新ICSU,即Instruction、Capture、Shift、Update首字母组成,由4位二进制组成,对应位为1表示对应操作有效,ICSU高位为1表示该包为指令包,PAYLOAD里面的内容为指令信息,反之则表示该包为数据包,PAYLOAD里面的内容为测试数据,如:0b0110表示为数据包,并执行捕获移位操作;数据有效负载帧#Payload-Frames表示紧随其后的PAYLOAD数据为多少帧,以32位为一帧,#Payload-Frames为0x01000000表示有一帧PAYLOAD数据;扫描时钟Cycle-Count表示数据需要的时钟数;PAYLOAD用于搭载需要传输的交错数据;校验字符CRC32表示在此前除了起始字符之外的非控制字符依据CRC32校验原理计算的16进制数据;结束字符EOP表示一个数据包的终止。

表1

根据上述的配置描述,解析ICSU信息判断该SCAN包是指令包还是数据包,解析#Payload-Frames确认PAYLOAD大小,解析Cycle-Count确认PAYLOAD中信息执行移位操作需要的时钟数,一个时钟移动一位,解析PAYLOAD得到IR指令信息或者DR数据信息。

本发明实施例中提到的JTAG驱动信号包括:TCK信号、TMS信号以及TDI信号,分别对应提供给目标芯片JTAG模块的TCK接口、TMS接口以及TDI接口。

下面对上述三种JTAG驱动信号的产生分别进行说明。

本发明实施例中,所述TCK信号由时钟电路模块根据所述IR指令信息和DR数据信息在基础时钟上进行分频,并提供给所述JTAG模块中的TCK接口。

本发明实施例中,所述TMS信号通过解析ICSU信息、Cycle-Count信息确定并提供。具体地,解析ICSU信息确定该数据包携带PAYLOAD信息为IR指令信息还是DR数据信息,从而配置TMS进入对应的状态;解析Cycle-Count信息确定数据在移位状态的持续周期。

本发明实施例中,所述TDI信号通过解析PAYLOAD信息确定并提供,具体地,解析PAYLOAD得到IR指令信息和DR数据信息,通过TAP状态机以串行移位输入的方式提供给TDI接口。

下面结合表1提供的实施例进行示例性说明。

假设主控系统时钟300MHz,测试电路需要50MHz时钟,那么时钟电路模块会对系统时钟进行6分频,并将分频后的时钟提供给JTAG模块的TCK接口。TMS信号在TCK时钟驱动下首先输出若干时钟的1,确保TAP状态机进入“Test-Logic-Reset”测试逻辑复位状态,来等待接收数据。当接收到ICSU后确认该SCAN包为数据包,解析PAYLOAD中的信息,将解析得到的数据作为TDI信号提供给JTAG模块的TDI接口;输出TMS信号等于0100,使得TAP状态机进入“Shift-DR”状态,又解析Cycle-Count确认数据长度为11(经过十六进制B转换成十进制),需要移位11次,而前面已经进行了一次移位操作,因此需要保持10次“Shift-DR”状态,输出TMS信号等于10个0。DR数据发送完后,TMS信号输出11进入“Update-DR”状态,更新被测试结构中的数据,之后TMS信号输出0,使TAP状态机进入“Run-Test/Idle”状态等待下次处理数据。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

技术分类

06120116556836