CN102103535B - 多核处理器、多核处理器的调试系统和调试方法 - Google Patents
多核处理器、多核处理器的调试系统和调试方法 Download PDFInfo
- Publication number
- CN102103535B CN102103535B CN 201110053593 CN201110053593A CN102103535B CN 102103535 B CN102103535 B CN 102103535B CN 201110053593 CN201110053593 CN 201110053593 CN 201110053593 A CN201110053593 A CN 201110053593A CN 102103535 B CN102103535 B CN 102103535B
- Authority
- CN
- China
- Prior art keywords
- access port
- test access
- debugging
- tap
- processor core
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 19
- 238000012360 testing method Methods 0.000 claims abstract description 197
- 230000004044 response Effects 0.000 claims description 38
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 125000004122 cyclic group Chemical group 0.000 claims 1
- 230000008859 change Effects 0.000 abstract description 11
- 238000013461 design Methods 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 10
- 230000009471 action Effects 0.000 description 4
- 230000001276 controlling effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 108010022579 ATP dependent 26S protease Proteins 0.000 description 1
- 239000002253 acid Substances 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
Images
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明公开了一种多核处理器,包括测试访问端口控制器和调试连接器,测试访问端口控制器设置有与JTAG仿真器相连接的接口,调试连接器与所有处理器核的测试访问端口相连接,且所有测试访问端口以并行的方式接入调试连接器,测试访问端口控制器用于控制调试连接器使待测试的处理器核接入仿真器。上述结构的处理器,不用改变标准的JTAG端口和测试访问端口设计。本发明还公开了一种对上述多核处理器进行调试的系统和方法。
Description
技术领域
本发明涉及一种多核处理器、多核处理器的调试系统及调试方法。
背景技术
多核处理器是指在一枚处理器芯片中同时集成两个或多个计算内核。相比于单核处理器,多核处理器具有更快的运算速率,更加高效的功率利用率等特点。但是,相比于单核处理器,多核处理器的调试确显得复杂。
现有技术中,比如CPU、DSP等单核处理器通常采用JTAG(Joint Test ActionGroup,联合测试行动小组)接口对其内部电路逻辑进行访问以便于对其进行调试。JTAG是一种用于芯片内部测试的且兼容IEEE1149.1的国际标准化协议。标准的JTAG接口一般具有模式选择TMS、时钟TCK、数据输入TDI和数据输出TDO,还可能包括一个可选的TRST,用于测试复位。JTAG对芯片进行测试的基本原理是,在芯片的处理器中定义一个测试访问端口TAP(Test Access Port),JTAG仿真器通过该测试访问端口TAP对处理器内部节点进行测试。
对于多核处理器,由于其包含多个CPU和/或DSP等单核处理器,每个单核处理器均设置有属于自己的测试访问端口TAP,并且,各个单核处理器之间还通过外围逻辑电路连接,这些都导致多核处理器的联合调试变得复杂。
如图1所示为现有技术中一种采用串行方式对多核处理器进行调试时的连接图。从图中可以看出,多核处理器包含多个处理器核(也称IP),分别是IP1、IP2、IP3和IP4,每个处理器核均设置有属于自己的测试访问端口TAP。各个处理器核的测试访问端口TAP采用菊花链式的连接方式,即上一级测试访问端口TAP的TDO接入下级测试访问端口TAP的TDI,JTAG访真器的TCK、TMS、TRST接入所有的TAP。虽然通过此种方式可以测试各处理器核之间的连通性却也存在如下缺陷,由于各处理器核之间为菊花链式的串联方式,调试系统对于单个处理器核的调试十分困难;如果一个处理器核的测试访问端口TAP无效,那么与其相连接的其它处理器核均不能被调试;另外,此种连接方式在时行调试时,需要对调试工具,也就是JTAG仿真器,进行较大幅度的修改。
如果各处理器核的测试访问端口之间采用并行的连接方式,则可以对任何处理器核进行调试。并行的连接方式是指将测试数据输入TDI连入所有的测试访问端口TAP,所有测试访问端口TAP的测试数据输出TDO都经过多选器反馈给JTAG仿真器。测试模式TMS信号通过多选器分流为多个TMS送入所有的测试访问端口TAP中,测试时钟TCK和测试复位TRST送入所有的测试访问端口TAP。
现有技术中,采用并联的连接方式时,在多核处理器的内部增加一个芯片级的测试访问端口TAP通道,该芯片级的测试访问端口TAP通道与所有处理器的测试访问端口TAP相连接。调试时,JTAG仿真器首先访问该芯片级的测试访问端口TAP通道,然后通过对该芯片级的测试访问端口TAP通道对单个处理器核进行调试。
如图2所示为通过增加TLM(TAP Linking Module)模块对多核处理器进行调试时的多个测试访问端口TAP的连接示意图。图示中,多核处理器包括多个处理器核(IP),每个处理器核均设置有属于自己的测试访问端口TAP。另外地,该多核处理器还包括一个芯片级的TLM模块,该TLM模块设置有与JTAG仿真器相连接的TCK、TMS、TRSI和TDO接口,TLM模块还设置有SEL信号和ENA信号引脚,分别与所有测试访问端口TAP相连接。对应地,所有。调试时,TLM模块根据各个处理器核的TAP的SEL信号,对待测处理器核的TAP发出使能信号ENA,并把JTAG仿真器的测试信号TDI、TMS、TCK和TRST通过所述TAP传递给待测处理器核,并接收待测处理器核反馈的测试数据输出TDO。图2的结构通过增加TLM模块,并在TLM模块与处理器核的测试访问端口之间进行SEL和ENA通信,使待测处理器核接入JTAG仿真器的扫描链上,完成对单个处理器核的调试。其不足之片在于,需要改变测试访问端口TAP的设计,即增加关于SEL和ENA的设计。
如图3所示为通过增加单个信号MDS为多核处理器进行调试的多个TAP的连接示意图。在图示中,多核处理器的内部设置有一个芯片级的调试支持模块,该调试支持模块与JTAG仿真器和每个处理器核的测试访问端口TAP相连接,且各处理器核的测试访问端口TAP以并行的方式接入所述调试支持模块。调试支持模块设置有六个外部接口,除了分别与JTAG仿真器的TMS、TDI、TCK、TRST、TDO相连接的五个接口外,还设置了一个与JTAG的MDS信号相连接的接口,该接口用于接收从JTAG访真器发出的MDS信号。图示结构中,调试支持模块在MDS信号的控制作用,将待测试处理器核的测试访问端口TAP接入JTAG仿真器的扫描链。具体的实现方式是,当MDS信号为低电平时,将数据输入TDI移入调试支持模块中设置的链选指令寄存器,当MDS信号为高电平时,则将TDI移入链选指令寄存器指定TAP的TDI中。因此,图示结构需要改变JTAG仿真器的设计,主要是增加关于MDS信号设计,对JTAG仿真器的改动较大。
从上述内容可知,多核处理器的调试,需要改变标准的测试访问端口TAP的设计和/或者需要改变标准的JTAG访真器的设计。然而,测试访问端口TAP和JTAG仿真器均是IEEE1149.1协议中规范的内容,如果对其改动较大,将不利于各种多核处理器和调试系统的兼容。
发明内容
本发明要解决的主要技术问题是,提供一种多核处理器,在不改动每个处理器核的测试访问端口TAP,以及仿真器的标准端口的情况下,可以对多核处理器进行联合调试;本发明还提供了一种多核处理器的调试系统和调试方法,采用该调试系统和调试方法时,不用改变标准的TAP端口和标准的仿真器端口的设计。
为解决上述技术问题,本发明提供了一种多核处理器,包括多个处理器核和对应设置在每个处理器核上的测试访问端口TAP,还包括测试访问端口控制器和调试连接器,所述测试访问端口控制器设置有与JTAG仿真器相连接的接口,用于接收从JTAG仿真器输入的测试信息;所述调试连接器是所述测试访问端口控制器和所有测试访问端口TAP之间的连接转换接口,且所有的测试访问端口TAP是以并行的方式接入所述调试连接器;所述测试访问端口控制器控制所述调试连接器将待测处理器核的测试访问端口TAP接入所述JTAG仿真器。
所述测试访问端口控制器包括TAP状态机和旁路单元,所述旁路单元的值接入所述TAP状态机,用于控制所述TAP状态机是否指示进入数据扫描链,且所述旁路单元与调试连接器之间为串行连接,所述串行连接是指所述旁路单元的内部输出与所述调试连接器的测试数据输入TDI相连接,所述调试连接器的测试数据输出TDO接入所述旁路单元的外部输出。
所述调试连接器包括TAP选择模块、第一路多选模块和第二路多选模块,所述TAP选择模块用于从所述测试访问端口控制器中接收待测处理器核的测试访问端口TAP的编号,并将该编号转化为所述第一路多模块和第二路多选模块的控制信号,所述控制信号用于控制所述第一路多选模块将测试模式信号TMS输出给所述编号所对应的测试访问端口TAP,还控制所述第二路多选模块接收所述编号对应的测试访问端口TAP的测试数据输出并将所述测试数据输出反馈给所述JTAG仿真器。
所述TAP选择模块包括依次相连的扫描单元、TAP选择单元和译码单元,所述扫描单元与所述测试访问端口控制器和TAP选择单元相连接,并受到所述测试访问端口控制器输出的TAP Select信号的控制;所述TAP选择单元与所述扫描单元和译码单元相连接,并受到由测试访问端口控制器发出的Update_en信号的使能;所述译码单元与所述TAP选择单元相连接,且所述译码单元的译码结果作用于所述第一路多选单元和第二路多选单元;当测试访问端口控制器向所述扫描单元发出TAP Select信号,所述扫描单元从所述测试访问端口控制器中接收待测处理器核的编号;所述TAP选择单元在Update_en信号的使能时,将所述扫描单元中的接收到的所述编号写入所入TAP选择单元并由所述TAP选择单元驱动所述译码单元进行译码,所述译码单元将译码的结果作用于第一路多选单元和第二路多选单元。
还包括系统调试控制器SDC,所述系统调试控制器SDC与测试访问端口控制器和各个处理器核的测试访问端口TAP相连接,且各个处理器核的测试访问端口TAP是以并行的方式接入所述系统调试控制器SDC,所述系统调试控制器SDC用于在有处理器核均进入调试状态后向所述测试访问端口控制器输出调试响应信号。
所述系统调试控制器SDC包括:调试状态机、测试访问端口调试请求接收寄存器、芯片调试响应发送寄存器、处理器核调试请求发送寄存器、处理器核调试响应寄存器、系统控制器,所述调试状态机的输入与所述测试访问端口控制器调试请求发送寄存器和处理器核调试响应接收寄存器相连接,输出与所述测试访问端口调试响应发送寄存器、处理器核调试请求发送寄存器和系统控制器相连接;所述调试状态机包括六个状态,分别是:IDLE状态、IP_ACK状态、IP_REQ状态、CHIP_ACK状态、CHIP_REQ状态和IP_WAIT状态。
一种用于对上述的多核处理器进行调试的调试系统,包括JTAG仿真器和调试主机。
一种多核处理器的调试方法,包括步骤:
步骤A,调试主机循环访问测试访问端口控制器,直到获得测试访问端口控制器发出的调试响应信号;
步骤B,调试主机对测试访问端控制器进行配置,使测试访问端口控制器通过调试连接器将待测处理器核接入所述调试主机的扫描链;
步骤C,调试主机对待测处理器核进行调试。
所述步骤B中调试主机对测试访问端口控制器进行配置是指:B1,调试主机向测试访问端口控制器发出TAP Select命令;B2,调试主机向测试访问端口控制器中写入待测试处理器核的编号;B3,调试主机将测试访问端口控制器中旁路单元的值置为1。
所述步骤A之前还包括:系统调试控制器SDC收集调试主机向测试访问端口控制器发出的调试请求信息,并根据该调试请求信息向各个处理器核发送调试请求信号,待收集到所有处理器核的调试响应信号后,向测试访问端口控制器反馈调试响应信号。
本发明的有益效果是:本发明公开的多核处理器包括测试访问端口控制器和调试连接器,测试访问端口控制器是连接多核处理器外部和内部的接口,测试访问端口控制器外部与仿真器相连接,且该仿真器是标准的JTAG仿真器。测试访问端口控制器的内部与调试连接器相连接,调试连接器是测试访问端口控制器与处理器核之间的连接转换接口。通过测试访问端口控制器对调试连接器的控制作用,使待测的处理器核的测试访问端口通过调试连接器接入测试访问端口进而可以接入仿真器。上述结构中,通过设置测试访问端口控制器和调试连接器可以对多核处理器进行联合调试,并且还不用改变测试访问端口的设计和改变标准的JTAG仿真器的接口设计。
本发明公开的对上述多核处理器进行调试的系统和调试方法也具有上述有益效果。
附图说明
图1为现有技术中的采用串行方式对多核处理器进行调试时的连接图;
图2为现有技术中通过增加TLM(TAP Linking Module)模块对多核处理器进行调试时的多个测试访问端口TAP的连接示意图;
图3为现有技术中的通过增加单个信号MDS为多核处理器进行调试的多个TAP的连接示意图;
图4为本发明一种实施方式中的调试系统示意图;
图5为本发明的一种实施方式中的测试访问端口控制器结构图;
图6为本发明一种实施方式中的调试连接器的结构图;
图7为本发明一种实施方式中的系统调试控制器模块图;
图8为本发明一种实施方式中的调试状态机的状态转换图;
图9为本发明一种实施方式中的多核处理器的调试方法流程图。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。
实施例1:
本实施例旨在提供一种多核处理器,其每个处理器核的测试访问端口TAP为标准形式,且对其时行调试的JTAG仿真器的端口为标准的JTAG端口。
参考图4,一种多核处理器,其每个处理器核的测试访问端口TAP与JTAG仿真器之间的通信由一个芯片级TAP支持模块实现。该芯片级TAP支持模块位于芯片的内部,且与每个处理器核的测试访问端口TAP相连接,各个处理器核的测试访问端口TAP以并行的方式接入芯片级TAP支持模块。该芯片级TAP支持模块设置有外部接口,外部接口包括用于接收测试数据的TDI接口、用于向仿真器反馈测试数据输出的TDO接口、用于接收测试时钟信号的TCK接口、用于接收测试模式信号的TMS接口和/或用于接收复位信号的TRST接口(TRST接口为可选接口)。通过上述外部接口,芯片级TAP支持模块与JTAG仿真器之间可进行测试所必需的信息传递。
具体地,芯片级TAP支持模块包括测试访问端口控制器(CHIP TAP)和调试连接器(Debug linker)。在测试访问端口控制器上仅设置有TDI接口、TDO接口、TCK接口、TMS接口和/或TRST接口,调试连接器与各个处理器核的测试访问端口TAP相连接,具体的连接方式是,各个处理器核的测试访问端口TAP以并行的方式接入调试连接器。在上述结构中,调试连接器作为测试访问端口控制器和各个处理器核之间的连接转换接口,测试访问端口控制器通过控制调试连接器的连接关系,使待测处理器核的测试访问端口接入JTAG仿真器的扫描链,也就是将待测处理器核的测试访问端口接入JTAG仿真器。
参考图5,测试访问端口控制器兼容IEEE1149.1要求的基本特性,包括数据寄存单元、ID(器件标志)寄存单元、旁路单元、指令寄存单元、指令译码单元、TAP状态机和多选单元。上述各单元均可以由寄存器实现,比如,旁路单元可以采用旁路寄存器实现。图示中,TAP状态机与JTAG要求的标准的16态的状态机有所不同,在标准的16态中,可以根据TAP状态机的状态适时地进入指令扫描链和数据扫描链,指令扫描链是用于选择数据扫描链,以确定某种功能,数据扫描链即是增加了移位寄存器的电路,用于扫描测试和调试。本实施例将旁路单元的值作为扫描链的选择信号,也就是将旁路单元的值接入TAP状态机,当旁路单元的值为1时,所述TAP状态机指示进入数据扫描链,当旁路单元的值为0时,按照TAP状态机正常的16态指示进入数据扫描链或指令扫描链。同时,旁路单元还和调试连接器之间采用特殊的串行连接,特殊的串行连接是指旁路扫描,链的测试数据输出TDO接入调试连接器的测试数据输入TDI,然后将调试连接器的测试数据输出TDO引入旁路单元的外部测试数据输出EXTTDO作为旁路扫描链的外部输出。
图5中,TAP Select信号和旁路单元的值都是测试访问端口控制器的输出,均要输出给调试连接器,用来对调试连接器进行控制,使其与待测的处理器核的测试访问端口TAP相连通,也就是将待测的处理器核的测试访问端口TAP接入数据扫描链。更具体的描述结合图6进行。
参考图6,调试连接器包括TAP选择模块(图中未示出)、第一多选模块和第二多选模块。TAP选择模块包括三个控制信号,分别是来自测试访问端品控制器的Update_en使能信号,Update_en由TAP状态机发出,用于更新数据或指令寄存器的值;来自测试访问端口控制器的TAP Select信号和旁路单元的值。在TAPSelect信号的控制下,TAP选择模块通过CHIP TDI接口获得待测处理器核的编号,并且在Update_en信号的作用下,将该编号附值给一个K位的移位寄存器,其中K值也就是该编号的值,然后再经过译码,将译码后的结果作为第一多选模块和第二多选模块的控制信号。与此同时,TAP选择模块还受到旁路寄存器的值的控制,当旁路寄存器的值为1时,TAP选择模块才进行正常的译码输出,否则,TAP选择模块的输出结果为全0。
如图6示,TAP选择模块更具体的结构为:包括依次相连的扫描单元、TAP选择单元和译码单元,其中扫描单元可以是一个扫描寄存器,受到TAP Select信号的控制,在接入测试访问端口控制器的扫描链时,从测试访问端口控制器中获取待测处理器核的编号;TAP选择单元可以一个TAP选择寄存器,其为一个K位的移位寄存器,在TAP Select信号被选择时,且Update_en使能时,将待测处理器核的编号附值给K,并驱动译码单元进行译码。译码单元可以由一个译码寄存器实现,并采用二进制的编码方式,译码单元也有一个使能信号(图示中的BYPASS)为旁路单元的值,当旁路单元的值为1时,译码单元进行正常的输出,当旁路单元的值为0时,全部输出为0,也就是不将任何处理器核的测试访问端口接入数据扫描链,只进行系统级的测试。
第一多选模块和第二多选模块均可以采用多选器实现。其中第一多选模块的输入与测试模式TMS信号相连接,在译码器的控制下,将测试模式TMS信号输出给待测处理器核的测试访问端口TAP;第二多选模块的输入与每个处理器核的测试访问端口TAP相连接,在译码器的控制作用下,将正处于测试的处理器核的测试数据输出TDO反馈给JTAG仿真器。对于进行处理器核测试所需的测试数据输入TDI、测试时钟TCK和/或复位TRST信号可以直接接入各个处理核的测试访问端口TAP,以节约硬件。
上述结构的多核处理器,通过测试访问端口控制器和调试连接器的配合,可以对期望的处理器核进行测试,不需要改变标准的JTAG端口和标准的TAP端口。
实施例2:
实施例1中的多核处理器,在进行调试时,有可能存在下列的问题:如果待测的处理器核进入了调试状态,而其它的处理器核未进入调试状态,那么有可能使调试结果的可靠性降低。因为,在对某个处理器核进行调试时,其它处理器核的I/O(输入输出),读写内存等操作都可能导致处于调试状态中的处理器核的变量值发生改变,从使得调试结果的可靠性受到质疑。同时还存在另一种情况,也就是当某个处理器核的系统时钟供应不足或者系统电源供应不足时,如果强制使其进行调试也会使调试结果的可靠性受到质疑,理由是存在上述情况时,处理器核不可以时行调试。
因此,在实施例1的基础上,本实施例在芯片级TAP支持模块中增加了一个系统调试控制器SDC,该系统调试控制器SDC用于确保对单个处理器核进行调试时,所有的处理器核均进入调试状态。并且,该系统调试控制器SDC还可以对各个处理器核的时钟、电源及暂停控制进行设置,以使所有处理器核能够进入调试状态且系统时钟、电源供应充足。此处的暂停是指,CPU不再执行指令,Timer不再计数等,在进行调试情况下,需要把系统调入此状态。
参考图4,系统调试控制器SDC与测试访问端口控制器、处理器核和非处理器核相连接,且各处理器核以及非处理器核以并行的方式接入所述系统调试控制器SDC。非处理器核包括各处理器核的系统控制信息,比如各处理器的时钟控制、电源控制和暂停控制。系统调试控制器SDC可以对各处理器核的系统控制信息进行设置,以使各处理器核进入调试状态。
请参考图7,系统调试控制器SDC包括调试请求管理器(DBR)、调试响应管理器(DKBA)、控制器(Conrtoller)和调试状态机(DUBUG STATE MACHINE)。调试请求管理器用于管理各个处理器核和测试访问端口控制器的调试请求信号,具体包括CHIP调试请求接收寄存器和IP调试请求发送寄存器,CHIP调试请求接收寄存器用于接收并存储由测试访问端口控制器发出的调试请求信号,是系统调试控制器SDC的输入;IP调试请求发送寄存器用于向所有处理器核发出调试请求,是系统调试控制器SDC的输出。调试响应管理器用于管理各个处理器核和测试访问端口控制器的调试响应信号,具体包括CHIP调试响应发送寄存器和IP调试响应接收寄存器,CHIP调试响应发送寄存器用于当所有处理器核均进入调试状态后,向测试访问端口控制器发送调试响应信号,表明可以对待测的处理器核进行调试,是系统调试控制器SDC的输出;IP调试响应接收寄存器用于接收并存储各处理器进入调试状态后发出的调试响应信号。控制器用于对各个处理器核的控制系统进行设置,比如,对各个处理器核的时钟、电源以及处于调试中的处理器核的暂停与开启,目的在于使各个处理器核的系统时钟,电源供应充足,能够进行调试。调试状态机用于整体的调试调度。
请参考图8,调试状态机包括六个状态,分别是IDLE状态,也就是空闲默认状态,正常状态;IP_ACK状态,指处理器核针对调试请示进行了响应,用于单处理器核调试时,处理器核与SDC之间的握手;IP_REQ状态,指请求处理器核进行调试,用于单处理器核进行调试时,处理器核与SDC握手;CHIP_ACK状态,指对测试访问端口控制器进行了响应,用于调试时,测试访问端口控制器与SDC的握手;CHIP_REQ状态,是指测试访问端口控制器进行了请求,用于调试时,测试访问端口控制器与SDC的握手;IP_WAIT状态,指等待处理器核响应,用于单个处理器核调试时,处理器核与SDC的握手。
调试状态机每个状态的处理都与调试请求管理寄存器和调试响应管理寄存器相关。当状态机处于正常状态,也就是IDLE状态时,如果此时测试访问端口控制器向SDC发出了一个调试请求信号,该信号将被CHIP调试请求接收寄存器收集,并使调试状态机的状态进入CHIP_REQ状态,也就是表明测试访问端口控制器进行了调试请求;CHIP_REQ状态会自动跳入IP_REQ状态,同时,IP调试请求发送寄存器向所有的处理器核发送调试请求信号。发送调试请求信号后,进入IP_WAIT状态,在此状态中,IP调试响应接收寄存器会收集所有的处理器核的调试响应反馈信号,直到收集到所有处理器核的调试响应信号,然后调试状态机进入CHIP_ACK状态。进入CHIP_ACK状态后,CHIP调试响应发送寄存器向测试访问端口控制器发送调试响应信号,同时,SDC还会在此状态对时钟,电源及暂停进行调节。
上述过程是由测试访问端口控制器主动发送调试请求时的状态转移关系,实际中,调试的方法通常有两种,一种是主动调试,另一种设置断点调试。主动调试是指调试主机向多核处理器发送调试请求信号,断点调试是指待测处理器核在设置的断点处,比如某一时刻,主动向调试主机发送调试响应信号,调试主机检测到有调试响应信号后,对其进行调试。因此,当SDC的调试状态机处于正常状态时,如果此时由处理器核主动发起调试请求,实际上是处理器核在断点处主动发出调试响应信号,则IP调试响应接收寄存器会收集到该调试响应信号,状态机的状态也相应地进入IP_ACK状态,IP_ACK状态自动跳入IP_REQ状态,并且IP调试请求发送寄存器向所有的处理器核发送调试请求信号。此处向所有的处理器核发送调试请求信号的原因是,前面的调试响应只是单个处理器核发起的,表明了该处理器核进入了调试状态,还需要对其它的处理器核发送调试请求,使所有的处理器均进入调试状态才可以。进入IP_REQ状态后的后续状态与测试访问端口控制器主动发起的调试请求的状态转变相同,不再叙述。
通过增加系统调试控制器SDC,可以保证对待测试处理器核进行调试时,所有的处理器核均进入了调试状态,并且,通过系统调试控制器SDC中的控制器,可以对各个处理器核的系统时钟,电源和暂停等进行设置,使其可以进行调试。
实施例3:
请参考图4,一种多核处理器的调试系统,包括调试主机、仿真器和多核处理器。所述调试主机与仿真器相连接,用于将调试数据,调试指令等信息通过仿真器传递给多核处理器,进而对多核处理器进行调试。仿真器为标准的JTAG仿真器,其与多核处理器之间通过标准的TDI、TDO、TMS、TCK和/或TRST接口相连接,多核处理器具有实施例1和/或实施例2所述的结构和功能。
请参考图9,一种多核处理器的调试方法,包括步骤:
步骤A,调试主机循环访问测试访问端口控制器,直到获得测试访问端口控制器发出的调试响应信号;
步骤B,调试主机对测试访问端控制器进行配置,使测试访问端口控制器通过调试连接器将待测处理器核接入所述调试主机的扫描链;
步骤C,调试主机对待测处理器核进行调试。
其中,步骤B中调试主机对测试访问端口进行配置具体包括:
B1,调试主机向测试访问端口控制器发出TAP Select命令;
B2,调试主机向测试访问端口控制器中写入待测试处理器核的编号;B3,调试主机将旁路的值置为1。
在上述步骤A之前还可能包括:
系统调试控制器SDC收集调试主机向测试访问端口控制器发出的调试请求信息,并根据该调试请求信息向各个处理器核发送调试请求信号,待收集到所有处理器核的调试响应信号后,通过测试访问端口控制器向调试主机反馈调试响应信号。
本实施中所述的调试系统和调试方法可以对实施例1和实施例2所述的多核处理器进行调试,还可以用于采有上述方法进行调试的多核处理器结构。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (7)
1.一种多核处理器,包括多个处理器核和对应设置在每个处理器核上的测试访问端口TAP,其特征在于,还包括测试访问端口控制器和调试连接器,所述测试访问端口控制器设置有与JTAG仿真器相连接的接口,用于接收从JTAG仿真器输入的测试信息;所述调试连接器是所述测试访问端口控制器和所有测试访问端口TAP之间的连接转换接口,且所有的测试访问端口TAP是以并行的方式接入所述调试连接器;所述测试访问端口控制器控制所述调试连接器将待测处理器核的测试访问端口TAP接入所述JTAG仿真器;其中,所述测试访问端口控制器包括TAP状态机和旁路单元,所述旁路单元的值接入所述TAP状态机,用于控制所述TAP状态机是否指示进入数据扫描链,且所述旁路单元与调试连接器之间为串行连接,所述串行连接是指所述旁路单元的内部输出与所述调试连接器的测试数据输入TDI相连接,所述调试连接器的测试数据输出TDO接入所述旁路单元的外部输出;所述调试连接器包括TAP选择模块、第一路多选模块和第二路多选模块,所述TAP选择模块用于从所述测试访问端口控制器中接收待测处理器核的测试访问端口TAP的编号,并将该编号转化为所述第一路多选模块和第二路多选模块的控制信号,所述控制信号用于控制所述第一路多选模块将测试模式信号TMS输出给所述编号所对应的测试访问端口TAP,还控制所述第二路多选模块接收所述编号对应的测试访问端口TAP的测试数据输出并将所述测试数据输出反馈给所述JTAG仿真器,其中,所述TAP选择模块包括依次相连的扫描单元、TAP选择单元和译码单元,所述扫描单元与所述测试访问端口控制器和TAP选择单元相连接,并受到所述测试访问端口控制器输出的TAPSelect信号的控制;所述TAP选择单元与所述扫描单元和译码单元相连接,并受到由测试访问端口控制器发出的Update_en信号的使能;所述译码单元与所述TAP选择单元相连接,且所述译码单元的译码结果作用于所述第一路多选模块和第二路多选模块;当测试访问端口控制器向所述扫描单元发出TAP Select信号,所述扫描单元从所述测试访问端口控制器中接收待测处理器核的编号;所述TAP选择单元在Update_en信号的使能时,将所述扫描单元中的接收到的所述编号写入所述TAP选择单元并由所述TAP选择单元驱动所述译码单元进行译码,所述译码单元将译码的结果作用于第一路多选模块和第二路多选模块。
2.如权利要求1所述的多核处理器,其特征在于,还包括系统调试控制器SDC,所述系统调试控制器SDC与测试访问端口控制器和各个处理器核的测试访问端口TAP相连接,且各个处理器核的测试访问端口TAP是以并行的方式接入所述系统调试控制器SDC,所述系统调试控制器SDC用于在有处理器核均进入调试状态后向所述测试访问端口控制器输出调试响应信号。
3.如权利要求2所述的多核处理器,其特征在于,所述系统调试控制器SDC包括:调试状态机、芯片调试请求接收寄存器、芯片调试响应发送寄存器、处理器核调试请求发送寄存器、处理器核调试响应接收寄存器、系统控制器,所述调试状态机的输入与所述芯片调试请求接收寄存器和处理器核调试响应接收寄存器相连接,输出与所述芯片调试响应发送寄存器、处理器核调试请求发送寄存器和系统控制器相连接;所述调试状态机包括六个状态,分别是:IDLE状态、IP_ACK状态、IP_REQ状态、CHIP_ACK状态、CHIP_REQ状态和IP_WAIT状态。
4.一种调试系统,包括JTAG仿真器和调试主机,其特征在于还包括如权利要求1-3任一项所述的多核处理器。
5.一种用于如权利要求1-3任一项所述的多核处理器的调试方法,其特征在于,包括步骤:
步骤A,调试主机循环访问测试访问端口控制器,直到获得测试访问端口控制器发出的调试响应信号;
步骤B,调试主机对测试访问端口控制器进行配置,使测试访问端口控制器通过调试连接器将待测处理器核接入所述调试主机的扫描链;
步骤C,调试主机对待测处理器核进行调试。
6.如权利要求5所述的多核处理器的调试方法,其特征在于,所述步骤B中调试主机对测试访问端口控制器进行配置是指:B1,调试主机向测试访问端口控制器发出TAP Select命令;B2,调试主机向测试访问端口控制器中写入待测试处理器核的编号;B3,调试主机将测试访问端口控制器中旁路单元的值置为1。
7.如权利要求5或6所述的多核处理器的调试方法,其特征在于,所述步骤A之前还包括:系统调试控制器SDC收集调试主机向测试访问端口控制器发出的调试请求信息,并根据该调试请求信息向各个处理器核发送调试请求信号,待收集到所有处理器核的调试响应信号后,向测试访问端口控制器反馈调试响应信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110053593 CN102103535B (zh) | 2011-03-07 | 2011-03-07 | 多核处理器、多核处理器的调试系统和调试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110053593 CN102103535B (zh) | 2011-03-07 | 2011-03-07 | 多核处理器、多核处理器的调试系统和调试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102103535A CN102103535A (zh) | 2011-06-22 |
CN102103535B true CN102103535B (zh) | 2013-05-08 |
Family
ID=44156323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110053593 Expired - Fee Related CN102103535B (zh) | 2011-03-07 | 2011-03-07 | 多核处理器、多核处理器的调试系统和调试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102103535B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508777A (zh) * | 2011-11-04 | 2012-06-20 | 杭州中天微系统有限公司 | 支持多种底层接口的在线仿真器装置 |
CN102880536B (zh) * | 2012-09-07 | 2015-06-03 | 杭州中天微系统有限公司 | 一种多核处理器的jtag调试方法 |
CN102880568A (zh) * | 2012-09-18 | 2013-01-16 | 杭州中天微系统有限公司 | 多核处理器状态跟踪装置 |
CN102880770B (zh) * | 2012-10-29 | 2014-12-24 | 无锡江南计算技术研究所 | 基于宏指令队列的cpu访存序列仿真模型 |
US9311202B2 (en) | 2012-11-01 | 2016-04-12 | Futurewei Technologies, Inc. | Network processor online logic test |
CN102929194B (zh) * | 2012-11-06 | 2014-09-17 | 长安大学 | 异步多核可编程自动化控制器 |
CN102998614B (zh) * | 2012-12-14 | 2014-08-06 | 中船重工(武汉)凌久电子有限责任公司 | 可实现dsp单板或多板jtag调试的系统及调试方法 |
GB2518866A (en) * | 2013-10-03 | 2015-04-08 | St Microelectronics Res & Dev | Flexible interface |
CN106680688B (zh) * | 2015-11-11 | 2020-09-25 | 恩智浦美国有限公司 | 利用并行扫描测试数据输入和输出测试多核集成电路 |
CN109726095A (zh) * | 2017-10-27 | 2019-05-07 | 深圳市中兴微电子技术有限公司 | 一种多核芯片调试的方法、系统及装置 |
CN109344018B (zh) * | 2018-09-10 | 2022-03-29 | 深圳忆联信息系统有限公司 | 多核cpu测试方法、装置、计算机设备和存储介质 |
CN109656756B (zh) * | 2018-11-12 | 2022-05-17 | 南京南瑞继保电气有限公司 | 多核cpu板卡调试方法及装置、移动存储介质 |
CN109407655B (zh) * | 2018-12-27 | 2021-05-25 | 重庆中星微人工智能芯片技术有限公司 | 一种调试芯片的方法及装置 |
CN112948197B (zh) * | 2021-04-02 | 2024-02-06 | 珠海奔图电子有限公司 | 多核处理器测试装置、系统、方法及片上系统 |
CN114325357A (zh) * | 2021-11-30 | 2022-04-12 | 山东云海国创云计算装备产业创新中心有限公司 | 一种debug系统、方法、装置以及介质 |
CN117741411A (zh) * | 2024-02-19 | 2024-03-22 | 西安简矽技术有限公司 | 一种芯片的调校系统和方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5544311A (en) * | 1995-09-11 | 1996-08-06 | Rockwell International Corporation | On-chip debug port |
US7284172B2 (en) * | 2004-04-30 | 2007-10-16 | International Business Machines Corporation | Access method for embedded JTAG TAP controller instruction registers |
CN100555241C (zh) * | 2007-10-10 | 2009-10-28 | 中兴通讯股份有限公司 | 一种多核处理器中实现裸核软件调试的方法 |
CN101382583B (zh) * | 2008-10-30 | 2010-09-08 | 中国人民解放军国防科学技术大学 | 多核微处理器jtag调试方法 |
CN101840368B (zh) * | 2010-03-26 | 2013-01-16 | 中国科学院计算技术研究所 | 多核处理器的jtag实时片上调试方法及其系统 |
-
2011
- 2011-03-07 CN CN 201110053593 patent/CN102103535B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN102103535A (zh) | 2011-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102103535B (zh) | 多核处理器、多核处理器的调试系统和调试方法 | |
CN102360329B (zh) | 总线监控与调试控制装置及进行总线监控与总线调试的方法 | |
CN101382583B (zh) | 多核微处理器jtag调试方法 | |
CN101788945B (zh) | 一种多电路板或多模块电子系统的诊断测试系统及方法 | |
CN101556551B (zh) | 设备故障日志的硬件获取系统及方法 | |
CN1949723A (zh) | 一种atca中jtag器件远程维护的方法及系统 | |
CN101963934A (zh) | 一种基于8051核的片上系统的在线调试方法 | |
CN206161792U (zh) | 一种用于集成电路测试的边界扫描测试装置 | |
CN112015604A (zh) | 一种基于Zynq FPGA的自动化可靠性评估系统及评估方法 | |
CN202267954U (zh) | 总线监控与调试控制装置 | |
CN100552636C (zh) | 一种用于并行计算机系统的带外诊断测试接口及测试方法 | |
US7884641B2 (en) | Setting operating mode of an interface using multiple protocols | |
CN111060807B (zh) | 基于SoC的高速集成电路测试平台及其测试方法 | |
CN1230885C (zh) | 一种边界扫描芯片容错测试方法及系统 | |
CN100388215C (zh) | 芯片硬件上利用多重异步时钟的除错支持单元及除错方法 | |
US9581643B1 (en) | Methods and circuits for testing partial circuit designs | |
CN209765501U (zh) | 一种基于jtag的多处理器仿真调试装置 | |
CN109726095A (zh) | 一种多核芯片调试的方法、系统及装置 | |
CN208781208U (zh) | Pci总线测试板卡 | |
Ramirez et al. | A flexible debugger for a risc-v based 32-bit system-on-chip | |
US11983087B2 (en) | Detecting anomalous latent communications in an integrated circuit chip | |
CN115658512A (zh) | 一种通用处理器的调试系统 | |
CN116414682A (zh) | 程序的测试方法、装置、电子设备及存储介质 | |
CN117290212A (zh) | 基于risc-v架构调试系统 | |
CN207946806U (zh) | 一种调试器和调试装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130508 Termination date: 20200307 |
|
CF01 | Termination of patent right due to non-payment of annual fee |