CN101382583B - JTAG debugging method for multi-core microprocessor - Google Patents
JTAG debugging method for multi-core microprocessor Download PDFInfo
- Publication number
- CN101382583B CN101382583B CN200810143445XA CN200810143445A CN101382583B CN 101382583 B CN101382583 B CN 101382583B CN 200810143445X A CN200810143445X A CN 200810143445XA CN 200810143445 A CN200810143445 A CN 200810143445A CN 101382583 B CN101382583 B CN 101382583B
- Authority
- CN
- China
- Prior art keywords
- core
- debugging
- tdi
- jtag
- emulator
- 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
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明公开了一种多核微处理器JTAG调试方法,要解决的技术问题是通过单一JTAG调试接口对多核处理器内多个IP核进行调试。技术方案是先在多核微处理器中增加一个由链选指令寄存器、译码器、第一多路选择器、第二多路选择器组成的调试支持模块作为整个多核芯片的调试接口,且在多核芯片的调试软件中增加一条链选命令,然后由JTAG仿真器保持k个TCK时钟低电平的链选命令的使能信号,最后采用调试支持模块对多核微处理器进行调试。采用本发明可经由一个JTAG调试接口调试多核芯片中多个内核,支持的内核数多达2k个,且原有单核的调试软件可重用。
The invention discloses a multi-core microprocessor JTAG debugging method, and the technical problem to be solved is to debug multiple IP cores in the multi-core processor through a single JTAG debugging interface. The technical solution is to first add a debugging support module composed of chain selection instruction register, decoder, first multiplexer and second multiplexer in the multi-core microprocessor as the debugging interface of the whole multi-core chip, and in A chain selection command is added in the debugging software of the multi-core chip, and then the enable signal of the chain selection command of k TCK clock low levels is maintained by the JTAG emulator, and finally the multi-core microprocessor is debugged by using the debugging support module. The invention can debug a plurality of cores in a multi-core chip through a JTAG debugging interface, the number of supported cores is up to 2 k , and the original single-core debugging software can be reused.
Description
技术领域:本发明涉及微处理器芯片的基于JTAG标准的调试方法,尤其是对多核微处理器芯片进行JTAG调试的方法。Technical field: the present invention relates to a debugging method based on the JTAG standard of a microprocessor chip, especially a method for JTAG debugging of a multi-core microprocessor chip.
背景技术:随着问题规模的增大和对实时性要求的提高,单核微处理器的处理能力已难以满足需求。多核技术为设备开发人员带来了前所未有的优势体验,包括更高的处理器性能、更高的功率利用效率和针对嵌入式设备的更小的物理内存体积。然而,多核结构显著增加了系统的复杂度,随着单芯片内多核结构的普及,多处理器系统的调试问题越显突出。Background technology: With the increase of the scale of the problem and the improvement of the real-time requirement, the processing capability of the single-core microprocessor has been difficult to meet the requirement. Multi-core technology brings unprecedented advantages to device developers, including higher processor performance, higher power utilization efficiency and smaller physical memory size for embedded devices. However, the multi-core structure significantly increases the complexity of the system. With the popularization of the multi-core structure in a single chip, the debugging problem of the multi-processor system becomes more and more prominent.
目前,大多数IP(Intellectual Property,知识产权)模块都采用IEEE1149.1标准的JTAG接口作为其调试接口,这就带来了一个问题:这个芯片上有多个TAP(Test Access Port,测试访问端口)控制器。一些IP提供商已经利用自己开发的芯片级通道支持调试单个IP模块。为了能够对多个内核进行调试,一个标准的可访问所有TAP控制器的芯片级通道十分必要。另外一个复杂的系统芯片上,多个不同的内核会使用不同的调试工具,如何让这些单个IP模块的调试工具继续发挥作用也是一个重要问题。如果仅仅在多核微处理器芯片上集成多个需要调试的IP就需要开发新的调试软件显然是一种浪费。最好的办法是能够重用那些针对单IP的调试工具,软件上不作修改或只做少量的修改。At present, most IP (Intellectual Property, intellectual property rights) modules use the JTAG interface of the IEEE1149.1 standard as their debugging interface, which brings a problem: there are multiple TAP (Test Access Port, test access ports) ) controller. Some IP providers have used their own developed chip-level channels to support debugging a single IP block. In order to be able to debug multiple cores, a standard on-chip access to all TAP controllers is necessary. In addition, on a complex system chip, multiple different cores will use different debugging tools. How to make the debugging tools of these single IP modules continue to function is also an important issue. It is obviously a waste to develop new debugging software if only integrating multiple IPs that need to be debugged on a multi-core microprocessor chip. The best way is to be able to reuse those debugging tools for a single IP, with no or only a small amount of modification on the software.
在多内核处理器中,开发人员希望通过片外单一的JTAG接口访问片内集成的多个内核就可以对这些内核进行调试。目前,多核处理器JTAG调试最常用的方法是菊花链连接(Daisy-chain)方法,所有IP核的TDI(Test DataInput,测试数据输入)和TDO(Test Data Output,测试数据输出)连接成一个串行的链,IPi的TDO连接到IPi+1(1≤i≤n-1,n为IP核的个数)的TDI。控制信号TCK(Test Clock,测试时钟)、TMS(Test Mode Select,测试模式选择)和TRST(Test Reset,测试复位)连接到所有IP核的TAP控制器上。在指令扫描操作时,指令被串行移入每个IP核TAP的指令寄存器,这样就可以同时对多个TAP控制器进行访问,捕捉同一时刻各个IP核边界上的输入和输出信号,对于互联测试非常有价值。然而,这种单芯片上的菊花链连接方式存在两个缺点:首先,它与IEEE 1149.1协议不兼容;其次,它使得对n个IP核中的单个TAP控制器的测试访问变得复杂。In multi-core processors, developers hope to debug these cores by accessing multiple cores integrated on-chip through a single JTAG interface off-chip. At present, the most commonly used method for JTAG debugging of multi-core processors is the daisy-chain method. TDI (Test DataInput, test data input) and TDO (Test Data Output, test data output) of all IP cores are connected into a serial The chain of rows, the TDO of IP i is connected to the TDI of IP i+1 (1≤i≤n-1, n is the number of IP cores). The control signals TCK (Test Clock, test clock), TMS (Test Mode Select, test mode selection) and TRST (Test Reset, test reset) are connected to the TAP controllers of all IP cores. During the instruction scanning operation, the instruction is serially shifted into the instruction register of each IP core TAP, so that multiple TAP controllers can be accessed at the same time, and the input and output signals on the boundaries of each IP core can be captured at the same time. For interconnection testing Great value. However, this daisy-chain connection on a single chip has two disadvantages: first, it is not compatible with the IEEE 1149.1 protocol; second, it complicates test access to a single TAP controller in n IP cores.
为达到与IEEE 1149.1协议的兼容性,有人提出一种增加TAP连接模块TLM(TAP Linking Module)的方案,在多核微处理器芯片上只提供一个完全与IEEE 1149.1协议兼容的TAP接口,对外提供TDI、TMS、TCK、TRST和TD05个引脚,仿真器的JTAG调试接口通过TLM连接到各个TAP,TLM负责把JTAG调试接口的信号连接到某一个指定的要测试的IP核的TAP上,而芯片内部IP核的TAP与TLM进行互连,每个TAP除了绑定的JTAG调试接口的5根信号线外,还增加了选择信号SEL和使能信号ENA,通过SEL和ENA确定哪一个或哪几个IP核的TAP连接到仿真器的JTAG调试接口上。TLM根据SEL和ENA将仿真器的测试信号TDI、TMS、TCK、TRST传送到片内某个TAP相应的TDI、TMS、TCK和TRST端口,将该TAP的TDO端口输出的数据通过TDO引脚经过JTAG仿真器送达调试主机,以实现对多核芯片中的某个IP核的JTAG调试。但这种方法必须为IP核内部的TAP增加额外的选择和使能信号,这就必须修改IP核内部的TAP,将ENA和SEL信号加入TAP的设计中。每个TAP的TAP控制器从TLM获得的ENA作为输入使能或禁止该TAP,TAP中的指令寄存器增加SEL信号输出到TLM以响应扫入其指令寄存器的指令,这使硬件设计变得复杂,如果IP核是硬核,这种修改是不可能的。由于TLM可以连接多个IP核的TAP,且硬件上对TAP的修改使得除了要把原有的单IP核的调试软件进行修改外还要将修改后的单核调试软件集成为多核芯片的调试软件,这也使得调试软件的设计变得复杂,可重用性不好。In order to achieve compatibility with the IEEE 1149.1 protocol, someone proposed a scheme to increase the TAP connection module TLM (TAP Linking Module), which only provides a TAP interface fully compatible with the IEEE 1149.1 protocol on the multi-core microprocessor chip, and provides TDI externally. , TMS, TCK, TRST and TD05 pins, the JTAG debugging interface of the emulator is connected to each TAP through the TLM, and the TLM is responsible for connecting the signal of the JTAG debugging interface to the TAP of a specified IP core to be tested, and the chip The TAP of the internal IP core is interconnected with the TLM. In addition to the 5 signal lines of the bound JTAG debugging interface, each TAP also adds a selection signal SEL and an enable signal ENA. Which one or which ones are determined by SEL and ENA The TAP of each IP core is connected to the JTAG debugging interface of the emulator. TLM transmits the test signals TDI, TMS, TCK, and TRST of the emulator to the corresponding TDI, TMS, TCK, and TRST ports of a certain TAP in the chip according to SEL and ENA, and the data output by the TDO port of the TAP passes through the TDO pin. The JTAG emulator is sent to the debugging host to implement JTAG debugging of a certain IP core in the multi-core chip. However, this method must add additional selection and enable signals to the TAP inside the IP core, which requires modifying the TAP inside the IP core and adding the ENA and SEL signals to the design of the TAP. The TAP controller of each TAP obtains ENA from the TLM as an input to enable or disable the TAP, and the instruction register in the TAP increases the SEL signal output to the TLM in response to the instruction scanned into its instruction register, which makes the hardware design complicated. This modification is not possible if the IP core is a hard core. Since TLM can connect multiple IP-core TAPs, and the modification of TAP on the hardware makes it necessary to integrate the modified single-core debugging software into multi-core chip debugging in addition to modifying the original single-IP-core debugging software. Software, which also makes the design of the debugging software complicated, and the reusability is not good.
因此,多核处理器调试领域亟需一种能够兼容IEEE 1149.1协议,可重用各个内核的调试方法,对多核处理器各个内核进行调试。Therefore, in the field of multi-core processor debugging, there is an urgent need for a debugging method that is compatible with the IEEE 1149.1 protocol and can reuse each core to debug each core of the multi-core processor.
发明内容:Invention content:
本发明要解决的技术问题就是如何基于IEEE 1149.1标准,使得能够通过单一JTAG调试接口对多核处理器内集成的多个IP核进行JTAG调试。The technical problem to be solved by the present invention is exactly how to make it possible to carry out JTAG debugging to multiple IP cores integrated in a multi-core processor through a single JTAG debugging interface based on the IEEE 1149.1 standard.
本发明的技术方案包括以下步骤:Technical scheme of the present invention comprises the following steps:
第一步,在具有n个IP核的多核微处理器中增加一个芯片级的TAP控制器——调试支持模块DSM(Debug Support Module)。调试支持模块的设计方法是:The first step is to add a chip-level TAP controller in the multi-core microprocessor with n IP cores - Debug Support Module DSM (Debug Support Module). The design approach for the debug support module is:
调试支持模块是整个多核芯片的调试接口,它具有与IEEE 1149.1协议兼容的JTAG接口,除具有TDI、TMS、TCK、TRST、TDO这五个引脚与仿真器的JTAG调试接口相连外,还添加一个多核调试选择引脚接受链选命令的使能信号MDS(Mutil-core Debug Select);MDS由仿真器产生,选择JTAG仿真器的EMU0(Emulation 0,仿真脚0)或是EMU1((Emulation 1,仿真脚1)引脚作为MDS信号的输出引脚。调试支持模块与片内所有的IP核都相连,它将从仿真器输入的测试信号TDI、TMS、TCK和TRST信号传送到片内某个TAP相应的TDI、TMS、TCK和TRST端口,将该TAP的TDO端口输出的数据通过TDO引脚经过JTAG仿真器送达调试主机,以实现对多核芯片中的某个IP核的JTAG调试。The debugging support module is the debugging interface of the entire multi-core chip. It has a JTAG interface compatible with the IEEE 1149.1 protocol. In addition to the five pins TDI, TMS, TCK, TRST, and TDO, which are connected to the JTAG debugging interface of the emulator, it also adds A multi-core debug selection pin accepts the enable signal MDS (Mutil-core Debug Select) of the chain selection command; MDS is generated by the emulator, and selects EMU0 (Emulation 0, emulation pin 0) or EMU1 ((Emulation 1) of the JTAG emulator , the emulation pin 1) pin is used as the output pin of the MDS signal. The debugging support module is connected with all the IP cores in the chip, and it transmits the test signals TDI, TMS, TCK and TRST signals input from the emulator to an on-chip The corresponding TDI, TMS, TCK and TRST ports of each TAP, the data output by the TDO port of the TAP is delivered to the debugging host through the TDO pin through the JTAG emulator, so as to realize the JTAG debugging of a certain IP core in the multi-core chip.
调试支持模块由链选指令寄存器、译码器、第一多路选择器和第二多路选择器组成。JTAG仿真器的TCK和TRST通过调试支持模块与每个IP核的TAP控制器相连。链选指令寄存器的长度为k(
第二步,将原有单IP核的调试软件集成为多核芯片调试软件,并在多核芯片的调试软件中增加一条链选命令,链选命令格式为:intSelectIP(int IpNum),功能是将IpNum发送到仿真器,参数IpNum是各IP核的标识号,当IpNum为j时,表示选择第j(1≤j≤n)个IP核进行调试。The second step is to integrate the original single IP core debugging software into multi-core chip debugging software, and add a chain selection command in the multi-core chip debugging software. The chain selection command format is: intSelectIP(int IpNum), the function is to Sent to the emulator, the parameter IpNum is the identification number of each IP core. When IpNum is j, it means that the jth (1≤j≤n) IP core is selected for debugging.
第三步,由JTAG仿真器保持k个TCK时钟低电平的MDS信号。方法是:在JTAG仿真器的可编程逻辑中定义一个长度为p位、计数单位为k的计数器Counter,将Counter初值置为k,JTAG仿真器接收到调试主机发送的链选命令后,Counter在TCK时钟控制下开始计数,将EMU0(或EMU1)引脚的输出置为低电平,同时将从调试主机传来的IpNum从仿真器TDI引脚串行输出;Counter的值减到0时,将EMU0(或EMU1)引脚的输出置为高电平。这样在JTAG仿真器的可编程逻辑中就生成了k个TCK周期低电平的MDS信号。In the third step, the JTAG emulator keeps the MDS signal of k low-level TCK clocks. The method is: define a length of p in the programmable logic of the JTAG emulator Bit, counting unit is the counter Counter of k, the initial value of Counter is set to k, after the JTAG emulator receives the link selection command sent by the debugging host, the Counter starts counting under the control of the TCK clock, and the EMU0 (or EMU1) pin The output is set to low level, and the IpNum transmitted from the debugging host is serially output from the TDI pin of the emulator; when the value of Counter is reduced to 0, the output of the EMU0 (or EMU1) pin is set to high level. In this way, in the programmable logic of the JTAG emulator, low-level MDS signals of k TCK cycles are generated.
第四步,采用调试支持模块对多核微处理器进行调试,方法是:The fourth step is to use the debugging support module to debug the multi-core microprocessor, the method is:
步骤一,调试主机执行链选命令,将参数IpNum送给JTAG仿真器。
步骤二,JTAG仿真器收到IpNum后,生成保持k个TCK时钟低电平的MDS信号,由仿真器的EMU0(或EMU1)引脚输出到调试支持模块的多核调试选择引脚,同时将IpNum逐位输出到JTAG调试接口的TDI引脚。
步骤三,当MDS为低电平时(前k个TCK时钟),TDI串行移入调试支持模块的链选指令寄存器,当MDS由低电平变为高电平时(第k+1个TCK时钟),译码器开始译码。
步骤四,根据IpNum的不同,译码器将链选指令码译码为第j个IP核的标识号,第一多路选择器收到译码结果后将从JTAG仿真器获得的TDI和TMS传送到第j个IP核的TAP的TDIj和TMSj,第二多路选择器收到译码结果后将该IP核TAP的输出TDOj传送到芯片调试接口的TDO然后经仿真器送达调试主机,调试主机调用集成在多核芯片调试软件中的IPj原有的单IP核调试软件对IPj进行调试。Step 4, according to the difference of IpNum, the decoder decodes the chain selection instruction code into the identification number of the jth IP core, and the TDI and TMS obtained from the JTAG emulator will be obtained by the first multiplexer after receiving the decoding result TDI j and TMS j of the TAP transmitted to the jth IP core, the second multiplexer receives the decoding result and transmits the output TDO j of the IP core TAP to the TDO of the chip debugging interface and then delivered by the emulator Debugging host, the debugging host invokes the original single IP core debugging software of IP j integrated in the multi-core chip debugging software to debug IP j .
采用本发明可以得到以下技术效果:Adopt the present invention can obtain following technical effect:
1.采用本发明开发人员可经由一个JTAG调试接口调试多核芯片中多个离散状态的内核,它避免了菊花链方法中所遇到的比特移位随着集成的内核的数目而改变的问题,因而在多核芯片结构中具有更高的性能。1. Adopt the developer of the present invention to debug the core of a plurality of discrete states in the multi-core chip via a JTAG debugging interface, it has avoided the bit shift that encounters in the daisy chain method and changes with the number of integrated cores, Therefore, it has higher performance in multi-core chip structure.
2.只需在多核芯片的调试软件中增加简单的链选命令,执行完链选命令之后,调用集成在多核芯片调试软件中的IP核原有的调试软件就可对多核芯片任意一个IP核进行调试,因此原有IP核的调试软件可重用。在主机端,无论是原有IP核的片上调试硬件还是调试软件都可以得到很好的重用性。在多核芯片中,无论芯片中集成的是哪种结构的IP核,只需将这些IP核原有的调试接口与调试支持模块进行互连,便可在多核芯片中复用这些IP核的片上调试硬件和原有的调试功能。2. Just add a simple chain selection command to the debugging software of the multi-core chip. After executing the chain selection command, call the original debugging software of the IP core integrated in the multi-core chip debugging software to control any IP core of the multi-core chip. Debugging, so the debugging software of the original IP core can be reused. On the host side, whether it is the on-chip debugging hardware or debugging software of the original IP core, good reusability can be obtained. In a multi-core chip, no matter what kind of structure of the IP core is integrated in the chip, the on-chip of these IP cores can be reused in the multi-core chip only by interconnecting the original debugging interface of these IP cores with the debugging support module. Debug hardware and legacy debug capabilities.
3.是一种可高度扩展的解决方法,由于链选指令寄存器为k位,可支持多达2k条链选命令,因此能够支持多达2k个内核的调试。3. It is a highly extensible solution. Since the chain selection instruction register is k bits, it can support up to 2 k chain selection commands, so it can support debugging of up to 2 k cores.
附图说明Description of drawings
图1是背景技术采用菊花链方法对多核微处理器进行调试时多个TAP的连接示意图;Fig. 1 is the connection schematic diagram of a plurality of TAPs when the background technology adopts the daisy chain method to debug the multi-core microprocessor;
图2是采用增加TLM方法对多核微处理器进行调试时的多个TAP的连接示意图;Fig. 2 is the connection schematic diagram of a plurality of TAPs when multi-core microprocessor is debugged by adopting the method of adding TLM;
图3是本发明调试支持模块与片内各个内核TAP的互连结构图;Fig. 3 is the interconnection structural diagram of debugging support module and each kernel TAP in chip of the present invention;
图4是本发明调试支持模块内部逻辑结构图;Fig. 4 is a diagram of the internal logic structure of the debugging support module of the present invention;
图5是本发明调试支持模块执行链选命令时所要求的MDS信号时序图。Fig. 5 is a timing diagram of the MDS signal required when the debugging support module of the present invention executes the chain selection command.
具体实施方式Detailed ways
图1是采用菊花链连接方法对多核微处理器进行调试时n个TAP的连接图:IP1的TAP的TDI连接到片外JTAG调试接口的TDI,IPi的TAP的TDO连接到IPi+1(1≤i≤n-1)TAP的TDI,IPnTAP的TDO连接到片外JTAG调试接口的TDO。各个IP核TAP的TDI信号和TDO信号连接成一个串行的链,控制信号TMS、TCK和TRST则是所有TAP共享,即片外JTAG调试接口的TMS、TCK和TRST与所有TAP的TMS、TCK和TRST都相连。这种方法在PCB板级的芯片互连测试中应用非常普遍,也可在单芯片中使用,实现对所有嵌入的TAP的访问以实现对多核微处理器各个IP核的调试。但它与IEEE 1149.1协议不兼容,且菊花链的连接方式使得对n个IP核中的单个TAP的测试访问变得复杂。Figure 1 is the connection diagram of n TAPs when debugging a multi-core microprocessor using the daisy chain connection method: the TDI of the TAP of IP 1 is connected to the TDI of the off-chip JTAG debugging interface, and the TDO of the TAP of IP i is connected to the IP i+ 1 (1≤i≤n-1) TDI of TAP, IP n TDO of TAP is connected to TDO of off-chip JTAG debug interface. The TDI signal and TDO signal of each IP core TAP are connected into a serial chain, and the control signals TMS, TCK and TRST are shared by all TAPs, that is, TMS, TCK and TRST of the off-chip JTAG debugging interface and TMS and TCK of all TAPs Both are connected to TRST. This method is widely used in PCB board-level chip interconnection testing, and can also be used in a single chip to realize access to all embedded TAPs to realize debugging of each IP core of a multi-core microprocessor. But it is not compatible with the IEEE 1149.1 protocol, and the daisy chain connection makes the test access to a single TAP in n IP cores complicated.
图2是采用增加TLM方法对多核微处理器进行调试时的多个TAP的连接示意图。TLM作为芯片唯一的调试接口,它的输入是TDI、TMS、TCK和TRST,输出是TDO。每个IP核TAP的5针信号TDI、TMS、TCK、TRST和TDO都与TLM进行互连,TLM负责把JTAG调试接口的信号连接到某一个指定的要测试的IP核的TAP上。这种方法需要为每个TAP增加选择信号SEL和使能信号ENA与TLM相连,通过SEL和ENA确定选择哪一个或哪几个IP核的TAP连接到芯片的TAP接口上。因此这种方法必须修改IP核内部的TAP,将SEL和ENA加入TAP的设计中,使硬件设计变得复杂。由于TLM可以连接多个IP核的TAP,且硬件上对TAP的修改使得原有IP核的调试软件必须进行修改后才能集成在多核芯片的调试软件中,这使得调试软件的设计变得复杂,可重用性不好。FIG. 2 is a schematic diagram of connection of multiple TAPs when debugging a multi-core microprocessor by adding a TLM method. TLM is the only debug interface of the chip, its input is TDI, TMS, TCK and TRST, and its output is TDO. The 5-pin signals TDI, TMS, TCK, TRST and TDO of each IP core TAP are interconnected with the TLM, and the TLM is responsible for connecting the signal of the JTAG debugging interface to a specified TAP of the IP core to be tested. This method needs to add a selection signal SEL and an enable signal ENA for each TAP to be connected to the TLM, and determine which or which TAPs of the IP core are selected to be connected to the TAP interface of the chip through SEL and ENA. Therefore, this method must modify the TAP inside the IP core, and add SEL and ENA to the design of the TAP, which makes the hardware design complicated. Since the TLM can connect multiple IP core TAPs, and the modification of the TAP on the hardware makes the original IP core debugging software must be modified before it can be integrated into the multi-core chip debugging software, which makes the design of the debugging software complicated. Bad reusability.
图3是本发明调试支持模块与片内各个内核TAP的互连结构图。Fig. 3 is a diagram of the interconnection structure between the debugging support module and each core TAP in the chip according to the present invention.
调试支持模块除具有TDI、TMS、TCK、TRST、TDO这五个输入引脚与仿真器的JTAG调试接口相连外,还有一个多核调试选择引脚接受链选命令的使能信号MDS,MDS由仿真器产生,JTAG仿真器的EMU0(或EMU1)引脚是MDS信号的输入引脚。调试支持模块的输出TDI1~TDIn,TMS1~TMSn,TCK_N,TRST_N分别与IP1~IPn的TAP的TDI、TMS、TCK、TRST相连(即IPj的TAP的TDI、TMS、TCK、TRST分别为输入信号TDIj、TMSj、TCK_N、TRST_N),调试支持模块将仿真器的测试信号TDI、TMS、TCK和TRST信号传送到片内要调试的某个IP核的TAP相应的TDI、TMS、TCK和TRST端口;调试支持模块另有TDO1~TDOn这n个输入分别与IP1~IPn的TAP的输出信号TDO相连,将被调试的IP核的TAP输出的数据通过TDO引脚经过JTAG仿真器送达调试主机。调试支持模块的输入TDI、TMS、TCK、TRST、MDS和输出TDO连接至片外作为整个芯片统一的JTAG接口,通过调试支持模块这样一个芯片级TAP控制器通道对多核芯片上的各个IP核进行JTAG调试。In addition to the five input pins of TDI, TMS, TCK, TRST, and TDO connected to the JTAG debug interface of the emulator, the debug support module also has a multi-core debug selection pin to accept the enable signal MDS of the chain selection command. MDS is controlled by Generated by the emulator, the EMU0 (or EMU1) pin of the JTAG emulator is the input pin of the MDS signal. The output TDI 1 ~ TDI n , TMS 1 ~ TMS n , TCK_N, TRST_N of the debugging support module are respectively connected with the TDI, TMS, TCK, TRST of the TAP of IP 1 ~ IP n (that is, the TDI, TMS, TCK of the TAP of IP j , TRST are input signals TDI j , TMS j , TCK_N, TRST_N respectively), the debugging support module transmits the test signals TDI, TMS, TCK and TRST signals of the emulator to the TAP corresponding TDI of a certain IP core to be debugged in the chip , TMS, TCK and TRST ports; the debugging support module also has n inputs TDO 1 ~ TDO n , which are respectively connected to the TAP output signal TDO of IP 1 ~ IP n , and the data output by the TAP of the IP core to be debugged is passed through TDO The pins are sent to the debug host via the JTAG emulator. The input TDI, TMS, TCK, TRST, MDS and output TDO of the debugging support module are connected to the off-chip as the unified JTAG interface of the whole chip, and each IP core on the multi-core chip is implemented through a chip-level TAP controller channel such as the debugging support module. JTAG debugging.
图4是本发明调试支持模块逻辑结构图。调试支持模块由链选指令寄存器、译码器、第一多路选择器和第二多路选择器组成。链选指令寄存器的输入端与JTAG仿真器的TDI和EMU0(或EMU1)相连,从仿真器获得TDI和MDS,输出端与译码器相连,将链选指令码送到译码器;译码器的输入端与EMU0(或EMU1)和链选指令寄存器相连,输出端与第一多路选择器和第二多路选择器相连;第二多路选择器的输入端分别与所有IP核的TAP的TDO和译码器的输出端相连,其输出端与JTAG仿真器的TDO相连,它在译码结果的控制下,选择某个IP核TAP的TDO送到仿真器的TDO引脚。MDS信号为低电平时,使能调试支持模块中的链选指令寄存器,TDI串行移入链选指令寄存器中。MDS信号维持k个TCK时钟周期之后由低电平变为高电平,此时链选指令寄存器中存入的便是链选指令码。当链选命令是选择IPj(1≤j≤n)时,第一多路选择器将TDI与IPj的测试输入信号TDIj连接,TMS与IPj的测试输入信号TMSj连接,第二多路选择器将IPj的测试输出信号TDOj连接到片外测试输出信号TDO上。此时,在芯片JTAG调试接口(TDI、TMS、TCK、TRST、TDO)和IPj的调试接口(TDIj、TMSj、TCK_N、TRST_N、TDOj)之间形成了一条通路,便可通过片外唯一的JTAG调试接口对片内集成的IPj进行JTAG调试。Fig. 4 is a logical structure diagram of the debugging support module of the present invention. The debugging support module is composed of a chain selection instruction register, a decoder, a first multiplexer and a second multiplexer. The input end of the chain selection instruction register is connected with TDI and EMU0 (or EMU1) of the JTAG emulator, TDI and MDS are obtained from the emulator, the output end is connected with the decoder, and the chain selection instruction code is sent to the decoder; decoding The input end of the device is connected with EMU0 (or EMU1) and the chain selection instruction register, and the output end is connected with the first multiplexer and the second multiplexer; the input end of the second multiplexer is connected with all IP cores respectively The TDO of TAP is connected to the output terminal of the decoder, and its output terminal is connected to the TDO of the JTAG emulator. Under the control of the decoding result, it selects the TDO of an IP core TAP and sends it to the TDO pin of the emulator. When the MDS signal is at low level, the chain selection instruction register in the debugging support module is enabled, and TDI is serially shifted into the chain selection instruction register. After the MDS signal is maintained for k TCK clock cycles, it changes from low level to high level. At this time, the chain selection command register stores the chain selection command code. When the chain selection command is to select IP j (1≤j≤n), the first multiplexer connects TDI to the test input signal TDI j of IP j , TMS is connected to the test input signal TMS j of IP j , and the second multiplexer The multiplexer connects the test output signal TDO j of IP j to the off-chip test output signal TDO. At this time, a path is formed between the JTAG debug interface (TDI, TMS, TCK, TRST, TDO) of the chip and the debug interface of IP j (TDI j , TMS j , TCK_N, TRST_N, TDO j ), and the on-chip The only external JTAG debugging interface is used for JTAG debugging of the integrated IP j on-chip.
图5是调试支持模块执行链选命令时所需的MDS信号的时序图:JTAG仿真器接收到链选命令请求后产生k个TCK时钟低电平的MDS信号,由JTAG仿真器的EMU0(或EMU1)引脚输出到调试支持模块的多核调试选择引脚,同时参数IpNum由JTAG仿真器的TDI引脚输出到调试支持模块的TDI。Fig. 5 is a timing diagram of the MDS signal required when the debugging support module executes the chain selection command: after the JTAG emulator receives the chain selection command request, it generates k MDS signals with a low level of the TCK clock, which is sent by the EMU0 (or The EMU1) pin is output to the multi-core debug selection pin of the debug support module, and the parameter IpNum is output to the TDI of the debug support module by the TDI pin of the JTAG emulator.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810143445XA CN101382583B (en) | 2008-10-30 | 2008-10-30 | JTAG debugging method for multi-core microprocessor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810143445XA CN101382583B (en) | 2008-10-30 | 2008-10-30 | JTAG debugging method for multi-core microprocessor |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101382583A CN101382583A (en) | 2009-03-11 |
CN101382583B true CN101382583B (en) | 2010-09-08 |
Family
ID=40462529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810143445XA Expired - Fee Related CN101382583B (en) | 2008-10-30 | 2008-10-30 | JTAG debugging method for multi-core microprocessor |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101382583B (en) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101968760B (en) * | 2009-07-27 | 2012-10-31 | 上海华虹集成电路有限责任公司 | ARM core processor chip simulator |
CN102103535B (en) * | 2011-03-07 | 2013-05-08 | 北京大学深圳研究生院 | Multicore processor, and system and method for debugging multicore processor |
US8914693B2 (en) | 2012-02-15 | 2014-12-16 | International Business Machines Corporation | Apparatus for JTAG-driven remote scanning |
CN102880536B (en) * | 2012-09-07 | 2015-06-03 | 杭州中天微系统有限公司 | JTAG (joint test action group) debug method of multi-core processor |
CN103226504B (en) * | 2013-04-19 | 2016-05-11 | 中国科学院自动化研究所 | A kind of distributed On-chip debug system |
CN104237666B (en) * | 2013-06-21 | 2017-05-03 | 京微雅格(北京)科技有限公司 | Method for testing devices in series connection chain of joint test action group |
CN105550140B (en) * | 2014-11-03 | 2018-11-09 | 联想(北京)有限公司 | A kind of electronic equipment and data processing method |
CN105182221B (en) * | 2015-10-09 | 2017-12-22 | 天津国芯科技有限公司 | A kind of JTAG MUXs and its connection method in system-on-a-chip |
CN105550119B (en) * | 2016-01-29 | 2018-06-19 | 中国人民解放军国防科学技术大学 | A kind of simulator based on JTAG protocol |
CN105929818B (en) * | 2016-07-05 | 2020-03-06 | 深圳市博巨兴微电子科技有限公司 | Microcontroller SOC built-in IO maps testing arrangement |
CN107301144A (en) * | 2017-06-22 | 2017-10-27 | 湖南国科微电子股份有限公司 | A kind of jtag interface multiplexing method and device |
CN109062099A (en) * | 2018-08-06 | 2018-12-21 | 珠海格力电器股份有限公司 | DSP chip selection circuit and related equipment |
CN109344018B (en) * | 2018-09-10 | 2022-03-29 | 深圳忆联信息系统有限公司 | Multi-core CPU test method and device, computer equipment and storage medium |
CN110781049A (en) * | 2019-11-29 | 2020-02-11 | 合肥富煌君达高科信息技术有限公司 | Automatic identifying and expanding device for JTAG link |
CN111579974B (en) * | 2020-06-09 | 2021-09-03 | 中国电子科技集团公司第十四研究所 | Embedded system for realizing boundary scan test and test method |
CN112182998B (en) * | 2020-07-29 | 2024-08-30 | 北京智芯微电子科技有限公司 | Object-oriented chip-level port interconnection circuit and port interconnection method thereof |
CN112519234B (en) * | 2020-10-19 | 2022-07-01 | 中国科学院微电子研究所 | Temperature control chip, debugging system and 3D printer for 3D printing nozzles |
CN112667455A (en) * | 2020-12-29 | 2021-04-16 | 西安富成防务科技有限公司 | Method for multiprocessor to share one debugging serial port |
CN112948197B (en) * | 2021-04-02 | 2024-02-06 | 珠海奔图电子有限公司 | Multi-core processor testing device, system, method and system on chip |
CN113569526A (en) * | 2021-07-02 | 2021-10-29 | 苏州盛科通信股份有限公司 | CPU configuration method, CPU configuration device, and chip simulation method |
CN113590517A (en) * | 2021-07-30 | 2021-11-02 | 西安超越申泰信息科技有限公司 | Computer supporting remote control |
CN117271236B (en) * | 2023-09-08 | 2024-08-06 | 湖南长城银河科技有限公司 | Processor for debugging CPU core by multiplexing JTAG debugging channel and application method |
CN118209994B (en) * | 2024-05-20 | 2024-07-19 | 长沙北斗产业安全技术研究院股份有限公司 | Navigation signal simulation method based on heterogeneous multi-core system-on-chip |
-
2008
- 2008-10-30 CN CN200810143445XA patent/CN101382583B/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101382583A (en) | 2009-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101382583B (en) | JTAG debugging method for multi-core microprocessor | |
Hopkins et al. | Debug support for complex systems on-chip: A review | |
US9274169B2 (en) | Asynchronous programmable JTAG-based interface to debug any system-on-chip states, power modes, resets, clocks, and complex digital logic | |
CN102880536B (en) | JTAG (joint test action group) debug method of multi-core processor | |
US6115763A (en) | Multi-core chip providing external core access with regular operation function interface and predetermined service operation services interface comprising core interface units and masters interface unit | |
US5708773A (en) | JTAG interface system for communicating with compliant and non-compliant JTAG devices | |
US7536597B2 (en) | Apparatus and method for controlling power, clock, and reset during test and debug procedures for a plurality of processor/cores | |
US8281280B2 (en) | Method and apparatus for versatile controllability and observability in prototype system | |
US6523136B1 (en) | Semiconductor integrated circuit device with processor | |
US7558984B2 (en) | Apparatus and method for test and debug of a processor/core having advanced power management | |
US6430727B1 (en) | Diagnostic procedures in an integrated circuit device | |
CN102103535B (en) | Multicore processor, and system and method for debugging multicore processor | |
CN207965049U (en) | Circuitry for coupling TAP signals to a JTAG interface in an integrated circuit package | |
CN101963934B (en) | Method for debugging 8051 core-based system on chip (SOC) on line | |
US7451367B2 (en) | Accessing sequential data in microcontrollers | |
US20070038433A1 (en) | Auxiliary Link Control Commands | |
CN105095040A (en) | Chip debugging method and device | |
EP0840218B1 (en) | An integrated circuit device and method of communication therewith | |
CN117234831A (en) | A chip function testing method and system based on multi-core CPU | |
CN111722968A (en) | Hardware debugging method, device and system and readable storage medium | |
US5515530A (en) | Method and apparatus for asynchronous, bi-directional communication between first and second logic elements having a fixed priority arbitrator | |
CN102929829B (en) | A kind of information transfer device for computer hardware experiment | |
CN1462979A (en) | Loading method of Flash chip and JTAG controller | |
CN116324439A (en) | High speed functional protocol based testing and debugging | |
CN1463031A (en) | Fault-telerance method and system of testing chip for boundary scanning |
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: 20100908 Termination date: 20201030 |
|
CF01 | Termination of patent right due to non-payment of annual fee |