仿真器的制造方法

文档序号:6489242阅读:255来源:国知局
仿真器的制造方法
【专利摘要】本发明公开了一种仿真器,包括一仿真芯片,所述仿真芯片包括仿真逻辑模块、寄存器组和镜像寄存器组;在用户模式下,所述仿真逻辑模块控制所述镜像寄存器组的内容与寄存器组的内容实时保持一致;从用户模式进入监控模式后,所述仿真逻辑模块控制所述镜像寄存器组的内容不再变化,其中的数值就是退出用户模式时的数值;从监控模式进入用户模式后,所述仿真逻辑模块控制所述寄存器组的内容改写成所述镜像寄存器组中的内容,此时所述寄存器组中的数值恢复成了退出用户模式时的数值。本发明能够简化保护现场和恢复现场的过程,提高效率,降低出现错误的概率。
【专利说明】 仿真器
【技术领域】
[0001 ] 本发明涉及一种仿真器。
【背景技术】
[0002]处理器芯片内有用户开发的用户程序,在用户程序的编写和调试中,所使用的工具一般是处理器芯片仿真器。仿真器内使用包含产品处理器芯片各项功能的仿真芯片,用于模拟产品处理器芯片的工作行为,在功能和性能上均十分接近产品处理器芯片,仿真芯片与仿真器的调试模块配合实现用户程序的仿真运行和各项调试功能。仿真器有监控模式和用户模式两种工作模式,用户模式下仿真器内仿真芯片全速执行用户程序,模拟产品芯片执行程序的状态,监控模式下仿真器内仿真芯片执行仿真器提供的监控程序,并与调试模块交互,完成用户关注芯片状态数据、信息的导出和修改。仿真芯片在用户模式下执行用户程序,在监控模式下执行监控程序时,会复用一些通用寄存器(例如8051单片机的累加器A、R0、Rl、DPTR等),因此,仿真芯片在用户控制下退出用户模式进入监控模式时,需要保护这些在监控模式下会被用到的寄存器值,即把这些寄存器值由仿真器保存起来,也就是保护现场。在用户观察完芯片状态后,需要仿真器继续运行用户程序,控制仿真芯片退出监控模式重新进入用户模式。此时,用户程序是从之前退出用户模式处继续运行的,所以对应的所有寄存器值也需要是退出用户模式时的,要把那些在监控模式下被用到的寄存器值恢复成仿真器在保护现场时保存的值,即把这些寄存器值由仿真器恢复出来,也就是恢复现场。这样,才能保证用户程序执行过程中即使进出过监控模式,也与用户程序连续执行的状况是一致的。现有仿真器中,上述保护和恢复现场的工作需要仿真器和仿真芯片配合完成。保护现场时,仿真器控制仿真芯片进入监控模式,并提供一段保护现场的监控程序由仿真芯片执行,把需要保护的寄存器值逐个读取到仿真芯片中专用的缓冲寄存器中,由仿真器通过与仿真芯片连接的专用通信通道逐个取走并保存到仿真器中。恢复现场时,仿真器控制仿真芯片暂不进入用户模式,仍在监控模式。仿真器通过与仿真芯片连接的专用通信通道逐个把保存到仿真器中的寄存器值放到仿真芯片中专用的缓冲寄存器中,并由仿真芯片执行一段恢复现场的监控程序,把这些寄存器值逐个写入仿真芯片的寄存器中,最后才控制仿真芯片进入用户模式。可见现有仿真器中的上述保护/恢复现场过程繁琐复杂、效率不高,在需要保护/恢复的寄存器较多的情况下,易出现错误。仿真器也无法实现对这些寄存器值的实时观察。

【发明内容】

[0003]本发明要解决的技术问题提供一种仿真器,能够简化保护现场和恢复现场的过程,提高效率,降低出现错误的概率。
[0004]为解决上述技术问题,本发明的仿真器,包括一仿真芯片,所述仿真芯片包括一仿
真逻辑模块、一寄存器组和一镜像寄存器组;
[0005]在用户模式下,仿真逻辑模块控制镜像寄存器组的内容与寄存器组的内容实时保持一致,即寄存器组内某一寄存器值发生变化时,镜像寄存器组内对应镜像寄存器的值也随之变化;
[0006]从用户模式进入监控模式后,仿真逻辑模块控制镜像寄存器组的内容不再变化,其中的数值就是退出用户模式时的数值;
[0007]从监控模式进入用户模式后,仿真逻辑模块控制寄存器组的内容改写成镜像寄存器组中的内容,此时寄存器组中的数值恢复成了退出用户模式时的数值。
[0008]采用本发明的仿真器,保护现场和恢复现场的工作完全交由仿真芯片在退出和重新进入用户模式时自动完成,同时,仿真器可以实时读取到寄存器值,供用户观察。简化了保护现场和恢复现场的过程、提高了仿真器的工作效率、降低了出现错误的概率,提供了实用的调试新功能。有助于提高用户程序的开发调试效率。
【专利附图】

【附图说明】
[0009]下面结合附图和【具体实施方式】对本发明作进一步详细的说明:
[0010]附图是所述仿真器的结构示意图。
【具体实施方式】
[0011]参见附图所示,在下面的实施例中,所述仿真器I包括仿真芯片2,调试模块3。仿真芯片2与调试模块3之间有通信通道9以及一根控制信号线8连接。仿真芯片2包括仿真逻辑模块7、处理器核4、寄存器组5和镜像寄存器组6。仿真芯片2内的处理器核4和寄存器组5与产品芯片内的一致,镜像寄存器组6是寄存器组5的镜像。仿真器I处于用户模式下,仿真逻辑模块7控制镜像寄存器组6内容与寄存器组5内容实时保持一致;从用户模式进入监控模式后,仿真逻辑模块7控制镜像寄存器组6的内容不再变化;从监控模式进入用户模式时,仿真逻辑模块7控制寄存器组5的内容改写成镜像寄存器组6中的内容。处理器核4不能读写镜像寄存器组6。无论在监控模式还是用户模式下,调试模块7都能通过通信通道9读取镜像寄存器组6中的内容。调试模块7通过控制信号线8向仿真芯片2输出模式控制信号,控制仿真芯片2处于用户模式或者监控模式。
[0012]这样,仿真器I处于用户模式下,调试模块3通过控制信号线8向仿真芯片2输出模式控制信号,控制仿真芯片2处于用户模式。仿真逻辑模块7控制镜像寄存器组6内容与寄存器组5内容实时保持一致,即寄存器组5内某一寄存器值发生变化时,镜像寄存器组6内对应镜像寄存器的值也随之变化。调试模块3能通过通信通道9读取镜像寄存器组6中的内容,即可获得仿真芯片2中寄存器组5的实时数值。用户需要仿真器I进入监控模式时,调试模块3通过控制信号线8向仿真芯片2输出模式控制信号,控制仿真芯片2从用户模式进入监控模式。进入监控模式后,仿真逻辑模块7控制镜像寄存器组6的内容不再变化,即使寄存器组5的内容发生变化(因执行监控程序等),镜像寄存器组6的内容也不再变化,其中的数值就是退出用户模式时的数值。用户需要仿真器I退出监控模式重新进入用户模式时,调试模块3通过控制信号线8向仿真芯片2输出模式控制信号,控制仿真芯片2从监控模式重新进入用户模式。仿真逻辑模块7控制寄存器组5的内容改写成镜像寄存器组6中的内容,此时寄存器组5中的数值恢复成了退出用户模式时的数值。这样就完成了模式切换时的保护现场和恢复现场过程,同时,仿真器I可以在用户模式下获得仿真芯片2寄存器组的实时内容。
[0013]以上通过【具体实施方式】和实施例对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。
【权利要求】
1.一种仿真器,包括一仿真芯片,其特征在于:所述仿真芯片包括一仿真逻辑模块、一寄存器组和一镜像寄存器组; 在用户模式下,所述仿真逻辑模块控制所述镜像寄存器组的内容与寄存器组的内容实时保持一致; 从用户模式进入监控模式后,所述仿真逻辑模块控制所述镜像寄存器组的内容不再变化,其中的数值就是退出用户模式时的数值; 从监控模式进入用户模式后,所述仿真逻辑模块控制所述寄存器组的内容改写成所述镜像寄存器组中的内容,此时所述寄存器组中的数值恢复成了退出用户模式时的数值。
2.如权利要求1所述的仿真器,其特征在于:所述仿真芯片还包括一处理器核,该处理器核不能读写所述镜像寄存器组。
3.如权利要求1所述的仿真器,其特征在于:还包括一调试模块,该调试模块与所述仿真芯片通过一通信通道连接,所述调试模块在监控模式和用户模式下都能通过通信通道读取所述镜像寄存器组中的内容。
4.如权利要求3所述的仿真器,其特征在于:所述调试模块与仿真芯片之间还连接有一根控制信号线,所述调试模块通过该控制信号线向仿真芯片输出模式控制信号,控制所述仿真芯片处于用户模式或者监控模式。
5.如权利要求1所述的仿真器,其特征在于:所述仿真芯片的处理器核和寄存器组与产品芯片内的处理器核和寄存器组功能相同。
【文档编号】G06F9/455GK103677954SQ201210362746
【公开日】2014年3月26日 申请日期:2012年9月25日 优先权日:2012年9月25日
【发明者】许国泰 申请人:上海华虹集成电路有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1