CN106484584A - 处理器芯片仿真器 - Google Patents
处理器芯片仿真器 Download PDFInfo
- Publication number
- CN106484584A CN106484584A CN201610929731.3A CN201610929731A CN106484584A CN 106484584 A CN106484584 A CN 106484584A CN 201610929731 A CN201610929731 A CN 201610929731A CN 106484584 A CN106484584 A CN 106484584A
- Authority
- CN
- China
- Prior art keywords
- user
- emulation chip
- monitoring
- chip
- user program
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/261—Functional testing by simulating additional hardware, e.g. fault simulation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种处理器芯片仿真器,包括仿真芯片,监控模块,监控程序存储器以及用户电脑上的集成开发环境。仿真芯片模拟产品芯片所有功能,仿真芯片内置或外挂用户存储存储器,用户存储器内Code区的保留区域设置与产品芯片一致,用户程序执行进入保留区域时会产生不可屏蔽越界中断。仿真芯片有用户模式和监控模式两种工作状态,用户模式下,仿真芯片从用户程序存储器取指执行用户程序;监控模式下,仿真芯片通过数据/地址总线从所述监控程序存储器读取和执行监控程序,不取指执行用户程序,且PC值跨越进入Code区保留区域地址范围时不产生不可屏蔽越界中断。本发明能方便用户程序的开发和调试,有助于提高代码开发效率。
Description
技术领域
本发明涉及仿真器领域,特别是涉及一种处理器芯片仿真器。
背景技术
处理器芯片内有用户开发的用户程序,在用户程序的编写和调试中,所使用的工具一般是仿真器。仿真器内使用包含产品处理器芯片各项功能的仿真芯片,用于模拟产品处理器芯片的工作行为,仿真芯片与仿真器其它部件(存放用户程序的程序存储器、存放数据的数据存储器,以及用户电脑上的集成开发环境等)配合实现用户程序的仿真运行和各项调试功能。
很多处理器芯片逻辑上的程序存储器区域(Code区)映射了几个物理存储器,设计为Code区逻辑地址是不连续的,也就是说不是所有的程序存储器地址都可以访问取指,会有一些无法存放代码和取指执行的保留区域存在,如果用户程序代码中出现跳转或顺序执行程序语句进入保留区域的地址范围,就会产生不可屏蔽越界中断,芯片会进入复位、中断等异常状态。
仿真器上,停止全速执行用户程序、遇到断点停止执行、单步执行完一条用户程序语句后,集成开发环境都会自动下发一连串获取当前芯片状态的指令给仿真器,包括存储器(如果集成开发环境上打开了存储器窗口)、通用和特殊寄存器、程序执行指针(PC指针)等。仿真器会保存出当前用户程序的程序指针(PC)值。仿真芯片从用户程序切换到继续执行监控程序,PC值也继续增加,读取出所需的数据返回给集成开发环境,显示在集成开发环境的界面上。由于执行监控程序,仿真芯片的PC值增加了,完成后仿真器会把之前保存的PC值取出填充回仿真芯片的程序指针寄存器内,恢复到停止执行用户程序时的PC值,以保证用户继续运行用户程序时,从上次停止运行处开始运行。
如此,当仿真器停止执行用户程序时,停止的用户程序语句PC值接近了Code区的某个保留区域(例如Code保留区地址范围8000H-8FFFH,正常可用Code区0H-7FFFH,9000H-FFFFH,用户程序执行停止在7FFFH处等),切换执行监控程序后,PC值继续增加,就会跨入保留区域对应的地址区域范围内,就会产生不可屏蔽越界中断,导致监控程序不能继续执行或执行异常,无法返回正常的芯片状态数据给集成开发环境,集成开发环境报错或出现异常的芯片状态信息,同时,由于产生了不可屏蔽越界中断,破坏了仿真芯片停止运行用户程序时的状态,无法继续执行用户程序。由于集成开发环境打开的窗口类型和数量差异,需要导出的数据内容和数量也有差异,对应需要执行的监控程序代码量也是不确定的,并不是一个固定值,故而无法预期并调整仿真芯片设计上Code保留区域范围来完全避开所述问题。现有仿真器一般采用修改Code区保留区域大小,保证监控程序执行带来的PC值增加不会跨入保留区域产生不可屏蔽越界中断,或者不允许用户程序在接近保留区域处停止执行等方式解决。但是,这些方法或者影响了仿真器与产品芯片的一致性,或者影响了易用性和使用感受,都不是很理想。
发明内容
本发明要解决的技术问题是提供一种处理器芯片仿真器,能够保证仿真器与产品芯片的一致性,同时不影响仿真器的使用感受和易用性,提高用户程序的开发调试效率。
为解决上述技术问题,本发明的处理器芯片仿真器,包括:仿真芯片,监控模块,监控程序存储器以及安装在用户电脑上的集成开发环境软件;所述仿真芯片通过标准的访问程序区的数据/地址总线与监控程序存储器连接;所述监控模块通过模式控制信号线与仿真芯片连接,通过调试接口通道与所述集成开发环境软件进行信息传送;
所述仿真芯片模拟产品芯片所有功能,内置或外挂用户存储存储器,用户存储器内Code区的保留区域设置与产品芯片一致,用户程序执行进入保留区域时会产生不可屏蔽越界中断;所述仿真芯片有用户模式和监控模式两种工作状态,在用户模式下,仿真芯片从用户程序存储器取指执行用户程序;在监控模式下,仿真芯片通过数据/地址总线从所述监控程序存储器读取和执行监控程序,不取指执行用户程序,且PC值跨越进入Code区保留区域地址范围时不产生不可屏蔽越界中断。
采用本发明的仿真器能真实模拟产品芯片Code区内保留区域大小和用户程序执行进入保留区域时产生不可屏蔽越界中断,保持与产品芯片相同功能。同时,在停止执行用户程序语句的PC值接近了Code区保留区域时,仍能正常导出所需芯片状态数据,且不会触发不可屏蔽越界中断,不会改变停止运行用户程序时的仿真芯片状态。方便了用户程序的开发和调试,有助于提高代码开发效率。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明:
图1是所述处理器芯片仿真器结构示意图。
具体实施方式
如图1所示,所述处理器芯片仿真器1,包括:仿真芯片2,监控模块3,监控程序存储器4以及安装在用户电脑上的集成开发环境软件5。所述仿真芯片2通过标准的访问程序区的数据/地址总线6与监控程序存储器4连接。所述监控模块3通过模式控制信号线7与仿真芯片2连接,通过调试接口通道8与用户电脑上的集成开发环境软件5进行信息传送。
所述仿真芯片2能模拟产品芯片所有功能,仿真芯片2内置或外挂用户存储存储器,用户存储器内Code区的保留区域设置与产品芯片一致,用户程序执行进入保留区域时会产生不可屏蔽越界中断。所述仿真芯片2有用户模式和监控模式两种工作状态,用户模式下,仿真芯片2从用户程序存储器取指执行用户程序;监控模式下,仿真芯片2通过数据/地址总线6从所述监控程序存储器4读取和执行监控程序,不取指执行用户程序,且PC值跨越进入Code区保留区域地址范围时不产生不可屏蔽越界中断。
所述监控模块3通过模式控制信号7控制仿真芯片2处于用户模式或监控模式。
所述集成开发环境5通过调试接口8向监控模块下发各种调试指令接收响应。
这样,所实现的仿真器1全速执行用户程序时,能够真实模拟产品芯片Code区内保留区域大小和用户程序执行进入保留区域时产生不可屏蔽越界中断的功能。在停止执行用户程序语句的PC值接近了Code区保留区域时,监控模块3控制仿真芯片2进入监控模式,仿真芯片2从监控程序存储器4取指执行监控程序,首先保存停止执行用户程序时的PC值,然后导出芯片状态数据由监控模块3返回给集成开发环境软件5显示在界面上。监控程序执行过程中,即使PC值增加跨越进入Code区保留区域地址范围内,由于处于监控模式,仿真芯片2也不会产生不可屏蔽越界中断,执行完成后,仿真芯片2的PC值恢复到停止执行用户程序时保存的PC值,监控模块3控制仿真芯片2回到用户模式,可以继续执行用户程序。
除了上述实现方法外,所述监控程序存储器4也可采用通过扫描链直接向仿真芯片2的处理器塞入监控程序语句的方式替代。
以上通过具体实施方式对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。
Claims (3)
1.一种处理器芯片仿真器,其特征在于,包括:仿真芯片,监控模块,监控程序存储器以及安装在用户电脑上的集成开发环境;所述仿真芯片通过标准的访问程序区的数据/地址总线与监控程序存储器连接;所述监控模块通过模式控制信号线与仿真芯片连接,通过调试接口通道与所述集成开发环境软件进行信息传送;
所述仿真芯片模拟产品芯片所有功能,仿真芯片内置或外挂用户存储存储器,用户存储器内程序存储器区域的保留区域设置与产品芯片一致,用户程序执行进入保留区域时会产生不可屏蔽越界中断;所述仿真芯片有用户模式和监控模式两种工作状态,在用户模式下,仿真芯片从用户程序存储器取指执行用户程序;在监控模式下,仿真芯片通过数据/地址总线从所述监控程序存储器读取和执行监控程序,不取指执行用户程序,且PC值跨越进入Code区保留区域地址范围时不产生不可屏蔽越界中断。
2.如权利要求1所述的仿真器,其特征在于:所述监控模块通过模式控制信号控制仿真芯片处于用户模式或监控模式。
3.如权利要求1所述的仿真器,其特征在于:所述集成开发环境软件通过调试接口向监控模块下发各种调试指令接收响应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610929731.3A CN106484584A (zh) | 2016-10-31 | 2016-10-31 | 处理器芯片仿真器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610929731.3A CN106484584A (zh) | 2016-10-31 | 2016-10-31 | 处理器芯片仿真器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106484584A true CN106484584A (zh) | 2017-03-08 |
Family
ID=58271365
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610929731.3A Pending CN106484584A (zh) | 2016-10-31 | 2016-10-31 | 处理器芯片仿真器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106484584A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107577520A (zh) * | 2017-09-26 | 2018-01-12 | 上海市信息网络有限公司 | 带有非易失性存储器的处理器芯片仿真器 |
CN107807879A (zh) * | 2017-09-26 | 2018-03-16 | 上海市信息网络有限公司 | 显示代码执行覆盖率的处理器芯片仿真器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101105761A (zh) * | 2006-07-12 | 2008-01-16 | 上海华虹集成电路有限责任公司 | 具有usb接口的接触式智能卡的仿真器 |
CN101968761A (zh) * | 2009-07-27 | 2011-02-09 | 上海华虹集成电路有限责任公司 | 非接触式智能卡仿真器 |
CN103207824A (zh) * | 2012-01-13 | 2013-07-17 | 上海华虹集成电路有限责任公司 | 监控模式下不受复位干扰的仿真器 |
-
2016
- 2016-10-31 CN CN201610929731.3A patent/CN106484584A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101105761A (zh) * | 2006-07-12 | 2008-01-16 | 上海华虹集成电路有限责任公司 | 具有usb接口的接触式智能卡的仿真器 |
CN101968761A (zh) * | 2009-07-27 | 2011-02-09 | 上海华虹集成电路有限责任公司 | 非接触式智能卡仿真器 |
CN103207824A (zh) * | 2012-01-13 | 2013-07-17 | 上海华虹集成电路有限责任公司 | 监控模式下不受复位干扰的仿真器 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107577520A (zh) * | 2017-09-26 | 2018-01-12 | 上海市信息网络有限公司 | 带有非易失性存储器的处理器芯片仿真器 |
CN107807879A (zh) * | 2017-09-26 | 2018-03-16 | 上海市信息网络有限公司 | 显示代码执行覆盖率的处理器芯片仿真器 |
CN107577520B (zh) * | 2017-09-26 | 2024-05-17 | 上海市信息网络有限公司 | 带有非易失性存储器的处理器芯片仿真器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109858195B (zh) | 一种sram型fpga上必要位单粒子翻转故障的在线仿真*** | |
CN105302950B (zh) | 一种软、硬件协同的可编程逻辑器件交联仿真测试方法 | |
CN108664380A (zh) | 一种带性能显示的执行后软件调试***及调试方法 | |
CN103838899B (zh) | 针对硬核mcu的中断控制器的仿真验证***及方法 | |
US6175913B1 (en) | Data processing unit with debug capabilities using a memory protection unit | |
EP2631803A1 (en) | Methods and apparatus for automatic fault detection | |
CN110489206A (zh) | 一种具有禁止程序调试功能的仿真器 | |
US9176821B2 (en) | Watchpoint support system for functional simulator | |
CN100511179C (zh) | 带特殊功能寄存器断点的增强型微处理器片上动态跟踪方法 | |
US20130024178A1 (en) | Playback methodology for verification components | |
CN109885466B (zh) | 处理器c8000的仿真方法、***及介质 | |
CN106484584A (zh) | 处理器芯片仿真器 | |
CN103207824B (zh) | 监控模式下不受复位干扰的仿真器 | |
CN103793263B (zh) | 一种基于PowerPC处理器的DMA事务级建模方法 | |
Xu et al. | Persistent fault analysis of neural networks on FPGA-based acceleration system | |
US20110106522A1 (en) | virtual platform for prototyping system-on-chip designs | |
US20060224372A1 (en) | Systems, methods, and media for simulation of integrated hardware and software designs | |
CN101329650B (zh) | 智能卡仿真器 | |
CN109243650B (zh) | 基于fpga的具有组态功能的核电站安全级仪控***及方法 | |
CN207302034U (zh) | 处理器芯片仿真器 | |
CN106485020A (zh) | 带有非易失性存储器的处理器芯片仿真器 | |
CN208384556U (zh) | 仿真器 | |
CN109656758A (zh) | 用于异构双处理器***芯片的调试方法及*** | |
WO2010104774A2 (en) | Execution monitor for electronic design automation | |
US20060259751A1 (en) | Monitoring of memory and external events |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20190611 |