基于长短扫描链与jtag接口的片上调试电路的制作方法

文档序号:6432546阅读:174来源:国知局
专利名称:基于长短扫描链与jtag接口的片上调试电路的制作方法
技术领域
本发明涉及一种基于长短扫描链与JTAG(Joint Test Action Group,联合测试行动小组)接口的片上调试电路,具体的说是一种涉及微处理器核调试技术的领域。
背景技术
随着集成电路制造工艺的飞速发展,微处理器核的发展也日新月异。当今世界微处理器核的总体发展趋势是功能越来越强大,工作频率越来越高。特别是进入21世纪, 在一个娃片上实现一个更为复杂的系统的时代已来临,这就是System on Chip (SoC),而嵌入式微处理器核是系统芯片的核心。嵌入式系统正以前所未有的速度广泛应用于各种领域,如工业控制,信息家电,汽车电子,无线通信领域等。但是嵌入式系统的日益复杂化以及开发周期越来越短,开发和调试手段也发生了很大的改变。传统的基于示波器、逻辑分析仪等工具的硬件调试方法已不能满足调试的需求;对于较为复杂的设备,如处理器,为了观察到它的内部状态,可以用带有特殊调试和仿真功能的版本来代替实际的产品,从而观察其内部信号,提供了内部状态的可视性,但对于高度集成化的系统芯片,这种办法亦不能满足功能正确性调试和故障定位等要求。另一方面,正是由于芯片的集成度的提高,在芯片内部增加专门用于调试的模块是完全可行的。对嵌入式微处理器核系统的调试,基于JTAG的片上调试技术是运用得最广泛的一种。所述的片上调试指的是在处理器内部嵌入额外的调试控制模块,在特定触发条件下使处理器进入调试状态。在该状态下,被调试程序停止运行,主机的调试器可以通过处理器提供的专用的调试通信接口访问系统的各种资源,进行调试操作。另外,JTAG是一种国际标准测试协议(IEEE 1149. I兼容),主要用于芯片内部测试,现在已扩展成为了调试接口。标准的JTAG接口是5根线TCK、TMS、TDI、TDO、TRST,分别为测试时钟、模式选择、测试数据输入、测试数据输出和复位信号线。如公告号为CN101162438,授权
公开日2009年5月13日的中国发明专利说明书公开的一种名为“一种嵌入式处理器的调试技术”中的在线仿真模块。采用JTAG技术提高传输速率,通过触发处理器进入中断,实现对程序的单步和断点的控制。现今包括ARM、飞思卡尔、IBM和国内的龙芯处理器都开发了基于JTAG的调试接口。对于基于长短扫描链与JTAG接口的片上调试电路,本发明的特点是使用长短两条扫描链与逻辑电路,实现灵活多样的调试功能,且无需串行接口等目标资源或特殊硬件, 边界扫描引脚可复用,不用增加引脚数量。与现有的片上调试电路相比本发明电路结构清晰且简单,成本低廉,与嵌入式MIPS系统兼容。

发明内容
本发明的目的在于针对已有技术存在的缺陷,提供一种基于长短扫描链与JTAG 接口的片上调试电路,为微处理器核提供一种简单易行,高效的调试功能。解决调试传输速率慢,通信效率低的问题,并且模块化的调试电路易于IP重用。为了解决上述技术问题,本发明米用如下技术方案一种基于长短扫描链与JTAG接口的片上调试电路,包括调试接口模块、调试异常控制模块、调试暂存模块和长短扫描链模块。其特征在于所述的调试接口模块与调试主机相连,接收运行在主机上的调试软件发出的调试命令和数据,并对接收到的命令进行译码;然后通过长短扫描链模块将数据传送给调试异常控制模块或微处理器核;微处理器核与调试异常控制模块相连。调试异常控制模块输出中断信号控制微处理器核进入调试模式,实现单步调试和软件中断或硬件中断的功能。微处理器核响应中断,执行异常处理程序,在调试结束后,调试暂存模块恢复原执行程序。所述的调试接口模块包括指令寄存器、指令译码器、数据寄存器组、TAP控制器,多路选择器I和多路选择器2,调试接口模块通过TDI, TDO, TMS, TRST, TCK五根线与调试主机相连,调试接口模块的另一端与长短扫描链模块相连;所述的数据寄存器组包括旁路寄存器、微处理器号寄存器、扫描链选择寄存器、长扫描链寄存器和短扫描链寄存器,这些数据寄存器连接TDI线,另一端连接到多路选择器I ;所述的指令寄存器分别与指令译码器,多路选择器2相连和TDI线相连,指令译码器连接着多路选择器1,多路选择器2分别与多路选择器I和指令寄存器相连,多路选择器2的另一端与TDO线相连;TAP控制器分别与 TCK线、TMS线、TRST线、指令寄存器、指令译码器和多路选择器2相连。所述的扫描链有两条,长扫描链和短扫描链分别于微处理器核和调试异常控制模块相连。所述的调试异常控制模块包括两个比较器——数据比较器和地址比较器、多路选择器3、多路选择器4和一个地址译码器,调试异常控制模块分别连接微处理器核与短扫描链模块,多路选择器4连接着微处理器核的数据信号线和地址信号线,另一端连接到数据比较器;多路选择器3 —端连接着微处理器核的数据地址线和指令地址线,另一端连接到地址比较器;所述的数据比较器连接着多路选择器4的输出和调试数据寄存器;地址比较器连接着多路选择器3的输出和调试地址寄存器,用于产生微处理器中断信号,该信号连接微处理器核。所述的地址译码器一端,连接短扫描链模块,另一端与调试异常寄存器组相连。所述的调试异常寄存器组包括系统状态控制寄存器、调试状态寄存器、调试控制寄存器、调试数据寄存器和调试地址寄存器;其中调试控制寄存器连接多选择器3和多选择器 4。调试数据寄存器和调试地址寄存器分别连接数据比较器和地址比较器。所述的调试暂存模块包括3个32位寄存器,其都与微处理器核相连,用于退出调试,恢复微处理器正常运行状态,DPC寄存器用于保存处理微处理器内核的程序计数器的信息;DEXC寄存器用于存放控制调试异常功能的信息;DDATE寄存器用于保存微处理器核中通用寄存器的值。所述长短扫描链模块包括一个长扫描链模块和一个短扫描链模块,所述长扫描链模块为68位移位寄存器,一端连接调试异常控制模块,另一端连接微处理器核,其中低64 位为数据字段和指令字段,高4位为控制字段;所述短扫描链模块是一个37位的移位寄存器两端分别与调试接口模块和调试异常控制模块连接,低32位为数据字段,高5位为地址字段。本发明与现有技术相比较,具有如下显而易见的突出实质性特点和显著优点
(I)本发明调试电路定义了长、短两条扫描链。通过短链进行调试设置,长链与微处理
器核内核交互,监测内运行状态。将长链结构和短链结合,可以获得较高的调试效率。
(2)本发明调试电路通过标准的JTAG接口和调试主机进行通信,调试主机可以有效的观察目标系统运行状态和待调试程序的执行过程;在调试过程中,主机上的调试器可有效控制微处理器核的运行状态。(3)本发明调试电路不会改变被调试程序的执行行为,不会对被调试程序运行结果产生影响。因此,本调试电路对微处理器核的干扰性低。
(4)本发明调试电路的调试接口是完全兼容IEEE1149. I标准中的基本定义,而且调试电路模块化,因此,调试电路和调试软件都可以得到很好的重用性,缩短调试方案的开发周期。
(5)本发明调试电路既可以支持硬件系统的调试,也支持软件系统的调试。


图I是调试系统框图。
图2是调试接口模块图。
图3是长短扫描链模块图。
图4是调试异常控制模块图。
图5是调试暂存模块图。
图6是调试程序流程图。
图7是JTAG指令表。
具体实施方式
结合附图,本发明的优选实施例子说明如下
实施例一
参见图I,本基于长短扫描链与JTAG接口的片上调试电路,其特征在于所述的调试接口模块(I)包括调试接口模块(I)、调试异常控制模块(2)、调试暂存模块(3)和长短扫描链模块(4),其特征在调试主机(5 )连接调试接口模块(I ),调试接口模块(I)的另一端连接长短扫描链模块(4),长短扫描链模块(4)分别连接微处理器核(6)和调试异常控制模块 (2),调试异常控制模块(2)接收长短扫描链模块(4)发送而来的数据,设置数据断点和指令断点,触发调试异常,然后将中断信号发送给微处理器,进行调试;调试暂存模块(3)与微处理器核(6)相连,用于保存当前的微处理器运行状态。本发明给微处理器核增加了调试模式,在调试模式下,调试主机上运行的调试器对微处理器核拥有完全的控制权,可以向微处理器核发送调试指令,观察微处理器核中寄存器、存储器的值,了解微处理器核的运行状态。 实施例二
本实施例与实施例一基本相同,特别之处如下
调试接口模块(I)是微处理器核(6)与调试主机(5)实现数据交换的通道。如图2所示,调试接口模块(I)包括指令寄存器(7)、指令译码器(8)、数据寄存器组(9)、TAP控制器
(10),多路选择器I (11)和多路选择器2 (12),调试接口模块(I)通过TDI, TDO, TMS, TRST, TCK五根线与调试主机(5)相连,调试接口模块(I)的另一端与长短扫描链模块(4) 相连;所述的数据寄存器组(9)包括旁路寄存器(Γ)、微处理器号寄存器(2’)、扫描链选择寄存器(3’)、长扫描链寄存器(4’)和短扫描链寄存器(5’),这些数据寄存器连接TDI线,另一端连接到多路选择器I (11);所述的指令寄存器(7)分别与指令译码器(8),多路选择器
2(12)相连和TDI线相连,指令译码器(8)连接着多路选择器I (11),多路选择器2 (12) 分别与多路选择器I (11)和指令寄存器(8)相连,多路选择器2 (12)的另一端与TDO线相连;TAP控制器(10)分别与TCK线、TMS线、TRST线、指令寄存器(7)、指令译码器(8)和多路选择器2 (12)相连。软件调试器发送JTAG协议的控制命令,从调试主机(5)传送到调试接口模块(I)。TAP控制器(10 )定义了一个16个状态的状态机,包括测试逻辑复位、空闲、 数据扫描、数据捕获、数据移位、退出数据扫描、暂停数据扫描、更新数据扫描、指令扫描、指令捕获、指令移位、退出指令扫描、暂停指令扫描、更新指令扫描。TCK线,TMS线和TRST线作为TAP控制器(10)的输入,调试软件通过这三根线控制状态机的迁移,并在所述的指令寄存器中读取相应的指令,执行JTAG指令,JTAG指令如图7所示。通过TDI,TDO两根信号线和调试主机实现数据交互。如图3所示,所述的长短扫描链模块一个长扫描链模块(27)和一个短扫描链模块
(28),所述长扫描链模块(27)为68位移位寄存器,一端连接调试异常控制模块(2),另一端连接微处理器核(6),其中低64位为数据字段和指令字段,高4位为控制字段;所述短扫描链模块(28)是一个37位的移位寄存器两端分别与调试接口模块(I)和调试异常控制模块 (2)连接,低32位为数据字段,高5位为地址字段。长扫描链(27)连接调试接口模块(I), 接收调试接口模块(I)发送的数据,位移后发送给微处理器核(6 ),通过长扫描链(27 )可以很快的插入指令或数据到微处理器核(6 )内部。短扫描链模块(28 )用于和所述的调试异常控制模块(2)实现数据交互。所述的调试异常控制模块(2)用于实现数据断点和指令断点的设置、清除,并能设置单步执行和退出调试模式。如图4所示,调试异常控制模块(2)包括两个比较器——数据比较器(13)和地址比较器(14)、多路选择器3 (15)、多路选择器4 (16)和一个地址译码器(17),调试异常控制模块(2)分别连接微处理器核与短扫描链模块(4),多路选择器4连接着微处理器核的数据信号线和地址信号线,另一端连接到数据比较器(13);多路选择器
3(15) —端连接着微处理器核(6)的数据地址线和指令地址线,另一端连接到地址比较器
(14);所述的数据比较器(13)连接着多路选择器4 (16)的输出和调试数据寄存器(19);地址比较器(14)连接着多路选择器3 (13)的输出和调试地址寄存器(18),用于产生微处理器中断信号,该信号连接微处理器核(6)。所述的地址译码器(17)—端,连接短扫描链模块 (2),另一端与调试异常寄存器组(23)相连。所述的调试异常寄存器组(23)包括系统状态控制寄存器(22)、调试状态寄存器(21)、调试控制寄存器(20)、调试数据寄存器(19)和调试地址寄存器(18);其中调试控制寄存器(20)连接多选择器3 (15)和多选择器4 (16)。调试数据寄存器(19)和调试地址寄存器(18)分别连接数据比较器(13)和地址比较器(14)。 调试异常控制模块(2)接收短扫描链(28)发送来的数据,由地址译码器选择目标寄存器, 再将短扫描链的低32位数据写入相应的目标寄存器。调试控制寄存器(20)控制两个多路选择器,指示数据比较器(13)和地址比较器(14)进行数据断点比较或指令断点比较。当调试异常控制模块(2)进行指令断点比较时,将预定写入调试数据寄存器(19)和调试地址寄存器(18)的值分别于微处理器核(6)当前的程序计数器值和指令值分别作比较,如果两者都相等则给出一个匹配信号,指示微处理器核(6)进入调试模式。当调试异常控制模块
(2)进行数据断点比较时,同样将预定写入调试数据寄存器(19)和调试地址寄存器(18)的值分别于微处理器核(6)当前数据值和数据地址值作比较,若地址和数据同时都匹配,调试中断信号会被置为高电平,微处理器核(6 )进入调试状态。调试使能信号用于实现微处理器核(6)在调试模式和正常工作模式的相互切换。 当微处理器核(6)需要从调试模式重新恢复到工作模式时,将调试使能信号设置为低电平, 则微处理器核(6)会退出调试模式。如图5所示,所述的调试暂存模块(3)中DPC寄存器 (24 )和DDATE寄存器(25 ),连接微处理器核(6 ),将中断时保存的PC值和通用寄存器中的数据值恢复。DEXC寄存器(26)也连接微处理器核(6),存放控制调试异常功能的信息。使原本中断的程序继续执行。参见图5,所述调试暂存模块(3)包括3个32位寄存器(24、25、26),其都与微处理器核(6)相连,用于退出调试,恢复微处理器正常运行状态,DPC寄存器(24):用于保存处理微处理器内核的程序计数器的信息;DDATE寄存器(25):用于保存微处理器核中通用寄存器的值;DEXC寄存器(26):用于存放控制调试异常功能的信息。调试的整个流程如图6所示。目标系统上电,执行待调试程序,是否有调试异常触发设置,如果否,触发调试中断,如果是,则进入调试异常处理,微处理器核切换成调试模式,等待调试主机的调试命令,如果是则继续等待调试命令,如果否,则执行现场还原程序, 退出调试模式,继续执行原来的程序。
权利要求
1.一种基于长短扫描链与JTAG接口的片上调试电路,包括调试接口模块(I)、调试异常控制模块(2)、调试暂存模块(3)和长短扫描链模块(4),其特征在调试主机(5)连接调试接口模块(I),调试接口模块(I)的另一端连接长短扫描链模块(4 ),长短扫描链模块(4 )分别连接微处理器核(6)和调试异常控制模块(2),调试异常控制模块(2)接收长短扫描链模块(4)发送而来的数据,设置数据断点和指令断点,触发调试异常,然后将中断信号发送给微处理器,进行调试;调试暂存模块(3)与微处理器核(6)相连,用于保存当前的微处理器运行状态。
2.根据权利要求I所述的基于长短扫描链与JTAG接口的片上调试电路,其特征在于所述的调试接口模块(I)包括指令寄存器(7)、指令译码器(8)、数据寄存器组(9)、TAP控制器(10),多路选择器I (11)和多路选择器2 (12),调试接口模块(I)通过TDI,TDO, TMS, TRST, TCK五根线与调试主机(5)相连,调试接口模块(I)的另一端与长短扫描链模块(4) 相连;所述的数据寄存器组(9)包括旁路寄存器(Γ)、微处理器号寄存器(2’)、扫描链选择寄存器(3 ’)、长扫描链寄存器(4’)和短扫描链寄存器(5 ’),这些数据寄存器连接TDI线,另一端连接到多路选择器I (11);所述的指令寄存器(7)分别与指令译码器(8),多路选择器2(12)相连和TDI线相连,指令译码器(8)连接着多路选择器I (11),多路选择器2 (12) 分别与多路选择器I (11)和指令寄存器(8)相连,多路选择器2 (12)的另一端与TDO线相连;TAP控制器(10)分别与TCK线、TMS线、TRST线、指令寄存器(7)、指令译码器(8)和多路选择器2 (12)相连。
3.根据权利要求I所述的基于长短扫描链与JTAG接口的片上调试电路,其特征在于所述的调试异常控制模块(2 )包括两个比较器——数据比较器(13 )和地址比较器(14 )、多路选择器3 (15)、多路选择器4 (16)和一个地址译码器(17),调试异常控制模块(2)分别连接微处理器核与短扫描链模块(4),多路选择器4连接着微处理器核的数据信号线和地址信号线,另一端连接到数据比较器(13);多路选择器3 (15) —端连接着微处理器核(6) 的数据地址线和指令地址线,另一端连接到地址比较器(14);所述的数据比较器(13)连接着多路选择器4 (16)的输出和调试数据寄存器(19);地址比较器(14)连接着多路选择器3(13)的输出和调试地址寄存器(18),用于产生微处理器中断信号,该信号连接微处理器核(6);所述的地址译码器(17)—端,连接短扫描链模块(2),另一端与调试异常寄存器组 (23)相连;所述的调试异常寄存器组(23)包括系统状态控制寄存器(22)、调试状态寄存器(21)、调试控制寄存器(20)、调试数据寄存器(19)和调试地址寄存器(18);其中调试控制寄存器(20)连接多选择器3 (15)和多选择器4 (16);调试数据寄存器(19)和调试地址寄存器(18)分别连接数据比较器(13)和地址比较器(14)。
4.根据权利要求I所述的基于长短扫描链与JTAG接口的片上调试电路,其特征在于所述的调试暂存模块(3)包括3个32位寄存器(24、25、26),其都与微处理器核(6)相连,用于退出调试,恢复微处理器正常运行状态,DPC寄存器(24):用于保存处理微处理器内核的程序计数器的信息;DDATE寄存器(25):用于保存微处理器核中通用寄存器的值;DEXC寄存器(26):用于存放控制调试异常功能的信息。
5.根据权利要求I所述的基于长短扫描链与JTAG接口的片上调试电路,其特征在于所述的长短扫描链模块(4)包括一个长扫描链模块(27)和一个短扫描链模块(28),所述长扫描链模块(27)为68位移位寄存器,一端连接调试异常控制模块(2),另一端连接微处理器核(6),其中低64位为数据字段和指令字段,高4位为控制字段;所述短扫描链模块(28) 是一个37位的移位寄存器两端分别与调试接口模块(I)和调试异常控制模块(2)连接,低 32位为数据字段,高5位为地址字段。
全文摘要
本发明涉及一种基于长短扫描链与JTAG接口的片上调试电路。其目的是对微处理器内核提供一种功能强大的,且灵活多样的调试功能。所述的片上调试电路包括调试接口模块、调试异常控制模块、调试暂存模块和长短扫描链模块。片上调试电路将调试主机上发出的调试命令和数据,通过JTAG接口传输给调试接口模块,然后由测试访问控制器进行命令译码,再通过长短两条扫描链模块传输给微处理器核和调试异常控制模块,由所述的调试异常控制模块完成调试异常功能设置;所述的调试功能包括对程序设置断点,单步控制;读取和修改微处理器核的通用寄存器,控制程序在处理器上的运行,处理各类异常。调试暂存模块则是在调试功能触发时,保存微处理器核的运行状态,用当微处理器核退出调试时,恢复原来的运行状态。
文档编号G06F11/267GK102591760SQ201110263179
公开日2012年7月18日 申请日期2011年9月7日 优先权日2011年9月7日
发明者匡旭晖, 徐美华, 毕卓 申请人:上海大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1