CN102110045B - 实时显示调试信息的仿真器 - Google Patents

实时显示调试信息的仿真器 Download PDF

Info

Publication number
CN102110045B
CN102110045B CN200910202037.1A CN200910202037A CN102110045B CN 102110045 B CN102110045 B CN 102110045B CN 200910202037 A CN200910202037 A CN 200910202037A CN 102110045 B CN102110045 B CN 102110045B
Authority
CN
China
Prior art keywords
emulation chip
user program
registers unit
management module
mirror
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
CN200910202037.1A
Other languages
English (en)
Other versions
CN102110045A (zh
Inventor
许国泰
贾峻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Huahong Integrated Circuit Co Ltd
Original Assignee
Shanghai Huahong Integrated Circuit Co Ltd
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 Shanghai Huahong Integrated Circuit Co Ltd filed Critical Shanghai Huahong Integrated Circuit Co Ltd
Priority to CN200910202037.1A priority Critical patent/CN102110045B/zh
Publication of CN102110045A publication Critical patent/CN102110045A/zh
Application granted granted Critical
Publication of CN102110045B publication Critical patent/CN102110045B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

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

Abstract

本发明公开了一种实时显示调试信息的仿真器,仿真器包括仿真芯片、仿真管理模块,以及PC端的调试软件;仿真芯片内包括一组对用户程序是不可见的镜像寄存器单元,用户程序不能操作所述镜像寄存器单元;镜像寄存器单元是仿真芯片中某些寄存器、存储器单元的镜像,仿真芯片在改写寄存器、存储器单元数值的同时,也会改写与之对应的镜像寄存器单元中的数值;仿真芯片全速执行用户程序时,仿真管理模块通过信息读取通道读取镜像寄存器单元组中各个镜像寄存器单元中的数值;仿真管理模块通过数据通道实时地向PC端的调试软件传递数据,调试软件将接收到的数据实时显示出来。本发明可用户观察到所关心的调试信息在用户程序运行中的实时变化情况。

Description

实时显示调试信息的仿真器
技术领域
本发明涉及仿真器领域,特别是涉及一种能够实时显示客户关心的调试信息的仿真器。
背景技术
处理器芯片内有用户开发的用户程序,在用户程序的编写和调试中,所使用的工具一般是处理器芯片仿真器。仿真器内使用替代处理器芯片产品芯片的仿真芯片,配合仿真器中的仿真控制模块、用户程序存储器等部件以及PC端的调试软件,实现对用户程序的仿真调试。调试信息的观察是仿真器提供的基本的也是非常重要的一种调试手段,这些调试信息包括存储器内数据值的变化、寄存器数值的变化、程序运行指针的变化等等。现有仿真器中,调试信息观察的功能是必须在仿真芯片停止执行用户程序后,由仿真器取出仿真芯片此时的各项调试信息供用户观察的。现有仿真器的仿真芯片在执行用户程序时,仿真器不与仿真芯片通信,因此仿真器也无法实时地取出仿真芯片的各项调试信息送到PC端的调试软件供用户实时观察的。如果仿真芯片在执行用户程序时,仿真器与仿真芯片通信实时获取调试信息,由于通信过程中需要仿真芯片处理器的参与,通信中仿真芯片不能执行用户程序,这会极大降低仿真芯片执行用户程序的速度,使用户程序在仿真器上执行的效果与在实际产品芯片上执行的效果相差巨大,这是用户不可接受的。但是,另一方面,用户程序执行过程中,有些调试信息,例如寄程序运行指针值、某个存器数值的变化又是用户非常关心的,如果它们的数值在用户程序执行过程中可以被实时观察到,将会对用户调试用户程序带来极大的便利,提高调试效率。同时,用户程序执行过程中,用户并不是关心所有调试信息的实时变化情况,关心的通常只是寄程序运行指针值等几个对其用户程序而言比较关键的调试信息值的实时变化情况。
发明内容
本发明要解决的技术问题是提供一种实时显示调试信息的仿真器,仿真器在全速执行用户程序时,用户关心的部分调试信息可以实时显示在PC端的调试软件中,使用户可以观察到所关心的这些调试信息在用户程序运行中的实时变化情况。
为解决上述技术问题,本发明的实时显示调试信息的仿真器是通过以下技术方案实现的:所述仿真器包括仿真芯片、仿真管理模块,以及PC端的调试软件;用户程序在所述仿真芯片中执行;其中:
所述仿真芯片内包括一组对用户程序是不可见的镜像寄存器单元,用户程序不能操作所述镜像寄存器单元,
所述镜像寄存器单元是仿真芯片中某些寄存器和存储器单元的镜像,仿真芯片在执行用户程序时,对某些寄存器和/或存储器单元进行了改写,如果存在与这些被改写的寄存器和/或存储器单元对应的镜像寄存器单元,仿真芯片在改写这些寄存器、存储器单元数值的同时,也会改写与之对应的镜像寄存器单元中的数值,使所述镜像寄存器单元中的数值始终与仿真芯片中与之对应的寄存器、存储器单元中的数值保持一致;
仿真芯片全速执行用户程序时,所述仿真管理模块通过信息读取通道读取所述镜像寄存器单元组中各个镜像寄存器单元中的数值;
所述仿真管理模块通过数据通道实时地向PC端的调试软件传递数据,调试软件将接收到的数据实时显示出来。
采用本发明的仿真器,在全速执行用户程序时,用户关心的部分调试信息可以实时显示在PC端的调试软件中,使用户可以观察到这些所关心的调试信息在用户程序运行中的实时变化情况,且不影响仿真器中仿真芯片执行用户程序的速度。即保证了用户程序全速执行的真实性,又向用户提供了有效的调试手段,有利于提高用户的调试效率。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明:
附图是采用本发明的仿真器一实施例结构示意图。
具体实施方式
如图所示,在一实施例中所述实时显示调试信息的仿真器1包括:仿真芯片2、仿真管理模块3,以及安装在PC机5上的调试软件。用户程序在仿真芯片2中执行。
所述仿真芯片2内包含由若干个镜像寄存器单元组成的镜像寄存器单元组4。该镜像寄存器单元组4对用户程序是不可见的,用户程序不能操作镜像寄存器单元组4中的各个镜像寄存器单元,因此也不会影响用户程序在仿真芯片2中执行的效果。镜像寄存器单元组4中的各个镜像寄存器单元是仿真芯片2中某些寄存器、存储器单元的镜像。仿真芯片2在执行用户程序时,对某些寄存器和/或存储器单元进行了改写,如果镜像寄存器单元组4存在与这些寄存器、存储器单元对应的镜像寄存器单元,仿真芯片2在改写这些寄存器、存储器单元数值的同时,也会改写与之对应的镜像寄存器单元中的数值,使这些镜像寄存器单元中的数值始终与仿真芯片中与之对应的寄存器、存储器单元中的数值保持一致。
所述仿真管理模块3与仿真芯片2的镜像寄存器单元组4之间有一条信息读取通道6;仿真芯片2全速执行用户程序时,仿真管理模块3通过信息读取通道6实时读取镜像寄存器单元组4中各个镜像寄存器单元中的数值。所述信息读取通道6是单向的,仿真管理模块3只能通过信息读取通道6读取镜像寄存器单元组4中各个镜像寄存器单元中的数据,不能通过信息读取通道6向镜像寄存器单元组中各个镜像寄存器单元写入数据。
所述仿真管理模块3与仿真芯片2之间有一条通信通道7,在仿真芯片2不执行用户程序时通过通信通道7与仿真管理模块3通信,实现仿真管理模块3对仿真芯片2的控制,在仿真芯片2执行用户程序时通信通道7不工作,不会干扰或影响仿真芯片2执行用户程序,这与现有仿真器中仿真管理模块与仿真芯片间的通信通道是类似的。
所述仿真管理模块3与PC机5之间有一条数据通道8,仿真管理模块3通过该数据通道8实时地向PC机5上的调试软件传递数据,所述调试软件能把接收到的数据实时显示出来。
这样,在不运行用户程序时,本发明的仿真器1可以实现现有仿真器的各项功能。在全速运行用户程序时,本发明的仿真器1中,如果仿真芯片2在执行用户程序时,对用户关心的某些寄存器和/或存储器单元进行了改写,那么仿真芯片2也会同时改写与这些寄存器和/或存储器单元对应的镜像寄存器单元组4中的镜像寄存器单元的数值。由于是同时改写,并不会影响仿真芯片2执行用户程序的速度。仿真管理模块3实时地读取到镜像寄存器单元组4中的这些镜像寄存器单元中的数值,并传递给PC机5上的调试软件,由调试软件实时地显示出来,用户就可以在用户程序全速运行时实时地观察到所关心的调试信息,也就是那些寄存器和/或存储器单元中的数值变化了。
此外,由于用户程序执行过程中,用户并不是关心所有调试信息的实时变化情况,关心的通常只是寄程序运行指针值等几个对其用户程序而言比较关键的调试信息值的实时变化情况,数量比较有限,因此本发明的仿真器1中镜像寄存器单元组4中的镜像寄存器单元个数不会很多,不会增加仿真芯片2设计的复杂度。
以上通过具体实施例对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。

Claims (3)

1.一种实时显示调试信息的仿真器,所述仿真器包括仿真芯片、仿真管理模块,以及PC端的调试软件;用户程序在所述仿真芯片中执行;
其特征在于:
所述仿真芯片内包括一组对用户程序是不可见的镜像寄存器单元,用户程序不能操作所述镜像寄存器单元,
所述镜像寄存器单元是仿真芯片中某些寄存器、存储器单元的镜像,仿真芯片在执行用户程序时,对某些寄存器和/或存储器单元进行了改写,如果存在与这些被改写的寄存器和/或存储器单元对应的镜像寄存器单元,仿真芯片在改写这些寄存器、存储器单元数值的同时,也会改写与之对应的镜像寄存器单元中的数值,使所述镜像寄存器单元中的数值始终与仿真芯片中与之对应的寄存器、存储器单元中的数值保持一致;
仿真芯片全速执行用户程序时,所述仿真管理模块通过信息读取通道读取所述镜像寄存器单元组中各个镜像寄存器单元中的数值;
所述仿真管理模块通过数据通道实时地单向PC端的调试软件传递数据,所述调试软件将接收到的数据实时显示出来。
2.如权利要求1所述的仿真器,其特征在于:所述信息读取通道是单向的,仿真管理模块只能通过所述信息读取通道读取镜像寄存器单元组中的数据,不能通过所述信息读取通道向镜像寄存器单元组写入数据。
3.如权利要求1所述的仿真器,其特征在于:在仿真芯片不执行用户程序时,通过通信通道与仿真管理模块通信,实现仿真管理模块对仿真芯片的控制,在仿真芯片执行用户程序时所述通信通道不工作。
CN200910202037.1A 2009-12-24 2009-12-24 实时显示调试信息的仿真器 Expired - Fee Related CN102110045B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910202037.1A CN102110045B (zh) 2009-12-24 2009-12-24 实时显示调试信息的仿真器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910202037.1A CN102110045B (zh) 2009-12-24 2009-12-24 实时显示调试信息的仿真器

Publications (2)

Publication Number Publication Date
CN102110045A CN102110045A (zh) 2011-06-29
CN102110045B true CN102110045B (zh) 2014-02-19

Family

ID=44174211

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910202037.1A Expired - Fee Related CN102110045B (zh) 2009-12-24 2009-12-24 实时显示调试信息的仿真器

Country Status (1)

Country Link
CN (1) CN102110045B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528414A (zh) * 2016-11-03 2017-03-22 上海华虹集成电路有限责任公司 处理器芯片仿真器

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102955872B (zh) * 2011-08-31 2016-05-04 北京中电华大电子设计有限责任公司 具有参数传递功能的仿真器
CN103677954B (zh) * 2012-09-25 2018-02-13 上海华虹集成电路有限责任公司 仿真器
CN103914331A (zh) * 2012-12-28 2014-07-09 北京中电华大电子设计有限责任公司 支持多芯片配置功能的仿真器
CN104899076B (zh) * 2015-06-18 2018-04-27 北京思朗科技有限责任公司 一种超大规模集成电路门级网表仿真的加速方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101154183A (zh) * 2006-09-29 2008-04-02 上海海尔集成电路有限公司 一种微控制器嵌入式在线仿真调试系统
CN101206614A (zh) * 2006-12-20 2008-06-25 上海华虹集成电路有限责任公司 仿真特殊功能寄存器的仿真器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101154183A (zh) * 2006-09-29 2008-04-02 上海海尔集成电路有限公司 一种微控制器嵌入式在线仿真调试系统
CN101206614A (zh) * 2006-12-20 2008-06-25 上海华虹集成电路有限责任公司 仿真特殊功能寄存器的仿真器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528414A (zh) * 2016-11-03 2017-03-22 上海华虹集成电路有限责任公司 处理器芯片仿真器
CN106528414B (zh) * 2016-11-03 2018-12-11 上海华虹集成电路有限责任公司 处理器芯片仿真器

Also Published As

Publication number Publication date
CN102110045A (zh) 2011-06-29

Similar Documents

Publication Publication Date Title
CN100495479C (zh) 基于在线可编程逻辑器件的单片机教学实验装置
CN102110045B (zh) 实时显示调试信息的仿真器
CN102955737B (zh) 异构处理器体系的程序调试方法和系统
CN100476650C (zh) 单片机存储系统
CN105335548B (zh) 一种用于ice的mcu仿真方法
CN101206614B (zh) 仿真特殊功能寄存器的仿真器
CN101131875A (zh) 一种寄存器测试的方法和系统
CN113163009A (zh) 数据传送方法、装置、电子设备及存储介质
CN106249840A (zh) 节能非易失性微处理器
CN107025167A (zh) 在处理器追踪日志中使用编译器类型信息进行数据流分析的方法和设备
CN100487668C (zh) 一种嵌入式处理器的调试方法
CN102073480B (zh) 基于时分复用实现多核处理器内核模拟的方法
CN101751327A (zh) 嵌入式处理器的跟踪调试方法
CN108845829A (zh) 一种系统寄存器访问指令的执行方法
CN104850247A (zh) 把写的内容通过互联网实时输出到网络服务器的电子笔
CN104461796B (zh) 用于嵌入式8051cpu的jtag调试模块及调试方法
CN102819430A (zh) 一种在linux环境下实现串行通信接口的装置及方法
CN112230873A (zh) 一种基于dsp的显示处理方法
CN104572515B (zh) 跟踪模块、方法、系统和片上系统芯片
CN102467444A (zh) 特殊功能寄存器的仿真调试系统
CN103678073A (zh) 仿真系统
CN103514070B (zh) 结合xml描述进行硬件自动化测试方法
CN109243650B (zh) 基于fpga的具有组态功能的核电站安全级仪控系统及方法
CN106873770A (zh) 一种用户行为数据存储方法和系统及一种可穿戴设备
CN104867520A (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140219

Termination date: 20191224