CN107544909A - 一种处理器芯片仿真器 - Google Patents
一种处理器芯片仿真器 Download PDFInfo
- Publication number
- CN107544909A CN107544909A CN201710878328.7A CN201710878328A CN107544909A CN 107544909 A CN107544909 A CN 107544909A CN 201710878328 A CN201710878328 A CN 201710878328A CN 107544909 A CN107544909 A CN 107544909A
- Authority
- CN
- China
- Prior art keywords
- management module
- xram
- reset
- emulator
- emulation chip
- 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.)
- Granted
Links
- 230000015654 memory Effects 0.000 claims abstract description 51
- 238000001514 detection method Methods 0.000 claims abstract description 22
- 230000008859 change Effects 0.000 claims abstract description 9
- 230000006870 function Effects 0.000 abstract description 12
- 238000004088 simulation Methods 0.000 abstract description 7
- 238000012360 testing method Methods 0.000 abstract description 5
- 238000007726 management method Methods 0.000 description 29
- 230000005611 electricity Effects 0.000 description 10
- 238000000034 method Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 230000009977 dual effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005684 electric field Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明公开了一种处理器芯片仿真器,包括:复位检测模块、管理模块、仿真芯片和XRAM存储器;管理模块内具有随机数发生器;仿真芯片通过标准数据/地址总线与XRAM存储器和管理模块连接;复位检测模块通过复位信号线与管理模块和仿真芯片连接;管理模块能检测出输入的复位信号从有效到无效的变化和从无效到有效的变化;在检测到复位信号从无效变成有效时,控制随机数发生器产生随机数,并向全XRAM存储器区域写入随机数。本发明能真实模拟重新上电后产品芯片XRAM模块变为随机数的功能,从用户代码调试和测试角度看,复位到XRAM数据变为随机数的耗时为零,性能也与产品芯片一致。
Description
技术领域
本发明涉及一种处理器芯片仿真器。
背景技术
处理器芯片内有用户开发的用户程序,在用户程序的编写和调试中,所使用的工具一般是仿真器。仿真器内使用包含产品处理器芯片各项功能的仿真芯片,用于模拟产品处理器芯片的工作行为,仿真芯片与仿真器其它部件(存放用户程序的程序存储器、存放数据的数据存储器,以及用户电脑上的集成开发环境等)配合实现用户程序的仿真运行和各项调试功能。
处理器芯片一般都含有片内XRAM(on-chip expanded RAM,外部随机存储器),作为存放数据的数据存储器,可用于数据存放、缓存,以及参数传递等等。XRAM在物理特性上具有上电值随机的特性,也就是说,芯片每次重新上电后,XRAM内数据都是随机值。这一特性是处理器芯片代码设计时需要关注和考虑的,例如,代码中需要设计初始化XRAM数据缓存区、防止数据缓冲区未初始化就读取内容的代码段等,所以也需要在仿真器设计中等效实现这一功能,供用户在开发代码时对这样的代码段进行调试和测试。
现有的仿真器设计中,以仿真芯片替代产品芯片,仿真芯片内包含了与产品芯片功能、性能基本一致的XRAM模块,仿真器上电时仿真芯片内的XRAM数据是随机值,与产品芯片一致。但是,仿真器还需要模拟产品芯片反复上下电的过程,而一般考虑系统初始化时间、稳定性和使用寿命等因素,仿真器整机不会做成反复重新上下电,而是把来自外围的上下电等效为一个复位信号,具体来说,就是在发生下电/重新上电时,仿真器整体不下电/重新上电,而是检测出下电/重新上电的行为,产生一个进入/退出复位的信号给仿真芯片,控制仿真芯片进入/退出复位状态。退出复位后,仿真芯片内的程序指针、寄存器值、存储器值等需要都回到上电后的初始状态,从功能上等效实际产品芯片的上电后状态。这其中也包括仿真芯片内的XRAM区域,在重上电发生后XRAM区域内的数据需要全部变成随机值。现有仿真器的做法是,仿真芯片内的XRAM等效为双口RAM,在检测到退出复位、重新上电的信号后,仿真器产生一组随机数,并绕开芯片处理器从后台通道对仿真芯片的XRAM区域执行一遍全片写入随机数操作,从功能上等效了产品芯片重新上电后,XRAM内全部变成随机值的特性。
但是,实际产品芯片中重新上电后XRAM内数据变成随机数是XRAM的物理特性决定的,从重新上电到XRAM数据都为随机数,中间是没有额外耗时的。现有仿真器中这样的做法,虽然从功能上等效出了XRAM重新上电后数据变为随机值的功能,但是因为存在一个产生一组随机数,并通过后台通道对全XRAM重新写入随机数的过程,这一过程有一定的耗时,一般会有几十到几百微秒级(基于常规XRAM 5-20纳秒写入延时,XRAM 10-100K字节大小,仿真器以60-100M速度写入),如果处理器芯片配置中XRAM的容量大小较大、XRAM的写入时延较大、仿真器写入XRAM的操作速度较低,这个耗时也会随之增加,造成仿真器与实际产品芯片在上电性能上的明显差异,不利于用户代码的调试和测试。同时,双口RAM结构较为复杂,有两组通道可以对XRAM进行读写操作,也降低了系统的可靠性。
发明内容
本发明要解决的技术问题是提供一种处理器芯片仿真器,能真实模拟重新上电后产品芯片XRAM模块变为随机数的功能,从用户代码调试和测试角度看,复位到XRAM数据变为随机数的耗时为零,性能也与产品芯片一致。
为解决上述技术问题,本发明的处理器芯片仿真器,包括:复位检测模块、管理模块、仿真芯片和XRAM存储器;所述管理模块内具有随机数发生器;所述仿真芯片通过标准数据/地址总线与XRAM存储器和管理模块相连接;所述复位检测模块通过复位信号线与管理模块和仿真芯片相连接;
所述管理模块能检测出通过复位信号线输入的复位信号从有效到无效的变化和从无效到有效的变化;所述管理模块在检测到复位信号从无效变成有效时,控制随机数发生器产生随机数,并通过与XRAM存储器连接的标准数据/地址总线向全XRAM存储器区域写入随机数。
所述复位检测模块能实时监测外部激励环境,判断是否处于下电状态,如果处于下电状态,则通过所述复位信号线向管理模块和仿真芯片输出有效复位信号;如果不处于下电状态,则通过所述复位信号线向管理模块和仿真芯片输出无效复位信号。
所述仿真芯片在通过复位信号线得到有效复位信号时,处于复位状态,不能通过所述标准数据/地址总线从XRAM存储器读写数据;所述仿真芯片在通过复位信号线得到无效复位信号时,不处于复位状态,处于正常工作状态,能通过所述标准数据/地址总线从XRAM存储器读写数据。
所述管理模块能控制其中的随机数发生器产生随机数,供管理模块使用。所述管理模块在通过复位信号线得到有效复位信号时,能通过所述标准数据/地址总线向XRAM存储器写入数据;所述管理模块在通过复位信号线得到无效复位信号时,不能通过所述标准数据/地址总线向XRAM存储器读写数据。
XRAM存储器使用单口RAM结构实现即可,不需要使用双口RAM实现。
一种处理器芯片仿真器,包括:复位检测模块、管理模块、仿真芯片和XRAM存储器;所述管理模块内具有随机数发生器;所述仿真芯片通过标准数据/地址总线与XRAM存储器和管理模块相连接;所述复位检测模块通过复位信号线与管理模块和仿真芯片相连接。
采用本发明的仿真器能够真实模拟重新上电后产品芯片XRAM模块变为随机数的功能,同时,也能针对用户代码调试和测试,等效模拟出复位到XRAM数据变为随机数耗时为零的性能,真实模拟了产品芯片的功能和性能,保证用户在仿真器上调试、测试代码的真实性和可靠性,同时,简化了系统(即XRAM存储器)实现结构,提高了系统可靠性,有助于提高代码开发效率,发现所有潜藏与性能相关的问题。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明:
图1是所述处理器芯片仿真器的结构示意图。
具体实施方式
如图1所示,所述处理器芯片仿真器1(即图1中的仿真器),包括:复位检测模块2、管理模块3、仿真芯片4和XRAM存储器5。所述管理模块3内具有随机数发生器6。所述仿真芯片4通过标准数据/地址总线8与XRAM存储器5连接,所述标准数据/地址总线8同时引出XRAM存储器5,并与管理模块3连接。所述复位检测模块2通过复位信号线7与管理模块3连接,所述复位信号线7同时引出复位检测模块2,并与仿真芯片4连接。
所述复位检测模块2能实时监测外部激励环境,判断是否处于下电状态。如果处于下电状态,则通过所述复位信号线7向管理模块3和仿真芯片4输出有效复位信号,例如“0”电平信号;如果不处于下电状态,则通过所述复位信号线7向管理模块3和仿真芯片4输出无效复位信号,例如“1”电平信号。例如,采用无线载波供电的处理器芯片,所述复位检测模块2检测外部供电情况,载波场强大于供电场强要求则判断不处于下电状态;载波场强小于供电场强要求,则判断进入下电状态。
所述仿真芯片4在通过复位信号线7得到有效复位信号时,处于复位状态,不能通过所述标准数据/地址总线8从XRAM存储器5读写数据;所述仿真芯片4在通过复位信号线7得到无效复位信号时,不处于复位状态,处于正常工作状态,能通过所述标准数据/地址总线8从XRAM存储器5读写数据。这样,就真实模拟了产品处理器芯片在处于下电状态时不工作,不能读写XRAM;处于正常工作状态时,能够读写XRAM的功能。
所述管理模块3能控制其中的随机数发生器6产生随机数,供管理模块3使用。所述管理模块3在通过复位信号线7得到有效复位信号时,能通过所述标准数据/地址总线8向XRAM存储器5写入数据;所述管理模块3在通过复位信号线7得到无效复位信号时,不能通过所述标准数据/地址总线8向XRAM存储器5读写数据。这样,当复位信号无效,需要仿真芯片4处于正常工作状态时,只有仿真芯片4可以通过标准数据/地址总线8操作XRAM存储器5,管理模块3不能操作XRAM存储器5;当复位信号有效,仿真芯片4处于复位状态时,只有管理模块3可以通过标准数据/地址总线8操作XRAM存储器5,仿真芯片4不能操作XRAM存储器5。真实模拟了产品芯片在复位时不能操作XRAM,在正常工作时可以操作XRAM的功能的同时,也保证了不会出现管理模块3和仿真芯片4同时操作XRAM存储器5的情况,不需要使用双口RAM结构来等效XRAM存储器5,仍可以使用单口RAM做XRAM存储器,少一组操作接口提高和保证了系统的稳定性。
所述管理模块3能检测出通过复位信号线7输入的复位信号从有效到无效的变化和从无效到有效的变化。所述管理模块3在检测到复位信号从无效变成有效时,控制随机数发生器6产生一组随机数,并通过与XRAM存储器5连接的标准数据/地址总线8向XRAM存储器5的全区域写入随机数。这样,仿真器1在进入复位状态后,就开始产生一组随机数,并写入到了XRAM存储器5的全区域。这个产生随机数和写入的过程耗时是几十到几百微秒级的,并利用了仿真芯片4处于复位状态的时间,而不是在仿真芯片4退出复位状态进入工作状态后才开始产生随机数和写入。对于人为控制下电一段时间再重新上电的情况,仿真芯片4处于复位状态的时间至少是秒级的,足够完成对XRAM存储器5全区域填充随机数;即使对于软件或系统控制的上下电情况,也由于处理器芯片内的电容特性存在,需要电容充分放电,保证芯片真实掉电和复位,对外部环境给出的有效下电的时间要求也是毫秒级别的(允许外部环境给出的最小有效下电时间),一般至少都要求为几十毫秒,远大于仿真器1内产生随机数和写入全XRAM存储器区域所需的几十到几百微秒。这样,在实际应用情况中,本发明所实现的仿真器1的仿真芯片4重新上电进入正常工作状态后,从用户代码角度看XRAM存储器已经全部变成了随机数,耗时为0,与真实产品芯片的功能和性能完全一致。
所述仿真芯片4可以采用FPGA(Field Programmable Gate Array即现场可编程门阵列)芯片实现;所述复位检测模块2可以采用通用处理器芯片加供电检测传感器实现;所述管理模块3可以采用通用处理器芯片实现,其中的随机数发生器6可以采用单片机软件方式实现;XRAM存储器5可以采用单独的单口XRAM芯片或者FPGA芯片内的片内RAM存储器资源等效为单口XRAM实现。
以上通过具体实施方式对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。
Claims (10)
1.一种处理器芯片仿真器,其特征在于,包括:复位检测模块、管理模块、仿真芯片和XRAM存储器;所述管理模块内具有随机数发生器;所述仿真芯片通过标准数据/地址总线与XRAM存储器和管理模块相连接;所述复位检测模块通过复位信号线与管理模块和仿真芯片相连接;
所述管理模块能检测出通过复位信号线输入的复位信号从有效到无效的变化和从无效到有效的变化;所述管理模块在检测到复位信号从无效变成有效时,控制随机数发生器产生随机数,并通过与XRAM存储器连接的标准数据/地址总线向全XRAM存储器区域写入随机数。
2.如权利要求1所述的仿真器,其特征在于:所述复位检测模块能实时监测外部激励环境,判断是否处于下电状态,如果处于下电状态,则通过所述复位信号线向管理模块和仿真芯片输出有效复位信号;如果不处于下电状态,则通过所述复位信号线向管理模块和仿真芯片输出无效复位信号。
3.如权利要求1或2所述的仿真器,其特征在于:所述仿真芯片在通过复位信号线得到有效复位信号时,处于复位状态,不能通过所述标准数据/地址总线从XRAM存储器读写数据;所述仿真芯片在通过复位信号线得到无效复位信号时,不处于复位状态,处于正常工作状态,能通过所述标准数据/地址总线从XRAM存储器读写数据。
4.如权利要求3所述的仿真器,其特征在于:所述管理模块能控制其中的随机数发生器产生随机数,供管理模块使用。所述管理模块在通过复位信号线得到有效复位信号时,能通过所述标准数据/地址总线向XRAM存储器写入数据;所述管理模块在通过复位信号线得到无效复位信号时,不能通过所述标准数据/地址总线向XRAM存储器读写数据。
5.如权利要求1或2所述的仿真器,其特征在于:所述管理模块能控制其中的随机数发生器产生随机数,供管理模块使用。所述管理模块在通过复位信号线得到有效复位信号时,能通过所述标准数据/地址总线向XRAM存储器写入数据;所述管理模块在通过复位信号线得到无效复位信号时,不能通过所述标准数据/地址总线向XRAM存储器读写数据。
6.如权利要求1或2所述的仿真器,其特征在于:所述XRAM存储器使用单口RAM结构实现。
7.一种处理器芯片仿真器,其特征在于,包括:复位检测模块、管理模块、仿真芯片和XRAM存储器;所述管理模块内具有随机数发生器;所述仿真芯片通过标准数据/地址总线与XRAM存储器和管理模块相连接;所述复位检测模块通过复位信号线与管理模块和仿真芯片相连接。
8.如权利要求7所述的仿真器,其特征在于:所述XRAM存储器由单口RAM构成。
9.如权利要求7所述的仿真器,其特征在于:所述仿真芯片由FPGA芯片构成。
10.如权利要求7所述的仿真器,其特征在于:所述复位检测模块由通用处理器芯片加供电检测传感器构成;所述管理模块由通用处理器芯片构成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710878328.7A CN107544909B (zh) | 2017-09-26 | 2017-09-26 | 一种处理器芯片仿真器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710878328.7A CN107544909B (zh) | 2017-09-26 | 2017-09-26 | 一种处理器芯片仿真器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107544909A true CN107544909A (zh) | 2018-01-05 |
CN107544909B CN107544909B (zh) | 2024-05-17 |
Family
ID=60963640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710878328.7A Active CN107544909B (zh) | 2017-09-26 | 2017-09-26 | 一种处理器芯片仿真器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107544909B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109101386A (zh) * | 2018-06-26 | 2018-12-28 | 北京中电华大电子设计有限责任公司 | 一种支持ram测试的仿真器 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101206615A (zh) * | 2006-12-20 | 2008-06-25 | 上海华虹集成电路有限责任公司 | 微处理器仿真器 |
CN105487969A (zh) * | 2014-10-09 | 2016-04-13 | 上海华虹集成电路有限责任公司 | 智能卡仿真器 |
CN105573812A (zh) * | 2014-10-09 | 2016-05-11 | 上海华虹集成电路有限责任公司 | 一种仿真系统 |
CN106610880A (zh) * | 2015-10-21 | 2017-05-03 | 上海华虹集成电路有限责任公司 | 处理器芯片仿真器 |
CN207281748U (zh) * | 2017-09-26 | 2018-04-27 | 上海市信息网络有限公司 | 一种处理器芯片仿真器 |
-
2017
- 2017-09-26 CN CN201710878328.7A patent/CN107544909B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101206615A (zh) * | 2006-12-20 | 2008-06-25 | 上海华虹集成电路有限责任公司 | 微处理器仿真器 |
CN105487969A (zh) * | 2014-10-09 | 2016-04-13 | 上海华虹集成电路有限责任公司 | 智能卡仿真器 |
CN105573812A (zh) * | 2014-10-09 | 2016-05-11 | 上海华虹集成电路有限责任公司 | 一种仿真系统 |
CN106610880A (zh) * | 2015-10-21 | 2017-05-03 | 上海华虹集成电路有限责任公司 | 处理器芯片仿真器 |
CN207281748U (zh) * | 2017-09-26 | 2018-04-27 | 上海市信息网络有限公司 | 一种处理器芯片仿真器 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109101386A (zh) * | 2018-06-26 | 2018-12-28 | 北京中电华大电子设计有限责任公司 | 一种支持ram测试的仿真器 |
CN109101386B (zh) * | 2018-06-26 | 2021-11-09 | 北京中电华大电子设计有限责任公司 | 一种支持ram测试的仿真器 |
Also Published As
Publication number | Publication date |
---|---|
CN107544909B (zh) | 2024-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105738854B (zh) | 智能电表嵌入式应用的模拟存储器测试板系统及测试方法 | |
CN105930186B (zh) | 多cpu的软件加载方法及基于多cpu的软件加载装置 | |
CN106951587A (zh) | Fpga调试系统及方法 | |
US20090248390A1 (en) | Trace debugging in a hardware emulation environment | |
CN101504692A (zh) | 一种验证和测试片上系统的系统及方法 | |
CN108549591A (zh) | 一种嵌入式系统的黑匣子装置及其实现方法 | |
CN103150228A (zh) | 面向高速缓冲存储器的可综合伪随机验证方法及装置 | |
CN104657244A (zh) | 嵌入式设备cpu总线故障注入测试系统及测试方法 | |
Wei et al. | A hardware-software co-design experiments platform for NAND flash based on Zynq | |
CN102789815A (zh) | 一种用于fpga配置的prom电路架构 | |
CN101419844A (zh) | 一种闪存器件仿真设备以及闪存主控模块评测方法 | |
CN110085278A (zh) | 一种eMMC掉电保护的测试方法及系统 | |
CN202838306U (zh) | 一种基于微处理器的fpga配置系统 | |
CN207281748U (zh) | 一种处理器芯片仿真器 | |
CN107544909A (zh) | 一种处理器芯片仿真器 | |
CN103207824B (zh) | 监控模式下不受复位干扰的仿真器 | |
CN107632950A (zh) | 处理器芯片仿真器 | |
CN207281749U (zh) | 处理器芯片仿真器 | |
CN103246584B (zh) | 片上系统芯片结构及保存调试信息的方法 | |
CN109101386B (zh) | 一种支持ram测试的仿真器 | |
CN106485020A (zh) | 带有非易失性存储器的处理器芯片仿真器 | |
CN106649067A (zh) | 一种性能和能耗预测方法及装置 | |
CN106610862B (zh) | 支持eeprom掉电测试的仿真器 | |
CN101963936B (zh) | Dsp设备通过cf存储卡存储工作参数状态的方法 | |
CN112885403B (zh) | 一种Flash控制器的功能测试方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |