CN107577635B - 一种兼容ahb协议的非握手式jtag调试链路及其调试方法 - Google Patents
一种兼容ahb协议的非握手式jtag调试链路及其调试方法 Download PDFInfo
- Publication number
- CN107577635B CN107577635B CN201710758156.XA CN201710758156A CN107577635B CN 107577635 B CN107577635 B CN 107577635B CN 201710758156 A CN201710758156 A CN 201710758156A CN 107577635 B CN107577635 B CN 107577635B
- Authority
- CN
- China
- Prior art keywords
- data
- ahb
- serial
- debugging
- address
- 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
Links
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明公开了一种兼容AHB协议的非握手式JTAG调试链路及其调试方法,包括一侧设置有对外JTAG标准接口,另一侧设置有AHB标准主机接口的串并转换单元,所述串并转换单元利用IEEE1149.1协议自定义TAP控制器指令,通过扩展指令实现与AHB协议的无缝对接,依靠信息的相互解析,将上位机发出的高速串行调试命令映射到芯片内部的通信通道上,以模拟主机的行为向芯片全系统发出访问命令,然后将系统运行的关键状态信息重新转换成串行数据返回上位机。本发明相对传统调试手段速度更高、稳定性更好,且复用了标准DFT的JTAG接口,节省了芯片的管脚资源,构建了标准的JTAG接口和片上AMBA总线的转换通道,具有较高的实用价值和通用性。
Description
技术领域
本发明属于集成电路设计与测试技术领域,具体涉及一种兼容AHB协议的非握手式JTAG调试链路及其调试方法。
背景技术
随着微电子技术的飞速发展,单片晶体管集成度迅速提高,这其中,以IP复用为驱动的SoC设计方法学使得单芯片的功能组件日趋丰富和复杂。然而,随着众多高速、复杂的存储控制、通信协议节点控制以及数模混合IP的融入,全芯片的功能调试问题已经成为高密度芯片集成设计中日益严峻的问题。如何快速、高效的追溯故障现象,并为分析故障原因提供依据成为可调试设计的一项重要设计任务。
传统的硬件调试手段是通过RS232协议,利用UART串口完成串行调试命令到芯片内部的并行总线的格式转换。中国专利CN101980036A,涉及到一种通过RS232接口电路将上位机发出的调试命令转换至待测试电路板。现有技术中采用类似的RS485协议将辐照测试命令传送到单粒子试验板上。这些结构的优势在于串口的设计简单,易于集成且不需要专用的下载器。但是,由于它是异步通信,数据传输速度非常低,且容易受到干扰造成传输异常,已经逐渐不满足目前高密度集成芯片的调试需求。
JTAG(Joint Test Action Group)是一种国际通用的标准测试协议,几乎所有的芯片都采用JTAG作为测试接口。JTAG测试协议的主要硬件组成包括:具有4个或5个引脚的测试存取通道;一组边界扫描寄存器,指令寄存器(Instruction Register,IR)和数据寄存器(Data Register,DR);一个TAP控制器。该协议虽然同为串行协议,但是它是同步通信,传输速度最高可达10MHz,比现有工业最快的UART传输速度提高近86倍,并且抗干扰能力较强。同时,相对于其它高速通信协议标准,如以太网、USB、CAN等,它又是芯片的标准接口,因此基于JTAG的调试方案则符合当今芯片的调试需求。现有的多核处理器的JTAG实时片上调试方法及其系统通过修改TAP控制器,为每个待测内核增加了选择信号sel和使能信号ena,通过这组信号来选择调试的目标小核。通过使用增强型TAP控制器在控制流和总线数据间翻译,能够对多核处理器进行调试而不受多核处理器的核数限制。然而,该专利是通过大幅度增加自定义指令及数据寄存器实现,且并未涉及协议转换的具体实现结构。另一种内嵌于芯片的USB转JTAG调试装置及其调试方法,则将上位机与待测芯片之间的USB转JTAG下载器集成到了芯片内部。然而该专利也未涉及具体的设计细节,且调试接口仅用于芯片调试阶段,在工作状态下不需要激活,因此这种结构将消耗过多的芯片资源。
当今SoC是以标准总线为依托,实现基于总线接口的IP复用的集成设计。ARM公司为此提出的AMBA总线,以其流水化的设计思想、层次化的拓扑结构、以及易于扩展的特点,已经成为事实上的片上总线标准。因此,构造一种低开销且易于操作的JTAG与AHB的协议转换链路,能够直接将外部的调试命令转换到芯片内部的数据交互通路上,能够形成对片上资源的直接观测,对于芯片的硬件调试能力而言,将具有非常大的应用价值。
发明内容
本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种兼容AHB协议的非握手式JTAG调试链路及其调试方法,用于解决标准JTAG协议与芯片内互连总线AHB之间的通信转换,可以提高数据交互过程中承载的有效信息量,缩短整个调试过程的耗费时间。
本发明采用以下技术方案:
一种兼容AHB协议的非握手式JTAG调试链路,包括一侧设置有对外JTAG标准接口,另一侧设置有AHB标准主机接口的串并转换单元,所述串并转换单元利用IEEE1149.1协议自定义TAP控制器指令,通过扩展指令实现与AHB协议的无缝对接,依靠信息的相互解析,将上位机发出的高速串行调试命令映射到芯片内部的通信通道上,以模拟主机的行为向芯片全系统发出访问命令,然后将系统运行的关键状态信息重新转换成串行数据返回上位机。
优选的,所述串并转换单元通过TAP控制器设置有所述JTAG标准接口,所述TAP控制器用于完成对用户自定义调试指令的解析,并按照标准协议生成对应的控制信号;所述串并转换单元根据TAP控制器生成的控制信号,将串行接收的数据转换成对应的并行调试命令,同时将返回的并行应答信号串行输出至上位机;所述AHB主机接口用于实现一个AHB主机行为,按照调试控制所需完成总线访问的发起并接收应答数据等反馈信号。
优选的,所述JTAG标准接口包括TCK、TMS、TDI和TDO,所述TAP控制器与所述串并转换单元连接的一侧包括控制信号和数据信号,所述控制信号传递给串并转换单元的状态机,数据信号则传递给串并转换单元的对应寄存器。
优选的,所述TAP控制器内部的控制流为具有16个状态的状态机控制,数据流包括指令寄存器和数据寄存器,所述数据寄存器包括边界扫描寄存器、器件标识寄存器、旁路寄存器以及2个用户自定义寄存器,两个所述用户自定义寄存器分别用于传递地址和部分控制信号,以及用于传递读写数据以及应答信号。
优选的,所述串并转换单元包括状态机、地址移位寄存器和数据移位寄存器,所述状态机用于完成对串并转换过程的时序控制、完成转换后并行数据信息的过滤以及与AHB主机接口的请求应答;所述地址移位寄存器用于在状态机的地址选择信号控制下完成对TDI地址的移入,并在移入完毕后将地址并行信号整体送入AHB主机接口;所述数据移位寄存器一方面用于在状态机的数据选择信号控制下完成对TDI写数据的移入,并在移入完成后将写数据并行信号整体送入AHB主机接口,另一方面也接收来自AHB主机的并行读数据,通过移位将读数据送至输出TDO接口,所述地址并行信号和数据并行信号通过第一多路选择器MUX1进行区分。
优选的,所述地址移位寄存器和数据移位寄存器之间设置有第二多路选择器MUX2,所述MUX2用于完成所述地址移位寄存器和数据移位寄存器输出的地址串行信号和数据串行信号的选择输出并形成TDO数据。
优选的,所述地址移位寄存器包括43位,其中包括32位的AHB访问地址、2位的AHB大小、1位的AHB读/写标志以及8位的连续传输长度;所述数据移位寄存器共为34位,除了符合AHB读写数据的32位数据域外,还包括1位完成位和1位错误标识位。
优选的,所述AHB主机接口用于将所述串并转换单元拆解出的地址、写数据和控制标识组织成对应的AHB时序,同时将AHB的传输应答信号和读数据再返还至所述串并转换单元;
当串并转换单元完成访问地址和写数据的转换后,所述AHB主机接口将地址移位寄存器和数据移位寄存器中的内容转移至其内部,然后强制驱动数据移位寄存器中的完成位为0,表示当前传输尚未完成;AHB主机接口发起总线请求,当获得总线授权后,开始将地址和写数据释放到AHB相应的地址总线和写数据总线通道上,而对应的控制总线则用地址移位寄存器中的大小域进行驱动;
当AHB完成总线传输后,AHB主机接口锁存读数据、错误标识信号,然后将它们更新到串并转换单元的数据移位寄存器中,同时置完成位为1。
本发明还公开了一种兼容AHB协议的非握手式JTAG调试链路的调试方法,包括以下步骤:
S1、由上位机驱动可选的TRST信号或者连续置TMS为5个或5个以上的高电平,使得TAP控制器进入Test-Logic-Rest状态;
S2、向待测的FPGA打入用户自定义的USER1指令,其它板级JTAG相连的芯片全部打入旁路指令;
S3、对用户自定义1寄存器打入地址,将待测FPGA打入USER2指令,其他板级JTAG相连的芯片全部打入旁路指令;
S4、如果当前调试为写调试,那么通过TAP的数据通道,向用户自定义2寄存器打入对应的写数据;
S5、如果当前调试为读调试,那么将直接开始读出数据移位寄存器的内容,通过完成位判定当前传输是否完成;
S6、如果传输完成且调试完成,则结束整个调试过程。
优选的,步骤S5中,如果传输未完成,继续读出数据移位寄存器,直至传输完成;如果步骤S5传输完成但调试过程尚未结束,重新回到打入USER1指令的状态,整个过程重复进行。
与现有技术相比,本发明至少具有以下有益效果:
本发明兼容AHB协议的非握手式JTAG调试链路,利用IEEE1149.1允许用户自定义数据寄存器的特点,通过扩展TAP控制器中的指令从而区分地址与数据信号,而内部设计的一个串并转换单元,将完成JTAG串行数据到并行地址和并行数据的转换,再通过AHB主机接口完成与片上AHB总线的通信,对芯片通用的JTAG接口进行设计改造,使调试的速度能够达到10MHz,并且稳定性明显提升,不依赖于待测芯片,具有良好的通用型和可伸缩性,具备较高的应用价值。
进一步的,本发明的对外接口是业界最广泛应用的JTAG,对内则是SoC最主流的AMBA片上互连总线,因此该硬件调试链路具有极强的可移植性和较高的应用价值,可以覆盖现今大多数的ASIC设计。
进一步的,本发明压缩了新增的数据寄存器,将发往AHB总线的地址和控制信号均集成于地址移位寄存器中,将AHB的读写数据和应答信号集成于数据移位寄存器中,通过减少激活的指令数据和状态机的转换,从而压缩了调试访问时间。
进一步的,为了适应JTAG链路无法主动回应上位机的特点,本发明采用非握手的查询方式,在数据移位寄存器中集成了完成位,方便上位机直接查询传输的状态,同时增加了错误标识位,也弥补了传统调试策略无法获知通信是否正确的缺陷。
进一步的,为提高调试过程中大量存在的连续访问的调试效率,本发明在地址移位寄存器中增加了长度字段,允许用户在配置完该字段后可以省略后续地址的发送,而由硬件自动进行计算发送,从而进一步节省了大批量数据的调试时间。
本发明还公开了一种兼容AHB协议的非握手式JTAG调试链路的调试方法,由上位机驱动可选的TRST信号或者连续置TMS为5个或5个以上的高电平,使得TAP控制器进入Test-Logic-Rest状态;向待测的FPGA打入用户自定义的USER1指令,其它板级JTAG相连的芯片全部打入旁路指令;对用户自定义1寄存器打入地址,将待测FPGA打入USER2指令,其他板级JTAG相连的芯片全部打入旁路指令;如果当前调试为写调试,那么通过TAP的数据通道,向用户自定义2寄存器打入对应的写数据;如果当前调试为读调试,那么将直接开始读出数据移位寄存器的内容,通过完成位判定当前传输是否完成;如果传输完成且调试完成,则结束整个调试过程;从适用环境而言,该调试方法构建了两种标准接口的通信转换链路,片外为满足IEEE 1149.1标准的JTAG接口,片内为业界应用最为广泛的AHB总线协议,因此适用范围非常广泛;从资源开销而言,该调试方法除了IEEE 1149.1标准强制要求的TAP控制器外,仅新增了两条用户自定义指令即可完成片上所有地址资源的读写访问,资源开销大幅度降低,对芯片面积影响可以忽略;从性能角度而言,该调试接口独立于芯片的主体功能结构,对芯片结构不具有侵入性和破坏性,同时JTAG结构具有较高的通信速率和较强的稳定性,因此相对于传统的调试接口具有明显的性能优势。
综上所述,本发明硬件调试结构不依赖于特定的TAP结构及AMBA实现结构,对原始芯片的功能不具有任何破坏性,能够在调试过程中实现对片上任意地址资源的访问,从而向上位机反馈全芯片的设计、制造中的故障问题。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为本发明JTAG调试链路结构框图;
图2为本发明TAP控制器结构框图;
图3为本发明寄存器定义框图;
图4为本发明JTAG调试链路使用流程图。
具体实施方式
本发明提供了一种兼容AHB协议的非握手式JTAG调试链路,充分利用了IEEE1149.1协议对设计开发者自定义TAP控制器指令的授权,通过扩展有限的指令而实现与AHB协议的无缝对接。依靠信息的相互解析,可以将上位机发出的高速串行调试命令映射到芯片内部的通信通道上,以模拟主机的行为向芯片全系统发出访问命令,然后将系统运行的关键状态信息重新转换成串行数据返回上位机。本发明所述的该种数据转换结构主要作为AHB上的模拟主机,其一侧是对外的JTAG标准接口,另一侧是AHB的标准主机接口,因此,可以将其作为一种通用的IP,集成于现今较多SoC芯片设计中。
请参阅图1,本发明兼容AHB协议的非握手式JTAG调试链路包括:TAP控制器、串并转换单元以及AHB主机接口;
所述TAP控制器用于完成对用户自定义调试指令的解析,并按照标准协议生成对应的控制信号;
所述串并转换单元根据TAP控制器生成的控制信号,将串行接收的数据转换成对应的并行调试命令,同时将返回的并行应答信号串行输出至上位机;
所述AHB主机接口用于实现一个AHB主机行为,按照调试控制所需完成总线访问的发起并接收应答数据等反馈信号。
调试指令以及调试数据的格式将是硬件设计的依据,调试指令将在TAP控制器中予以译码,而传输符合调试数据格式的串行数据,才能被AHB主机接口认可,这其中,串并转换单元将在调试指令的指示下完成调试数据在上位机和芯片内部的传递。
所述TAP控制器具体包括如下:
TAP控制器与上位机通信的一侧是JTAG标准信号,包括TCK、TMS、TDI和TDO,而与串并转换单元连接的一侧包括控制和数据信号,其中,控制信号传递给串并转换单元的状态机,而数据信号则传递给串并转换单元的对应寄存器。
TCK为TAP控制器的操作提供一个独立的时钟信号,TAP控制器的所有动作均在该时钟驱动下完成;
TMS信号用于控制TAP控制器内部状态机的迁移,所有动作均在TCK上升沿有效;
TDI是串行数据输入信号,所有指令和数据均由该端口接入,同样为TCK上升沿有效;
TDO则是串行数据移出信号,其在TCK下降沿有效。
根据IEEE1149.1的规定,TAP控制器内部的控制流是由一个具有16个状态的状态机控制,而数据流则分为两个部分:指令寄存器和数据寄存器。相对于控制流的强制规定,数据流则允许用户进行自定义扩展。
请参阅图2,TDI作为串行输入可以将指令或数据送入指令寄存器或数据寄存器,同时TAP控制器内部的状态机生成的指令寄存器控制信号和数据寄存器控制信号分别控制指令寄存器和数据寄存器移位TDI的动作。
当TDI向指令寄存器送入一条指令后,该条指令立即通过指令译码模块生成译码选择信号,该译码选择信号激活数据寄存器中对应该条指令的寄存器。强制的数据寄存器有边界扫描寄存器、器件标识寄存器和旁路寄存器,同时允许用户扩展自定义寄存器。
本发明利用该特点,增加了用户自定义1寄存器和用户自定义2寄存器。这是因为,AHB总线上分为了地址总线、控制总线和数据总线,所以原则上应该增加3个对应的寄存器。但是,为了精简设计与调试协议,压缩调试时间,提高交互过程中承载的有效信息量,因此将控制信息拆分到另外两个寄存器中,这样,用户自定义1寄存器用于传递地址和部分控制信号,而用户自定义2寄存器用于传递读写数据以及应答信号。
相应的,TAP控制器也增加了这两个用户自定义寄存器的激活指令。对于数据串行输出而言,因为仅有一个TDO接口,因此所有的数据寄存器的输出要经过MUX1选择输出,其选择信号sel1由TAP提供,而MUX1选择输出的data信号又要与指令寄存器输出的inst信号进行决断,这将由MUX2根据TAP控制器提供的sel2信号进行选择,最终MUX2输出TDO信号返回上位机。
所述串并转换单元具体包括如下:
物理寄存器则存在于串并转换单元中,其目的是为了简化TAP控制器的设计,提高TAP控制器的通用性。因此,当TAP控制器接收到用户自定义1指令和用户自定义2指令后,相应的TDI和TDO将直接转接到串并转换单元上。因此,串并转换单元的主要工作内容是:将串行的TDI信号在TAP生成的控制信号作用下,分别转换成并行的访问地址以及并行的写数据,同时剥离出有效的控制字段用于AHB主机接口进行访问控制;同时,将AHB总线的并行读数据及应答信号再转换成串行输出信号返回上位机。
请参阅图1,串并转换单元包括状态机、地址移位寄存器和数据移位寄存器。
所述状态机的主要任务是完成对串并转换过程的时序控制、完成转换后并行数据信息的过滤以及与AHB主机接口的请求应答。
所述地址移位寄存器在状态机的地址选择信号控制下完成对TDI地址的移入,并在移入完毕后将地址并行信号整体送入AHB主机接口。
所述数据移位寄存器一方面在状态机的数据选择信号控制下完成对TDI写数据的移入,并在移入完成后将写数据并行信号整体送入AHB主机接口,另一方面也接收来自AHB主机的并行读数据,通过移位将读数据送至输出TDO接口。
其中,由于地址和数据是先后串行打入地址移位寄存器和数据移位寄存器,因为两者在时间上不存在并行的关系,因此传输完成后的地址并行信号和数据并行信号只需要一个通道与AHB主机接口传递信息,这就需要如图1中的多路选择器MUX1进行区分。
在状态机的并行输出选择信号控制下,首先将转换完成后的地址并行信号送入到地址/写数据通道上,然后等待数据并行信号的转换完成后再发送到地址/写数据通道,在两者分时复用该通道过程中,状态机将向AHB主机接口发送请求信号令AHB主机接口区分锁存两种信号,并在完成总线传输后返回应答标识。对于TDO的驱动输出而言,由于地址移位寄存器和数据移位寄存器在TDI打入串行移位数据的同时,也将相应的移出数据,而这部分数据就要驱动至TDO端口上。
由于地址移位寄存器和数据移位寄存器的移位互不重叠,因此图1中的MUX2完成两个寄存器输出的地址串行信号和数据串行信号的选择输出,从而形成TDO数据。
请参阅图3,地址移位寄存器和数据移位寄存器承载了包括AHB总线的地址、读/写数据以及控制信号的内容,因此其格式定义将决定硬件如何从中拆解出所需的信息。
地址移位寄存器共包括43位,其中包括32位的AHB访问地址、2位的AHB大小、1位的AHB读/写标志以及8位的连续传输长度,这里格式中的地址、大小和读/写域均与AHB总线相对应,而长度域则是为了提高调试效率而设计的。
当需要对一块连续地址空间进行访问时,只需对长度域写入连续访问的个数,地址域只需要给出首地址,然后后续的访问地址将按照大小字段进行自动累加;
如果大小字段是00(字节),那么地址自增单位为1,如果大小字段是01(半字),那么地址自增单位为2;
如果大小字段是10(字),那么地址字段自增单位是11。当调试为连续写时,仅需要对地址移位寄存器移入一次地址信息即可,然后再连续的对数据移位寄存器打入对应长度字段个数的数据信息,那么AHB主机接口自动转换为对应个数的总线写访问请求。
当调试为连续读时,仅需要对地址移位寄存器填充一次,然后AHB主机接口将会连续发出对应个数的总线读请求,返回数据将反复填充数据移位寄存器供上位机读出。
数据移位寄存器共为34位,除了符合AHB读写数据的32位数据域外,还包括1位完成位和1位错误标识位。
一般而言,上位机想要获知读写访问是否完成,依赖的方法只有握手式的接收响应或非握手式的发起查询。对于JTAG而言,即使是TDO输出,也只有在移入TDI的同时才能驱动TDO,所以这里获知是否完成只能采用非握手的查询方式。
数据移位寄存器中的错误位和完成位恰好对应AHB总线中的返回完成标志和错误标志。
当AHB传输完成时,AHB主机接口将采样到的完成标识和错误标识写入该寄存器的对应域中,由上位机读取数据移位寄存器的这两位值,以判断传输是否正确完成。
当传输尚未完成时,上位机读取到的这两位标识均为无效态,表示上位机此时不能再次发起下一次的传输请求。
如果重新定义一个新的寄存器来单独存放错误位和完成位,虽然可以减少32位读/写域的移入时间,但是这个新的寄存器需要重新打入新的指令,而这需要增加TAP控制器重新移位指令的时间和状态转换的时间。
本发明将错误位和完成位合并到数据移位寄存器中,是因为JTAG打入一次访问请求,TAP控制器最后均会停留在数据寄存器状态,而此时查询数据移位寄存器不需要更新指令,只需要移位数据寄存器即可,极大的缩短了查询的等待时间。
所述AHB主机接口主要用于在于将串并转换单元拆解出的地址、写数据和控制标识组织成对应的AHB时序,同时将AHB的传输应答信号和读数据再返还至串并转换单元。
AHB主机接口的硬件设计深度依赖于AHB总线的时序要求,当串并转换单元完成访问地址和写数据的转换后,AHB主机接口将地址移位寄存器和数据移位寄存器中的内容转移至其内部,然后强制驱动数据移位寄存器中的完成位为0,表示当前传输尚未完成。
AHB主机接口发起总线请求,当获得总线授权后,开始将地址和写数据释放到AHB相应的地址总线和写数据总线通道上,而对应的控制总线,则用地址移位寄存器中的大小域进行驱动。
当AHB完成总线传输后,AHB主机接口锁存读数据、错误标识信号,然后将它们更新到串并转换单元的数据移位寄存器中,同时置完成位为1。
请参阅图4,本发明公开了兼容AHB协议的非握手式JTAG调试链路的调试方法,包括以下步骤:
S1、由上位机驱动可选的TRST信号或者连续置TMS为5个或5个以上的高电平,使得TAP控制器进入Test-Logic-Rest状态;
S2、向待测的FPGA打入用户自定义的USER1指令,而其它板级JTAG相连的芯片全部打入旁路指令;
由于USER1指令对应的是地址移位寄存器,所以通过TAP中的数据通道,向该寄存器打入地址;
S3、将TAP中的指令更新为USER2指令,该指令对应的是数据移位寄存器。
如果当前调试为写调试,那么通过TAP的数据通道,向该寄存器打入对应的写数据,
如果当前调试为读调试,那么将直接开始读出数据移位寄存器的内容,通过完成位判定当前传输是否完成;
如果传输未完成,那么将继续读出数据移位寄存器,直至传输完成;
如果传输完成但调试过程尚未结束,那么重新回到打入USER1指令的状态,整个过程重复进行;
如果传输完成且调试完成,则结束整个调试过程。
实施例
采用兼容SPARC V8结构处理器的SoC,该SoC使用本发明中的兼容AHB协议的非握手式高速JTAG调试链路设计结构,有效完成了片上资源的读写访问以及程序的灌注。该调试结构相对传统调试手段速度更高、稳定性更好,且复用了标准DFT的JTAG接口,节省了芯片的管脚资源。该发明由于构建了标准的JTAG接口和片上AMBA总线的转换通道,因此具有较高的实用价值和通用性。
试验表明,在180nm工艺条件下,传统RS232调试链路需要占用额外的2根信号管脚,其频率为100MHz,面积为0.372um2,其最高通信波特率为115200bps;而本发明中的兼容AHB协议的非握手式高速JTAG调试链路结构,不需要新增任何管脚资源,在相同工艺条件下频率可达200MHz,而链路结构的面积为0.126um2,仅占整个SPARC V8处理器芯片面积的0.16%,而其通信波特率可达200000bps。
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。
Claims (5)
1.一种兼容AHB协议的非握手式JTAG调试链路,其特征在于,包括一侧设置有对外JTAG标准接口,另一侧设置有AHB标准主机接口的串并转换单元,所述串并转换单元利用IEEE1149.1协议自定义TAP控制器指令,通过扩展指令实现与AHB协议的无缝对接,依靠信息的相互解析,将上位机发出的高速串行调试命令映射到芯片内部的通信通道上,以模拟主机的行为向芯片全系统发出访问命令,然后将系统运行的关键状态信息重新转换成串行数据返回上位机,所述串并转换单元通过TAP控制器设置有所述JTAG标准接口,所述TAP控制器用于完成对用户自定义调试指令的解析,并按照标准协议生成对应的控制信号;所述串并转换单元根据TAP控制器生成的控制信号,将串行接收的数据转换成对应的并行调试命令,同时将返回的并行应答信号串行输出至上位机;所述AHB主机接口用于实现一个AHB主机行为,按照调试控制所需完成总线访问的发起并接收应答数据等反馈信号,所述TAP控制器内部的控制流为具有16个状态的状态机控制,数据流包括指令寄存器和数据寄存器,所述数据寄存器包括边界扫描寄存器、器件标识寄存器、旁路寄存器以及2个用户自定义寄存器,两个所述用户自定义寄存器分别用于传递地址和部分控制信号,以及用于传递读写数据以及应答信号;
所述串并转换单元包括状态机、地址移位寄存器和数据移位寄存器,所述状态机用于完成对串并转换过程的时序控制、完成转换后并行数据信息的过滤以及与AHB主机接口的请求应答;所述地址移位寄存器用于在状态机的地址选择信号控制下完成对TDI地址的移入,并在移入完毕后将地址并行信号整体送入AHB主机接口;所述数据移位寄存器一方面用于在状态机的数据选择信号控制下完成对TDI写数据的移入,并在移入完成后将写数据并行信号整体送入AHB主机接口,另一方面也接收来自AHB主机的并行读数据,通过移位将读数据送至输出TDO接口,所述地址并行信号和数据并行信号通过第一多路选择器MUX1进行区分,所述地址移位寄存器和数据移位寄存器之间设置有第二多路选择器MUX2,所述MUX2用于完成所述地址移位寄存器和数据移位寄存器输出的地址串行信号和数据串行信号的选择输出并形成TDO数据,所述AHB主机接口用于将所述串并转换单元拆解出的地址、写数据和控制标识组织成对应的AHB时序,同时将AHB的传输应答信号和读数据再返还至所述串并转换单元;
当串并转换单元完成访问地址和写数据的转换后,所述AHB主机接口将地址移位寄存器和数据移位寄存器中的内容转移至其内部,然后强制驱动数据移位寄存器中的完成位为0,表示当前传输尚未完成;AHB主机接口发起总线请求,当获得总线授权后,开始将地址和写数据释放到AHB相应的地址总线和写数据总线通道上,而对应的控制总线则用地址移位寄存器中的大小域进行驱动;
当AHB完成总线传输后,AHB主机接口锁存读数据、错误标识信号,然后将它们更新到串并转换单元的数据移位寄存器中,同时置完成位为1。
2.根据权利要求1所述的一种兼容AHB协议的非握手式JTAG调试链路,其特征在于,所述JTAG标准接口包括TCK、TMS、TDI和TDO,所述TAP控制器与所述串并转换单元连接的一侧包括控制信号和数据信号,所述控制信号传递给串并转换单元的状态机,数据信号则传递给串并转换单元的对应寄存器。
3.根据权利要求1所述的一种兼容AHB协议的非握手式JTAG调试链路,其特征在于,所述地址移位寄存器包括43位,其中包括32位的AHB访问地址、2位的AHB大小、1位的AHB读/写标志以及8位的连续传输长度;所述数据移位寄存器共为34位,除了符合AHB读写数据的32位数据域外,还包括1位完成位和1位错误标识位。
4.一种根据权利要求1所述兼容AHB协议的非握手式JTAG调试链路的调试方法,其特征在于,包括以下步骤:
S1、由上位机驱动可选的TRST信号或者连续置TMS为5个或5个以上的高电平,使得TAP控制器进入Test-Logic-Rest状态;
S2、向待测的FPGA打入用户自定义的USER1指令,其它板级JTAG相连的芯片全部打入旁路指令;
S3、对用户自定义1寄存器打入地址,将待测FPGA打入USER2指令,其他板级JTAG相连的芯片全部打入旁路指令;
S4、如果当前调试为写调试,那么通过TAP的数据通道,向用户自定义2寄存器打入对应的写数据;
S5、如果当前调试为读调试,那么将直接开始读出数据移位寄存器的内容,通过完成位判定当前传输是否完成;
S6、如果传输完成且调试完成,则结束整个调试过程。
5.根据权利要求4所述的一种兼容AHB协议的非握手式JTAG调试链路的调试方法,其特征在于,步骤S5中,如果传输未完成,继续读出数据移位寄存器,直至传输完成;如果步骤S5传输完成但调试过程尚未结束,重新回到打入USER1指令的状态,整个过程重复进行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710758156.XA CN107577635B (zh) | 2017-08-29 | 2017-08-29 | 一种兼容ahb协议的非握手式jtag调试链路及其调试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710758156.XA CN107577635B (zh) | 2017-08-29 | 2017-08-29 | 一种兼容ahb协议的非握手式jtag调试链路及其调试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107577635A CN107577635A (zh) | 2018-01-12 |
CN107577635B true CN107577635B (zh) | 2020-12-01 |
Family
ID=61030550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710758156.XA Active CN107577635B (zh) | 2017-08-29 | 2017-08-29 | 一种兼容ahb协议的非握手式jtag调试链路及其调试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107577635B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115357440A (zh) * | 2018-12-13 | 2022-11-18 | 展讯通信(上海)有限公司 | 针对处理器板级调试的开发系统 |
CN114641763B (zh) * | 2019-11-05 | 2024-04-19 | 深圳市汇顶科技股份有限公司 | 协议转换器模块系统和使用该协议转换器模块系统的方法 |
CN110851388B (zh) * | 2019-11-08 | 2024-05-10 | 南京沁恒微电子股份有限公司 | 针对risc-v处理器的调试系统及调试信号传输方法 |
CN111597137B (zh) * | 2020-04-07 | 2024-01-12 | 广州安凯微电子股份有限公司 | 一种基于spi协议的动态调试方法、装置及系统 |
CN111680336B (zh) * | 2020-05-29 | 2023-07-21 | 绿晶半导体科技(北京)有限公司 | 固件安全防护方法和装置、系统及设备 |
CN111722968A (zh) * | 2020-06-24 | 2020-09-29 | 山东云海国创云计算装备产业创新中心有限公司 | 一种硬件调试方法、装置、系统及可读存储介质 |
CN111984494B (zh) * | 2020-08-28 | 2024-07-26 | 上海思尔芯技术股份有限公司 | 一种多芯片的并行深度调试系统、调试方法、应用 |
CN112131168B (zh) * | 2020-09-02 | 2022-06-14 | 山东云海国创云计算装备产业创新中心有限公司 | 一种多芯片组及控制方法 |
CN112098818B (zh) * | 2020-11-02 | 2021-02-02 | 创意电子(南京)有限公司 | 一种基于标准边界扫描电路的sip器件测试系统 |
CN112650701B (zh) * | 2020-12-16 | 2021-10-26 | 中国电子科技集团公司第五十八研究所 | 一种精简串行传输电路 |
CN112527205A (zh) * | 2020-12-16 | 2021-03-19 | 江苏国科微电子有限公司 | 一种数据安全防护方法、装置、设备及介质 |
CN112860612B (zh) * | 2021-02-05 | 2022-09-16 | 中国电子科技集团公司第五十八研究所 | 互联裸芯与mpu的接口系统及其通信方法 |
WO2022267065A1 (en) * | 2021-06-25 | 2022-12-29 | Intel Corporation | Processing devices for reducing scan traffic, method and computer program |
CN113238143B (zh) * | 2021-07-09 | 2021-11-12 | 成都爱旗科技有限公司 | 一种dft测试装置、测试系统及dft测试方法 |
CN114416453B (zh) * | 2022-01-20 | 2022-11-15 | 无锡众星微系统技术有限公司 | 一种基于外设接口的芯片硬件调试方法和装置 |
CN115033444B (zh) * | 2022-08-10 | 2022-11-15 | 合肥健天电子有限公司 | 基于8051core在线调试电路控制装置 |
CN116662240A (zh) * | 2023-05-12 | 2023-08-29 | 珠海妙存科技有限公司 | 一种协议转换电路及方法、芯片、测试装置、存储介质 |
CN118275868B (zh) * | 2024-05-31 | 2024-08-09 | 南京博芯科技有限公司 | 一种基于fpga的边界扫描测试方法及系统 |
CN118278054B (zh) * | 2024-05-31 | 2024-08-09 | 中国电子科技集团公司第五十八研究所 | 一种jtag接口加密装置及方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183139A (zh) * | 2007-11-02 | 2008-05-21 | 中兴通讯股份有限公司 | 一种基于jtag接口的单板及其设计方法 |
CN102760497A (zh) * | 2011-04-28 | 2012-10-31 | 上海华虹集成电路有限责任公司 | 含有jtag接口的芯片 |
CN102968364A (zh) * | 2012-11-16 | 2013-03-13 | 中国航天科技集团公司第九研究院第七七一研究所 | 一种基于通用调试接口的SoC硬件调试器 |
CN103258228A (zh) * | 2013-04-27 | 2013-08-21 | 无锡昶达信息技术有限公司 | 超高频rfid读写器、基带soc芯片及接口控制方法 |
CN103376400A (zh) * | 2012-04-27 | 2013-10-30 | 华为技术有限公司 | 芯片测试方法及芯片 |
US8677306B1 (en) * | 2012-10-11 | 2014-03-18 | Easic Corporation | Microcontroller controlled or direct mode controlled network-fabric on a structured ASIC |
-
2017
- 2017-08-29 CN CN201710758156.XA patent/CN107577635B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183139A (zh) * | 2007-11-02 | 2008-05-21 | 中兴通讯股份有限公司 | 一种基于jtag接口的单板及其设计方法 |
CN102760497A (zh) * | 2011-04-28 | 2012-10-31 | 上海华虹集成电路有限责任公司 | 含有jtag接口的芯片 |
CN103376400A (zh) * | 2012-04-27 | 2013-10-30 | 华为技术有限公司 | 芯片测试方法及芯片 |
US8677306B1 (en) * | 2012-10-11 | 2014-03-18 | Easic Corporation | Microcontroller controlled or direct mode controlled network-fabric on a structured ASIC |
CN102968364A (zh) * | 2012-11-16 | 2013-03-13 | 中国航天科技集团公司第九研究院第七七一研究所 | 一种基于通用调试接口的SoC硬件调试器 |
CN103258228A (zh) * | 2013-04-27 | 2013-08-21 | 无锡昶达信息技术有限公司 | 超高频rfid读写器、基带soc芯片及接口控制方法 |
Non-Patent Citations (1)
Title |
---|
SoC调试跟踪系统的设计与实现;徐文昌;《中国优秀硕士学位论文全文数据库 信息科技辑》;20130415(第4期);I135-182 * |
Also Published As
Publication number | Publication date |
---|---|
CN107577635A (zh) | 2018-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107577635B (zh) | 一种兼容ahb协议的非握手式jtag调试链路及其调试方法 | |
US6125416A (en) | Method and device for communicating across a chip boundary including a serial-parallel data packet converter having flow control logic | |
US5978870A (en) | On-chip parallel-serial data packet converter to interconnect parallel bus of integrated circuit chip with external device | |
US5983379A (en) | Test access port controller and a method of effecting communication using the same | |
US6088822A (en) | Integrated circuit with tap controller | |
CN105550119A (zh) | 一种基于jtag协议的仿真装置 | |
CN100487668C (zh) | 一种嵌入式处理器的调试方法 | |
CN101840368A (zh) | 多核处理器的jtag实时片上调试方法及其系统 | |
US6324663B1 (en) | System and method to test internal PCI agents | |
CN115017038A (zh) | 一种兼容apb协议的jtag调试系统 | |
CN113270137B (zh) | 一种基于fpga嵌入式软核的ddr2测试方法 | |
CN101582688A (zh) | 一种fpga加载模式的动态配置电路 | |
CN109254883A (zh) | 一种片上存储器的调试装置及方法 | |
US6041378A (en) | Integrated circuit device and method of communication therewith | |
CN110134561B (zh) | 一种软硬件协同验证中调试信息的输出方法及装置 | |
EP0840235B1 (en) | Message protocol | |
CN114089172A (zh) | 一种pcie io扩展芯片的jtag调试方法 | |
CN116737078A (zh) | 一种快速闪存读写系统、方法、设备及介质 | |
CN112557886B (zh) | 协议转换桥接电路以及系统级芯片 | |
CN112711925B (zh) | 虚拟化emif总线dsp软件设计方法 | |
CN103309798B (zh) | 一种dsp调试装置 | |
Hu et al. | A parallel JTAG-based debugging and selection scheme for multi-core digital signal processors | |
Grosso et al. | A software-based self-test methodology for system peripherals | |
CN118035021B (zh) | SoC芯片的内置驱动电路、SoC芯片及用于SoC芯片的测试方法 | |
CN117271236B (zh) | 复用jtag调试通道调试cpu核的处理器及应用方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |