CN100533401C - 测试具有异步微控制器的集成电路的仿真和调试接口 - Google Patents

测试具有异步微控制器的集成电路的仿真和调试接口 Download PDF

Info

Publication number
CN100533401C
CN100533401C CNB2005800239717A CN200580023971A CN100533401C CN 100533401 C CN100533401 C CN 100533401C CN B2005800239717 A CNB2005800239717 A CN B2005800239717A CN 200580023971 A CN200580023971 A CN 200580023971A CN 100533401 C CN100533401 C CN 100533401C
Authority
CN
China
Prior art keywords
emulation
interface
instruction
register
asynchronous microcontroller
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
Application number
CNB2005800239717A
Other languages
English (en)
Other versions
CN1997971A (zh
Inventor
F·坎帕纳勒
J·穆特斯巴赫
A·福尼
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1997971A publication Critical patent/CN1997971A/zh
Application granted granted Critical
Publication of CN100533401C publication Critical patent/CN100533401C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一种具有嵌入式异步微控制器的目标设备集成电路装备有标准JTAG-TAP接口。在IC板上,TAP端口控制器和仿真接口能够截取并替换从代码存储器所取出的每条指令。外部仿真PC能够通过命令嵌入式异步微控制器读取板载数据和代码存储器并把它们写入到JTAG-TAP接口来检查板载数据和代码存储器。由外部仿真PC为调试和测试提供单步和断点寄存器。

Description

测试具有异步微控制器的集成电路的仿真和调试接口
技术领域
本发明涉及计算机程序仿真和调试,并且尤其涉及用于与嵌入式异步微控制器数字对接的电路和方法,所述嵌入式异步微控制器具有标准的联合测试行动小组(Joint Test Action Group JTAG)测试访问端口(testaccess ports TAP)。
背景技术
在一些设备中嵌有处理器的计算电路设计摆出难于测试、仿真以及调试的问题。这种嵌入式系统典型情况下没有用于与编程者、汇编器或可写程序存储器相对接的设施。因此测试和开发工程师通常不能直接访问所设计的目标系统。
引入电路内仿真(In-circuit emulation ICE)来解决此难题。主机程序开发系统在脐带电缆(umbilical cable)末端装备有特殊的处理器。为此,个人计算机(PC)可以装备有适配器插座(pod)。然后把这种电缆插入目标嵌入式系统的处理器插槽中。然后ICE开发系统的输入/输出(I/O)、存储器、汇编器、编译器和图形用户接口都可以由工程师来使用,使得可以在实际目标硬件中测试程序。目标系统中的所有I/O、程序存储器、数据存储器、CPU寄存器和外围设备都可由主机开发系统访问并修改。
因此ICE的重要资源是目标访问,特别是检查并改变寄存器和存储器内容的能力。断点允许当出现确定事件时使程序执行停止,并且是另一重要的调试资源。能够在所定义的位置和情况下停止程序执行能够完全分析程序怎样进行、进行到哪以及它怎样影响目标系统。仿真器还可以使用断点来实现单步操作,其使工程师能够一次一条指令地执行目标程序。
ICE开发系统及其支持设备和软件是昂贵的。它们还高度专门化到在每个目标嵌入式系统中所使用的特定处理器,并且必须为每种类型,购买适配器和特殊软件。另外,需要专用的芯片级逻辑来对接到外部仿真器。通常它,是由仿真器公司或嵌入式微处理器的供应商所提供的IP。这种额外费用增加到IC开发费用预算中。
可以使用仿真器来控制并测试计算机电路板、它们的处理器、存储器或总线接口。一旦受到控制,那么仿真器就加载并运行诊断测试以便调试目标硬件和软件。密集装配的板上的测试接入对处理器仿真器来说并不是问题,不过真正的处理器必须配有插槽以便允许替换。在板开发中广泛地使用仿真器,但是现在提高的处理器速度使它们是不切实际的。
Figure C200580023971D00081
ROM存储器仿真器插入插槽中以便代替引导ROM,并且插入用于处理器正常引导代码的诊断程序代码。这种插槽接口是双向的,使得被测部件(unit-under-test UUT)可以与测试器通信。但是为了引导ROM区,ROM仿真器不能诊断处理器。如果ROM是被焊接的,那么需要修改产品设计电路。
总线仿真器可以被连接到总线槽或边缘连接器,这样就能够经由读取/写入总线周期来测试接入UUT的各个电路和功能了。对于测试诸如VME和PCI之类的插入式总线卡,它们是很有用的。
总线仿真器可以被连接到总线槽或边缘连接器,这样就能够经由读取/写入总线周期来测试接入UUT的各个电路和功能了。对于测试诸如VME和PCI之类的插入式的总线卡,它们是很有用的。
联合测试行动小组(JTAG)接口最初被设计成用于克服在小型化组件上的测试接入问题。所定义的串行接口被称为测试接入端口(TAP)。它使用五个数据和时间引脚来访问内置于每个组件的I/O引脚中的菊花链式(daisy-chained)的移位寄存器。这样就能够为寻找错误而对一连串适应JTAG的组件进行“边界扫描”。
JTAG协议已经被微处理器和数字信号处理器(DSP)制造商扩展,以便为硬件和软件开发者提供板载调试设施。这种帮助克服了由外部仿真器所遭遇的典型30MHz速度屏障。销售商对JTAG的特定扩展典型情况下具有2-3个附加信号线路以及以及用于控制处理器核心的增强指令集。具有可买到的调试接口的CPU包括
Figure C200580023971D00091
Figure C200580023971D00092
处理器、Intel XScaleTM微体系结构处理器、MotorolaTM
Figure C200580023971D00093
PowerPCTM
Figure C200580023971D00094
Figure C200580023971D00095
Figure C200580023971D00096
处理器系列。IEEE还公布了用于调试接口的IEEE ISTO-5001。
调试接口已经具有各种商标名称,例如Motorola的后台调试模式(background debug mode BDM)、AMD的硬件调试工具(hardwaredebug tool HDT)以及Motorola/IBM的共用片上处理器(common on-chip processor COP)。BDM接口类似于JTAG,但是信号线路和协议不同。
这种接口最初是为设计工程师而开发出来的,但是也可以实现功能测试解决方案。设计成使用处理器的调试接口的测试和诊断装备在UUT上只需要大约六个到十个测试点。这种访问在大部分板设计中都可以被实现,实现方式是在CPU 116和插槽之间放置内插器,当焊接CPU时使用非常简单的钉床(bed of nail),或者充分利用由一些板制造商所提供的JTAG取出头。
任何总线体系结构UUT可以被分成诸如桥、RAM、视频控制器和I/O控制器之类的功能块。每个功能块包含存储器或I/O寄存器阵列。测试程序使用由处理器制造商所提供的扩展JTAG调试功能来顺序地访问这些寄存器,建立完全测试。
低级功能包括停止/开始处理器、读取/写入存储器、读取/写入通用寄存器、读取/写入I/O、断点、单步代码和代码痕迹。这些功能的组合适应把测试代码下载到UUT,控制并监视测试代码执行,并且从UUT存储器收集测试结果。
例如,读取/写入功能可以测试RAM,所述RAM也检验中间总线。I/O控制器这样被测试,通过把输出向回循环到输入(这和在网络接口控制器的情况一样),或者利用附于板的连接器的外部设备产生/测量信号。一些测试系统包括I/O仿真部件,这样就不需要附着真正的外围设备了。
如果目标设备CPU不是同步类型的,那么会遇到费用更高和复杂性更大的问题。需要专门的接口来处理异步时钟的嵌入式处理器。
所有这种成本联合起来就会使目标系统的生产成本太过昂贵。制造成本可能攀升得如此之高以致几乎不可能产品会以获得合理利润所需要的价格点取得成功。
所需要的就是:用于调试异步嵌入式处理器的专门嵌入式体系结构,其可以不依靠外部销售商的IP或硬件来降低仿真和测试的成本。
发明内容
简言之,本发明的目标设备集成电路实施例包括嵌入式异步微控制器并且装备有标准的JTAG-TAP接口。在IC板上,JTAG-TAP端口控制器和仿真接口能够截取并替换从代码存储器所取出的每个指令。外部仿真PC具有通过命令嵌入式异步微控制器读取板载数据和代码存储器并把它们写入到JTAG-TAP接口来检查所述板载数据和代码存储器的能力。由外部仿真PC为进行调试和测试而提供单步和断点寄存器。
本发明的一个方面提供了一种用于集成电路测试的仿真和调试系统,包括:具有软件仿真工具、用户接口和JTAG连接器的外部计算机;用于与所述JTAG连接器连接的JTAG测试接入端口(TAP)和能够支持与所述软件模拟工具之间的通信并布置在集成电路目标设备中的JTAGTAP控制器;具有专用代码存储器和数据存储器并且布置在所述集成电路目标设备中的异步微控制器;被布置在所述集成电路目标设备中并连接在所述JTAG TAP控制器和异步微控制器之间的仿真接口;一个仿真寄存器组,被布置在所述仿真接口中并提供对所述软件模拟工具就数据、程序指令、程序计数器、断点和仿真配置的读取/写入访问,所述数据、程序指令、程序计数器、断点和仿真配置可由所述异步微控制器访问并可以控制所述异步微控制器;布置在所述仿真接口中的仿真控制器,其与所述异步微控制器相互连接使得在每条新程序指令取出开始时可以替换由所述软件模拟工具所提供的指令;以及布置在所述仿真接口中的多路复用器,由软件模拟工具控制来从在所述仿真寄存器组中所包括的指令寄存器或所述代码存储器中选择程序指令,所述多路复用器包括直接连接到所述异步微控制器的输出。
本发明的一个方面提供了一种集成电路目标设备,在单个集成电路中包括:JTAG测试接入端口(TAP),用于与作为软件模拟工具主机的外部计算机连接;JTAG TAP控制器,被连接到所述JTAG-TAP并且能够支持与所述软件模拟工具的通信;异步微控制器,具有专用代码存储器和数据存储器;仿真接口,连接在所述JTAG TAP控制器和异步微控制器之间;仿真寄存器组,布置在所述仿真接口中并且用于提供对所述软件模拟工具就数据、程序指令、程序计数器、断点和仿真配置的读取/写入访问,所述数据、程序指令、程序计数器、断点、和仿真配置可由所述异步微控制器访问并且可以控制所述异步微控制器;布置在所述仿真接口中的仿真控制器,其与所述异步微控制器相互连接使得在每条新程序指令取出开始时可以替换由所述软件模拟工具所提供的指令;以及布置在所述仿真接口中的多路复用器,由软件模拟工具控制来从在所述仿真寄存器组中所包括的指令寄存器或所述代码存储器中选择程序指令,所述多路复用器包括直接连接到所述异步微控制器的输出。
本发明的一个方面提供了一种用于从外部用户计算机进行目标设备仿真的方法,所述方法包括:经由JTAG测试接入端口向仿真接口下载由在外部用户计算机上所运行的软件模拟工具所提供的数据、程序指令、程序计数器、断点和仿真配置;利用也连接到所述仿真接口的微控制器来取出新的指令;如果仿真模式关闭,那么利用所述异步微控制器执行所述指令,该操作是由与所述异步微控制器相互连接的布置在仿真接口中的仿真控制器确定的,并且向回循环到向后的取出步骤;否则,执行由所述软件模拟工具所提供、并且存储在所述仿真接口的仿真寄存器中的指令并且向回循环到向后的取出步骤;其中,所述方法还包括:利用布置在所述仿真接口中的多路复用器,在软件模拟工具的控制下从在所述仿真寄存器中所包括的指令寄存器或异步微控制器所包括的代码存储器中选择指令。
本发明的优点是装备有内置仿真和调试能力的电路。
本发明的进一步优点是提供一种用于让目标设备依照自由运行模式得以测试同时在监视断点时不妨碍该设备的性能,或者可以以小于与PC相交互的全速的速度来执行仿真代码的方法。
本发明更进一步的优点在于提供了一种具有廉价且工业标准的JTAG串行接口的系统。
当考虑本发明以下的特定实施方式特别是当结合附图考虑时,本发明的上述及更进一步的目的、特征和优点将变得更加清楚。
附图说明
图1是本发明的仿真系统实施例的功能框图;和
图2是本发明的仿真接口模式方法实施例的流程图,并且在图1的系统中是很有用的。
具体实施方式
图1图示了本发明的仿真系统实施例,并且这里由通用附图标记100来指代。仿真系统100包括经由标准化5引脚的JTAG接口106连接到目标设备104的普通个人计算机(PC)102。(1)TCK/时钟引脚使内部状态机操作同步。(2)在TCK的上升沿采样TMS/模式选择引脚以便确定下一状态。(3)在TCK的上升沿采样TDI/数据输入引脚并且当内部状态机处于正确状态时将其移入到目标设备104的测试或程序设计逻辑中。(4)TDO/数据输出引脚表示从目标设备104的测试或程序设计逻辑移出的数据并且当内部状态机处于正确状态时在TCK的下降沿上有效。并且(5)TRST/复位引脚当被驱动为低时复位内部状态机。
在PC 102上所包括并操作的软件工具能够经由仿真硬件接口来控制目标设备的仿真行为。调试软件定义了用于对接仿真器软件环境的各个功能以致于使它可以与目标设备相交互。例如:读取/写入RAM(DATA,IDATA,XDATA);读取/写入特定功能寄存器(specialfunction register SFR);读取/写入程序代码;初始化、重新初始化、复位/停止目标硬件;读取/写入程序计数器;获取/设置寄存器;STOP、单步操作(single STEP)和RUN目标执行;以及设置/清除断点。
目标设备104是单片集成电路(IC)并且包括被连接到仿真接口110的JTAG测试接入端口(TAP)控制器108。可以用来自仿真接口的调试代码和寄存器信息来代替来自代码存储器112的程序代码。经由JTAG TAP 106和TAP控制器108从PC 102下载这种调试代码及其它控制信息。数据存储器114经由专用总线连接到异步微控制器(CPU)116。例如,CPU 116可以是Intel类型的80C51微型计算机。
仿真接口110包括JTAG接口118、配置(EMU_CFG)寄存器120、仿真数据寄存器(EMU_DR)122、断点(EMU_BP)寄存器124、指令寄存器(EMU_IR)126、程序计数器(EMU_PC)寄存器128和仿真(EMU)控制器130,以及用于在仿真代码或来自代码存储器112的正常程序代码之间切换的总线多路复用器132。EMU_IR 126包含在处于EMU外部模式时要由CPU 116执行的8位指令。当出现停止(STOP)或断点时,EMU_PC寄存器128存储代码地址的当前18位值。它由仿真器使用来通过强迫跳到程序计数器地址来恢复系统。EMU断点寄存器124存储两个18位指令地址,操作者想要微控制器116在此地址中断执行并停止。
EMU_DR 122规定由PC 102对存储器112和114中的8位数据的外部检查。在EMU外部模式中,命令异步微控制器116把数据从存储器和内部寄存器移动到EMU_DR寄存器122中。然后,可以通过JTAG接口118读出EMU_DR 122。
表I定义了在EMU_CFG寄存器120中所使用的九个位。
表-I
 
Bit 符号 描述
EMU_CFG.9 Stop_V 由仿真接口110设置为"1"用以表明当前指令完成并且来自仿真PC 102的Stop命令已经被接受。该设备将进入冻结模式。当离开冻结模式时由仿真接口110复位。 
EMU_CFG.8 DR_V 当CPU 116已经完成一个到DR中的写操作时由仿真接口110设置为"1"。由JTAG设置为"0"。      
EMU_CFG.7 BP2_V 由仿真接口110设置为"1"用以表明命中当前代码地址和BP2寄存器(124的子集)的命中。                  
EMU_CFG.6 BP1_V 由仿真接口110设置为"1"用以表明命中当前代码地址和BP1寄存器(124的子集)的命中。                  
EMU_CFG.5 DIR 定义指令来源。如果为"0",那么指令来自内部存储器。如果为"1",那么指令来自EMU_IR。          
EMU_CFG.4 IE 在进入EMU冻结模式之前包含CPU的中断启用位的值。在进入EMU内部模式之前把此值恢复到中断控制器寄存器中。                                      
EMU_CFG.3 STEP 在其上升沿,强迫CPU 116执行一条指令并且重新进入EMU冻结模式。其在所述指令末尾由HW复位。 
EMU_CFG.2 Stop 在其上升沿,在当前指令末尾停止CPU 116并且进入EMU冻结模式。必须由JTAG复位。                
EMU_CFG.1 ON 如果为"1",那么存储器访问仲裁器会在提供由CPU116所请求的指令之前检测DIR位值。如果为"0",那么存储器管理总是从内部存储器取出。          
EMU_CFG.0 NRST 在其下降沿,除仿真接口110和JTAG之外,芯片会进入复位状态。在其上升沿,正常系统控制部件将启动复位延迟计数器。                              
包括一种高效的硬件算法,用于经由JTAG-TAP标准接口106利用在PC 102上所运行的外部调试软件来控制CPU 116。这种体系结构实现了仿真增强系统的所有优点,而不会使CPU 116的性能降级。它体现了在就面积和设计时间而言的最低成本之间的平衡。这种方法也很适合用于具有独立的指令和数据地址空间的异步微处理器应用(例如Harvard体系结构)。当目标微处理器是存储器系统总线主控制器时,它还可以应用于其中数据和指令共享一个地址空间的系统,如在冯诺依曼体系结构中。
图2表示仿真接口模式过程,并且这里由通用附图标记200来指代。所述仿真可以由PC 102来控制,EMU_CFG寄存器120中的各个位可由PC 102写入并读取,并且由过程200来检查并部分修改。表I提供了以下在描述过程200中所使用的程序位符号。
过程200从新的程序指令请求开始,例如由CPU 116经由指令开始信号和代码地址总线开始。步骤202进行检查以查看EMU_ON标志(EMU_CFG.1)是否被设置,意味着仿真模式开启。如果是的话,那么步骤204检查DIR & Start_instr标志(EMU_CFG.5)。如果为真的话,那么步骤206把代码地址(代_add)拷贝到EMU_PC寄存器128中,实际上为用于CPU 116的无条件程序跳转。步骤208保存CPU的中断启用位。步骤210禁止CPU中断和监视计时器(watch dog timerWDT)。步骤212设置IR_V=“0”。步骤214循环直到IR_V变为真。步骤216向CPU 116发送指令寄存器EMU_IR以便执行继而循环返回到步骤202。
如果步骤202导致EMU_ON为假,那么步骤218允许正常程序指令从代码存储器112顶部经由多路复用器132路由到CPU 116以便正常执行。换句话说,CPU 116的每个指令周期都进行仿真模式测试。与此相关的开销就传播时间而言可以非常小,原因在于实行仿真指令的决定可以用硬件来实现。
如果步骤204发现DIR & Start_instr标志不为真,那么步骤220恢复IEN.7并且禁止WDT。步骤222查看是否要求单步操作(STEP)(EMU_CFG.3)。如果是的话,那么步骤224向CPU 116发送下一指令。方向被设置为假并且步骤被设置为真,例如DIR=0(EMU_CFG.8)并且STEP=0(EMU_CFG.3)。控制返回到步骤202。
如果步骤222是假,例如STEP=0,那么步骤228检查断点匹配,例如第一断点BP1(EMU_CFG.6)和第二断点BP2(EMU_CFG.7)。如果断点匹配,那么步骤230把方向设置为真(EMU_CFG.8),并且断点值被设置为真,例如DIR=1并且BPV=1。控制返回到步骤202。
如果步骤228为假,例如没有断点,那么步骤232检查停止和开始指令(EMU_CFG.9)。如果是的话,那么步骤236把方向设置为真,并且停止值被设置为真,例如DIR=1并且STOPV=1。如果不是的话,那么在步骤234向CPU 116发送一个字节。控制返回到步骤202。
本发明的实施例认识到当不需要实时调试时,可以减少专用于仿真的IC焊盘的数目,并且那些焊盘可以使用廉价的串行接口。为了测试目的,标准的JTAG测试接入端口已经存在于许多现代IC设备中,并且典型情况下就硅面积、封装、设计而言不会向当前设计增加进一步的成本。在PC 102上所运行的软件可以经由JTAG接口控制仿真接口中的寄存器,所述寄存器位由硬件用来控制与CPU 116的各个交互。
当有必要初始化或结束硬件目标时,由PC 102上的软件工具调用初始化(INIT)、重新初始化(RE-INIT)和目标复位功能。这种例程包括PC到JTAG接口的任何初始化,以及仿真接口110的配置寄存器的初始化。EMU_reset命令向EMU_CFG.NRST位写入“0”。这强迫复位除JTAG控制器108和仿真接口110之外的整个芯片。在向EMUC_FG.NRST位重新写入“1”之前,在EMU复位之后必须设置各个其它位以便控制CPU 116。例如,EMU_CFG.EMU_ON=1用于使EMU_HW能够控制代码总线,并且EMU_CFG.DIR=1用于设置源于JTAG的代码。
包括RUN、STOP和STEP仿真控制。当复位标志(NRST)被再次写入“1”并且完成内部芯片复位序列时,就立即进入EMU冻结模式,CPU 116会试图再次启动。但是发现EMU ON并且DIR位等于“1”,仿真接口110会在指令地址0x0000冻结CPU 116,只是在取出阶段期间,进入EMU冻结模式。在此阶段中,可以重新配置仿真接口110的寄存器,定义断点地址或外部指令。也可以在已经执行当前指令之后修改指令的方向。由仿真接口110为每个当前操作读取DIR位,并且只在下一新的指令开始时再次处理所述DIR位。
当PC 102上的仿真软件让CPU 116执行并且向EMU_CFG.IR_V位写入“1”时进入EMU外部模式。这将使被传递到CPU 116的指令寄存器126的内容有效以便被执行(EMU内部模式)。
在由CPU 116所请求的每条新指令开始时,仿真接口110会检查EMU_FG寄存器120中的EMU-ON和DIR位。如果DIR位仍然是一,那么仿真接口110会自动地复位DR_V位以便使指令寄存器无效并且进入EMU冻结模式。
利用此握手机制,外部仿真器可以使其操作与目标设备104内的事件同步。轮询IR_V位直到它变为“0”,如在步骤212,仿真PC 102会知道CPU 116何时被冻结。把IR_V设置为“1”会使CPU 116经由EMU_IR寄存器126具有当前指令。
为了防止在EMU外部模式期间进入中断状态,仿真接口110暂时地禁止所有中断,并且复位相关联的中断控制器中的全局中断启用位。类似地,当CPU 116处于仿真模式中时,使任何监视计时器停止活动。
全局中断启用位的原始值被保存到EMU CFG.IE位中并且每当进入EMU内部模式时被恢复到中断控制器中。
对于EMU内部模式来说,如果在新的指令开始时DIR位是“0”,那么目标设备104会根据EMU CFG.STEP位的值而进入EMU内部步进模式或EMU内部标准模式。
在EMU内部步进模式中,从内部存储器只向CPU 116提供一个完整指令。仿真接口110然后把代码地址总线值拷贝到EMU-PC寄存器中,为下一周期把DIR位设置为“1”,把全局中断启用位拷贝到EMU CFG.IE中并且把STEP位复位为0。
在第二种情况中,EMU内部标准模式,执行会从内部存储器全速运行直到接收了STOP命令。这通过向EMU CFG.STOP写入“1”或直到遇到断点来实现。然后,仿真接口110把代码地址总线值拷贝到EMU-PC寄存器中,为下一周期把DIR位设置为“1”,把全局中断启用位拷贝到EMU_CFG中,并且把EMU V.STOP V(停止有效位)设置为“1”,或者把EMU V.BP1V/BP2 V(断点有效位)设置为“1”。
PC 102上的仿真软件工具优选只经由CPU 116间接读取/写入访问到所有数据/代码存储空间中。由于CPU 116是异步的,并且存储器的多路复用访问可能会减慢过程执行,所以不希望仿真接口110直接访问代码和数据存储器112和114。当CPU 116处于仿真状态时可以经由仿真接口执行任意的代码。访问任何种类的嵌入式存储器(RAM、闪速和寄存器)通过运行例程以便把存储内容移动到可从JTAG访问的仿真硬件寄存器中,来使用CPU 116进行数据往复。
尽管已经描述并图示了本发明的特定实施例,然而这并不意在限制本发明。对那些本领域技术人员来说,修改和改变无疑是显而易见的,并且旨在只由所附权利要求的范围来限定本发明。

Claims (10)

1.一种用于集成电路测试的仿真和调试系统,包括:
具有软件仿真工具、用户接口和JTAG连接器的外部计算机;
用于与所述JTAG连接器连接并布置在集成电路目标设备中的JTAG测试接入端口JTAG TAP、和能够支持与所述软件仿真工具之间的通信并布置在集成电路目标设备中的JTAG TAP控制器;
具有专用代码存储器和数据存储器并且布置在所述集成电路目标设备中的异步微控制器;
被布置在所述集成电路目标设备中并连接在所述JTAG TAP控制器和异步微控制器之间的仿真接口;
一个仿真寄存器组,被布置在所述仿真接口中并提供对所述软件仿真工具就数据、程序指令、程序计数器、断点和仿真配置的读取/写入访问,所述数据、程序指令、程序计数器、断点和仿真配置可由所述异步微控制器访问并能够控制所述异步微控制器;
布置在所述仿真接口中的仿真控制器,其与所述异步微控制器相互连接使得在每条新程序指令取出开始时替换由所述软件仿真工具所提供的指令;以及
布置在所述仿真接口中的多路复用器,由软件仿真工具控制来从在所述仿真寄存器组中所包括的指令寄存器或所述专用代码存储器中选择程序指令,所述多路复用器包括直接连接到所述异步微控制器的输出。
2.如权利要求1所述的系统,还包括:
布置在所述仿真接口中的仿真配置寄存器,其中所述仿真配置寄存器使用多个位,包括:
STOP_V位,由仿真接口设置为“1”用以表明当前指令完成并且来自外部计算机的STOP命令已经被接受;
DR_V位,当异步微控制器已经完成到仿真接口的数据寄存器中的写操作时由仿真接口设置为“1”;
BP2_V位,由仿真接口设置为“1”用以表明当前代码地址和仿真接口的BP2断点寄存器的命中;
BP1_V位,由仿真接口设置为“1”用以表明当前代码地址和仿真接口的BP1断点寄存器的命中;
DIR位,表明指令来源于专用代码存储器还是仿真接口的指令寄存器;
IE位,在进入仿真冻结模式之前包含异步微控制器的中断启用位的值;
STEP位,在STEP位的上升沿,异步微控制器被强迫执行一条指令并且集成电路目标设备进入仿真冻结模式;
STOP位,在STOP位的上升沿,异步微控制器被停止并且集成电路目标设备进入仿真冻结模式;
ON位,在ON位为“1”时,存储器访问仲裁器在提供由异步微控制器请求的指令之前检测DIR位值,在“ON”位为“0”时,从专用代码存储器取指令;以及
NRST位,在NRST位的下降沿,集成电路目标设备的一部分进入复位状态,在NRST位的上升沿,启动复位延迟计数器。
3.如权利要求2所述的系统,还包括:与所述仿真控制器相关联并且布置在所述仿真接口中的断点寄存器,所述断点寄存器在所述异步微控制器的每个仿真周期期间被检查以便停止由所述软件仿真工具所提供的程序的执行。
4.如权利要求1所述的系统,其中所述JTAG TAP包括:TCK/时钟引脚,用于使所述JTAG TAP控制器中内部状态机的操作同步;TMS/模式选择引脚,在TCK的上升沿采样所述TMS/模式选择引脚以便确定所述状态机的下一状态;TDI/数据输入引脚,在TCK的上升沿采样所述TDI/数据输入引脚并且当所述内部状态机处于正确状态时把它移入到程序设计逻辑中;TDO/数据输出引脚,用于表示移出的数据并且在TCK的下降沿上有效;和TRST/复位引脚,用于复位所述内部状态机。
5.一种集成电路目标设备,在单个集成电路中包括:
JTAG测试接入端口JTAG TAP,用于与作为软件仿真工具主机的外部计算机连接;
JTAG TAP控制器,被连接到所述JTAG TAP并且能够支持与所述软件仿真工具的通信;
异步微控制器,具有专用代码存储器和数据存储器;
仿真接口,连接在所述JTAG TAP控制器和异步微控制器之间;
仿真寄存器组,布置在所述仿真接口中并且用于提供对所述软件仿真工具就数据、程序指令、程序计数器、断点和仿真配置的读取/写入访问,所述数据、程序指令、程序计数器、断点和仿真配置可由所述异步微控制器访问并且能够控制所述异步微控制器;
布置在所述仿真接口中的仿真控制器,其与所述异步微控制器相互连接使得在每条新程序指令取出开始时替换由所述软件仿真工具所提供的指令;以及
布置在所述仿真接口中的多路复用器,由软件仿真工具控制来从在所述仿真寄存器组中所包括的指令寄存器或所述专用代码存储器中选择程序指令,所述多路复用器包括直接连接到所述异步微控制器的输出。
6.如权利要求5所述的设备,还包括:
布置在所述仿真接口中的仿真配置寄存器,其中所述仿真配置寄存器使用多个位,包括:
STOP_V位,由仿真接口设置为“1”用以表明当前指令完成并且来自外部计算机的STOP命令已经被接受;
DR_V位,当异步微控制器已经完成到仿真接口的数据寄存器中的写操作时由仿真接口设置为“1”;
BP2_V位,由仿真接口设置为“1”用以表明当前代码地址和仿真接口的BP2断点寄存器的命中;
BP1_V位,由仿真接口设置为“1”用以表明当前代码地址和仿真接口的BP1断点寄存器的命中;
DIR位,表明指令来源于专用代码存储器还是仿真接口的指令寄存器;
IE位,在进入仿真冻结模式之前包含异步微控制器的中断启用位的值;
STEP位,在STEP位的上升沿,异步微控制器被强迫执行一条指令并且集成电路目标设备进入仿真冻结模式;
STOP位,在STOP位的上升沿,异步微控制器被停止并且集成电路目标设备进入仿真冻结模式;
ON位,在ON位为“1”时,存储器访问仲裁器在提供由异步微控制器请求的指令之前检测DIR位值,在“ON”位为“0”时,从专用代码存储器取指令;以及
NRST位,在NRST位的下降沿,集成电路目标设备的一部分进入复位状态,在NRST位的上升沿,启动复位延迟计数器。
7.如权利要求6所述的设备,还包括:与所述仿真控制器相关联并且布置在所述仿真接口中的断点寄存器,所述断点寄存器在所述异步微控制器的每个仿真周期期间检查以便停止执行由所述软件仿真工具所提供的程序。
8.如权利要求5所述的设备,其中所述JTAG TAP包括:TCK/时钟引脚,用于使所述JTAG TAP控制器中内部状态机的操作同步;TMS/模式选择引脚,在TCK的上升沿采样所述TMS/模式选择引脚以便确定所述状态机的下一状态;TDI/数据输入引脚,在TCK的上升沿采样所述TDI/数据输入引脚并且当所述内部状态机处于正确状态时把它移入到程序设计逻辑中;TDO/数据输出引脚,用于表示移出的数据并且在TCK的下降沿上有效;和TRST/复位引脚,用于复位所述内部状态机。
9.一种用于从外部用户计算机进行目标设备仿真的方法,所述方法包括:
经由JTAG测试接入端口向仿真接口下载由在外部用户计算机上所运行的软件仿真工具所提供的数据、程序指令、程序计数器、断点和仿真配置;
利用也连接到所述仿真接口的异步微控制器来取出新的指令;
如果仿真模式关闭,那么利用所述异步微控制器执行所述指令,该操作是由与所述异步微控制器相互连接的布置在仿真接口中的仿真控制器确定的,并且向回循环到取出新的指令的步骤;否则,
执行由所述软件仿真工具所提供、并且存储在所述仿真接口的仿真寄存器中的指令并且向回循环到取出新的指令的步骤;
其中,所述方法还包括:利用布置在所述仿真接口中的多路复用器,在软件仿真工具的控制下从在所述仿真寄存器中所包括的指令寄存器或异步微控制器所包括的代码存储器中选择指令。
10.如权利要求9所述的方法,还包括:如果所述仿真模式打开,那么相对于在所述仿真接口中所存储的断点来测试程序计数器,并且如果发现匹配,那么停止执行。
CNB2005800239717A 2004-07-16 2005-07-16 测试具有异步微控制器的集成电路的仿真和调试接口 Expired - Fee Related CN100533401C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US58856204P 2004-07-16 2004-07-16
US60/588,562 2004-07-16
US60/632,112 2004-11-30

Publications (2)

Publication Number Publication Date
CN1997971A CN1997971A (zh) 2007-07-11
CN100533401C true CN100533401C (zh) 2009-08-26

Family

ID=38252235

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005800239717A Expired - Fee Related CN100533401C (zh) 2004-07-16 2005-07-16 测试具有异步微控制器的集成电路的仿真和调试接口

Country Status (1)

Country Link
CN (1) CN100533401C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101714114B (zh) * 2009-12-21 2012-05-23 龙芯中科技术有限公司 一种支持处理器硅后调试的装置和方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101458652B (zh) * 2007-12-14 2012-01-25 上海海尔集成电路有限公司 微控制器嵌入式在线仿真调试系统
CN101968652A (zh) * 2010-07-21 2011-02-09 中国航天科技集团公司第九研究院第七七一研究所 一种微控制器系统器件的检测装置及方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
AMULET3i - an Asynchronous System-on-Chip. J.D.Garside.IEEE. 2000
AMULET3i - an Asynchronous System-on-Chip. J.D.Garside.IEEE. 2000 *
Asynchronous Circuits:An Increasingly Practical DesignSolution. Peter A.Beerel.IEEE. 2002
Asynchronous Circuits:An Increasingly Practical DesignSolution. Peter A.Beerel.IEEE. 2002 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101714114B (zh) * 2009-12-21 2012-05-23 龙芯中科技术有限公司 一种支持处理器硅后调试的装置和方法

Also Published As

Publication number Publication date
CN1997971A (zh) 2007-07-11

Similar Documents

Publication Publication Date Title
US6754852B2 (en) Debug trigger builder
US6145123A (en) Trace on/off with breakpoint register
US6185732B1 (en) Software debug port for a microprocessor
EP0636976B1 (en) Microcontroller provided with hardware for supporting debugging as based on boundary scan standard-type extensions
US5479652A (en) Microprocessor with an external command mode for diagnosis and debugging
US6175914B1 (en) Processor including a combined parallel debug and trace port and a serial port
US7562170B2 (en) Programmable extended compression mask for dynamic trace
US7506205B2 (en) Debugging system and method for use with software breakpoint
US7581139B2 (en) Distinguishing between two classes of trace information
US6792563B1 (en) Method and apparatus for bus activity tracking
JPH113245A (ja) スマートデバッグインターフェース回路
JP2008507025A (ja) 集積回路テスト用エミュレーション及びデバッグインターフェイス
US6948155B2 (en) Little offset in multicycle event maintaining cycle accurate tracing of stop events
EP1132816B1 (en) Automatic detection of connectivity between an emulator and a target device
US6820051B1 (en) Software emulation monitor employed with hardware suspend mode
US6647511B1 (en) Reconfigurable datapath for processor debug functions
CN100533401C (zh) 测试具有异步微控制器的集成电路的仿真和调试接口
US20090315586A1 (en) Setting Operating Mode of an Interface Using Multiple Protocols
CN114691520A (zh) 基于处理器调试架构的指令可编程缓冲区设计系统
KR20070035570A (ko) 에뮬레이션 및 디버그 시스템, 집적 회로 목표 장치 및에뮬레이션 방법
US6981178B2 (en) Separation of debug windows by IDS bit
CN117290212A (zh) 基于risc-v架构调试系统
CN207946806U (zh) 一种调试器和调试装置
Melear Emulation techniques for microcontrollers with internal caches and multiple execution units
CN117271236A (zh) 复用jtag调试通道调试cpu核的处理器及应用方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20090206

Address after: Holland Ian Deho Finn

Applicant after: Koninkl Philips Electronics NV

Address before: Holland Ian Deho Finn

Applicant before: Koninklijke Philips Electronics N.V.

ASS Succession or assignment of patent right

Owner name: NXP CO., LTD.

Free format text: FORMER OWNER: KONINKLIJKE PHILIPS ELECTRONICS N.V.

Effective date: 20090206

C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090826

Termination date: 20100716