CN103677954B - 仿真器 - Google Patents
仿真器 Download PDFInfo
- Publication number
- CN103677954B CN103677954B CN201210362746.8A CN201210362746A CN103677954B CN 103677954 B CN103677954 B CN 103677954B CN 201210362746 A CN201210362746 A CN 201210362746A CN 103677954 B CN103677954 B CN 103677954B
- Authority
- CN
- China
- Prior art keywords
- emulation
- content
- emulator
- group
- user model
- 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.)
- Active
Links
Landscapes
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明公开了一种仿真器,包括一仿真芯片,所述仿真芯片包括仿真逻辑模块、寄存器组和镜像寄存器组;在用户模式下,所述仿真逻辑模块控制所述镜像寄存器组的内容与寄存器组的内容实时保持一致;从用户模式进入监控模式后,所述仿真逻辑模块控制所述镜像寄存器组的内容不再变化,其中的数值就是退出用户模式时的数值;从监控模式进入用户模式后,所述仿真逻辑模块控制所述寄存器组的内容改写成所述镜像寄存器组中的内容,此时所述寄存器组中的数值恢复成了退出用户模式时的数值。本发明能够简化保护现场和恢复现场的过程,提高效率,降低出现错误的概率。
Description
技术领域
本发明涉及一种仿真器。
背景技术
处理器芯片内有用户开发的用户程序,在用户程序的编写和调试中,所使用的工具一般是处理器芯片仿真器。仿真器内使用包含产品处理器芯片各项功能的仿真芯片,用于模拟产品处理器芯片的工作行为,在功能和性能上均十分接近产品处理器芯片,仿真芯片与仿真器的调试模块配合实现用户程序的仿真运行和各项调试功能。仿真器有监控模式和用户模式两种工作模式,用户模式下仿真器内仿真芯片全速执行用户程序,模拟产品芯片执行程序的状态,监控模式下仿真器内仿真芯片执行仿真器提供的监控程序,并与调试模块交互,完成用户关注芯片状态数据、信息的导出和修改。仿真芯片在用户模式下执行用户程序,在监控模式下执行监控程序时,会复用一些通用寄存器(例如8051单片机的累加器A、R0、R1、DPTR等),因此,仿真芯片在用户控制下退出用户模式进入监控模式时,需要保护这些在监控模式下会被用到的寄存器值,即把这些寄存器值由仿真器保存起来,也就是保护现场。在用户观察完芯片状态后,需要仿真器继续运行用户程序,控制仿真芯片退出监控模式重新进入用户模式。此时,用户程序是从之前退出用户模式处继续运行的,所以对应的所有寄存器值也需要是退出用户模式时的,要把那些在监控模式下被用到的寄存器值恢复成仿真器在保护现场时保存的值,即把这些寄存器值由仿真器恢复出来,也就是恢复现场。这样,才能保证用户程序执行过程中即使进出过监控模式,也与用户程序连续执行的状况是一致的。现有仿真器中,上述保护和恢复现场的工作需要仿真器和仿真芯片配合完成。保护现场时,仿真器控制仿真芯片进入监控模式,并提供一段保护现场的监控程序由仿真芯片执行,把需要保护的寄存器值逐个读取到仿真芯片中专用的缓冲寄存器中,由仿真器通过与仿真芯片连接的专用通信通道逐个取走并保存到仿真器中。恢复现场时,仿真器控制仿真芯片暂不进入用户模式,仍在监控模式。仿真器通过与仿真芯片连接的专用通信通道逐个把保存到仿真器中的寄存器值放到仿真芯片中专用的缓冲寄存器中,并由仿真芯片执行一段恢复现场的监控程序,把这些寄存器值逐个写入仿真芯片的寄存器中,最后才控制仿真芯片进入用户模式。可见现有仿真器中的上述保护/恢复现场过程繁琐复杂、效率不高,在需要保护/恢复的寄存器较多的情况下,易出现错误。仿真器也无法实现对这些寄存器值的实时观察。
发明内容
本发明要解决的技术问题提供一种仿真器,能够简化保护现场和恢复现场的过程,提高效率,降低出现错误的概率。
为解决上述技术问题,本发明的仿真器,包括一仿真芯片,所述仿真芯片包括一仿真逻辑模块、一寄存器组和一镜像寄存器组;
在用户模式下,仿真逻辑模块控制镜像寄存器组的内容与寄存器组的内容实时保持一致,即寄存器组内某一寄存器值发生变化时,镜像寄存器组内对应镜像寄存器的值也随之变化;
从用户模式进入监控模式后,仿真逻辑模块控制镜像寄存器组的内容不再变化,其中的数值就是退出用户模式时的数值;
从监控模式进入用户模式后,仿真逻辑模块控制寄存器组的内容改写成镜像寄存器组中的内容,此时寄存器组中的数值恢复成了退出用户模式时的数值。
采用本发明的仿真器,保护现场和恢复现场的工作完全交由仿真芯片在退出和重新进入用户模式时自动完成,同时,仿真器可以实时读取到寄存器值,供用户观察。简化了保护现场和恢复现场的过程、提高了仿真器的工作效率、降低了出现错误的概率,提供了实用的调试新功能。有助于提高用户程序的开发调试效率。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明:
附图是所述仿真器的结构示意图。
具体实施方式
参见附图所示,在下面的实施例中,所述仿真器1包括仿真芯片2,调试模块3。仿真芯片2与调试模块3之间有通信通道9以及一根控制信号线8连接。仿真芯片2包括仿真逻辑模块7、处理器核4、寄存器组5和镜像寄存器组6。仿真芯片2内的处理器核4和寄存器组5与产品芯片内的一致,镜像寄存器组6是寄存器组5的镜像。仿真器1处于用户模式下,仿真逻辑模块7控制镜像寄存器组6内容与寄存器组5内容实时保持一致;从用户模式进入监控模式后,仿真逻辑模块7控制镜像寄存器组6的内容不再变化;从监控模式进入用户模式时,仿真逻辑模块7控制寄存器组5的内容改写成镜像寄存器组6中的内容。处理器核4不能读写镜像寄存器组6。无论在监控模式还是用户模式下,调试模块7都能通过通信通道9读取镜像寄存器组6中的内容。调试模块7通过控制信号线8向仿真芯片2输出模式控制信号,控制仿真芯片2处于用户模式或者监控模式。
这样,仿真器1处于用户模式下,调试模块3通过控制信号线8向仿真芯片2输出模式控制信号,控制仿真芯片2处于用户模式。仿真逻辑模块7控制镜像寄存器组6内容与寄存器组5内容实时保持一致,即寄存器组5内某一寄存器值发生变化时,镜像寄存器组6内对应镜像寄存器的值也随之变化。调试模块3能通过通信通道9读取镜像寄存器组6中的内容,即可获得仿真芯片2中寄存器组5的实时数值。用户需要仿真器1进入监控模式时,调试模块3通过控制信号线8向仿真芯片2输出模式控制信号,控制仿真芯片2从用户模式进入监控模式。进入监控模式后,仿真逻辑模块7控制镜像寄存器组6的内容不再变化,即使寄存器组5的内容发生变化(因执行监控程序等),镜像寄存器组6的内容也不再变化,其中的数值就是退出用户模式时的数值。用户需要仿真器1退出监控模式重新进入用户模式时,调试模块3通过控制信号线8向仿真芯片2输出模式控制信号,控制仿真芯片2从监控模式重新进入用户模式。仿真逻辑模块7控制寄存器组5的内容改写成镜像寄存器组6中的内容,此时寄存器组5中的数值恢复成了退出用户模式时的数值。这样就完成了模式切换时的保护现场和恢复现场过程,同时,仿真器1可以在用户模式下获得仿真芯片2寄存器组的实时内容。
以上通过具体实施方式和实施例对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。
Claims (5)
1.一种仿真器,包括一仿真芯片,其特征在于:所述仿真芯片包括一仿真逻辑模块、一寄存器组和一镜像寄存器组;
在用户模式下,所述仿真逻辑模块控制所述镜像寄存器组的内容与寄存器组的内容实时保持一致;
从用户模式进入监控模式后,所述仿真逻辑模块控制所述镜像寄存器组的内容不再变化,其中的数值就是退出用户模式时的数值;
从监控模式进入用户模式后,所述仿真逻辑模块控制所述寄存器组的内容改写成所述镜像寄存器组中的内容,此时所述寄存器组中的数值恢复成了退出用户模式时的数值。
2.如权利要求1所述的仿真器,其特征在于:所述仿真芯片还包括一处理器核,该处理器核不能读写所述镜像寄存器组。
3.如权利要求1所述的仿真器,其特征在于:还包括一调试模块,该调试模块与所述仿真芯片通过一通信通道连接,所述调试模块在监控模式和用户模式下都能通过通信通道读取所述镜像寄存器组中的内容。
4.如权利要求3所述的仿真器,其特征在于:所述调试模块与仿真芯片之间还连接有一根控制信号线,所述调试模块通过该控制信号线向仿真芯片输出模式控制信号,控制所述仿真芯片处于用户模式或者监控模式。
5.如权利要求1所述的仿真器,其特征在于:所述仿真芯片的处理器核和寄存器组与产品芯片内的处理器核和寄存器组功能相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210362746.8A CN103677954B (zh) | 2012-09-25 | 2012-09-25 | 仿真器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210362746.8A CN103677954B (zh) | 2012-09-25 | 2012-09-25 | 仿真器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103677954A CN103677954A (zh) | 2014-03-26 |
CN103677954B true CN103677954B (zh) | 2018-02-13 |
Family
ID=50315611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210362746.8A Active CN103677954B (zh) | 2012-09-25 | 2012-09-25 | 仿真器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103677954B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102016105844A1 (de) * | 2016-03-31 | 2017-10-05 | Dspace Digital Signal Processing And Control Engineering Gmbh | Verfahren zum Testen eines Steuerprogramms eines Steuergeräts in einer Simulationsumgebung auf einem Rechner |
CN106485020B (zh) * | 2016-10-31 | 2019-10-01 | 上海华虹集成电路有限责任公司 | 带有非易失性存储器的处理器芯片仿真器 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6647511B1 (en) * | 1998-09-17 | 2003-11-11 | Texas Instruments Incorporated | Reconfigurable datapath for processor debug functions |
CN101206614A (zh) * | 2006-12-20 | 2008-06-25 | 上海华虹集成电路有限责任公司 | 仿真特殊功能寄存器的仿真器 |
CN101751323A (zh) * | 2008-11-28 | 2010-06-23 | 上海华虹集成电路有限责任公司 | 微处理器芯片仿真器及断点设置的方法 |
CN101968763A (zh) * | 2009-07-27 | 2011-02-09 | 上海华虹集成电路有限责任公司 | 高速处理器芯片仿真器 |
CN102110045A (zh) * | 2009-12-24 | 2011-06-29 | 上海华虹集成电路有限责任公司 | 实时显示调试信息的仿真器 |
CN102467444A (zh) * | 2010-11-11 | 2012-05-23 | 上海华虹集成电路有限责任公司 | 特殊功能寄存器的仿真调试系统 |
-
2012
- 2012-09-25 CN CN201210362746.8A patent/CN103677954B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6647511B1 (en) * | 1998-09-17 | 2003-11-11 | Texas Instruments Incorporated | Reconfigurable datapath for processor debug functions |
CN101206614A (zh) * | 2006-12-20 | 2008-06-25 | 上海华虹集成电路有限责任公司 | 仿真特殊功能寄存器的仿真器 |
CN101751323A (zh) * | 2008-11-28 | 2010-06-23 | 上海华虹集成电路有限责任公司 | 微处理器芯片仿真器及断点设置的方法 |
CN101968763A (zh) * | 2009-07-27 | 2011-02-09 | 上海华虹集成电路有限责任公司 | 高速处理器芯片仿真器 |
CN102110045A (zh) * | 2009-12-24 | 2011-06-29 | 上海华虹集成电路有限责任公司 | 实时显示调试信息的仿真器 |
CN102467444A (zh) * | 2010-11-11 | 2012-05-23 | 上海华虹集成电路有限责任公司 | 特殊功能寄存器的仿真调试系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103677954A (zh) | 2014-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101339581B (zh) | 基于中断通讯的嵌入式系统的在线调试仿真方法 | |
CN202373055U (zh) | 嵌入式一体化车道控制机 | |
CN103941619B (zh) | 一种基于fpga可重构的微机保护的开发平台 | |
CN101206614B (zh) | 仿真特殊功能寄存器的仿真器 | |
CN103207830B (zh) | 带有软件断点的仿真器 | |
CN103677954B (zh) | 仿真器 | |
CN104391770A (zh) | 一种嵌入式数据安全系统用soc芯片的在线调试及上位机通讯模块 | |
CN103793263B (zh) | 一种基于PowerPC处理器的DMA事务级建模方法 | |
CN104461859A (zh) | 一种支持nvm软断点调试的仿真器和方法 | |
CN102467446A (zh) | 可设置程序指针值的处理器芯片仿真器 | |
CN106528414B (zh) | 处理器芯片仿真器 | |
CN101751323A (zh) | 微处理器芯片仿真器及断点设置的方法 | |
CN102110045B (zh) | 实时显示调试信息的仿真器 | |
CN104461796B (zh) | 用于嵌入式8051cpu的jtag调试模块及调试方法 | |
CN106485020B (zh) | 带有非易失性存储器的处理器芯片仿真器 | |
CN105405280B (zh) | 一种用于调试电力采集终端并获得抄表信息的实现方法 | |
CN101751324B (zh) | 非接触式智能卡仿真器及工作模式切换方法 | |
CN102467444A (zh) | 特殊功能寄存器的仿真调试系统 | |
CN203204494U (zh) | 结合多功能高稳定性插槽结构与多功能插卡模块的系统 | |
CN107885527A (zh) | 一种测试系统的代码修改方法及装置 | |
CN104698867A (zh) | 基于m文件系统函数的数据采集卡的数据交互方法 | |
CN103678073A (zh) | 仿真系统 | |
CN103049214B (zh) | 磁盘阵列卡以及具有扩充功能的磁盘阵列系统 | |
CN114492261B (zh) | 一种芯片仿真系统 | |
CN107239614A (zh) | 一种外部事件触发断点的芯片仿真方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |