CN107632950B - 处理器芯片仿真器 - Google Patents

处理器芯片仿真器 Download PDF

Info

Publication number
CN107632950B
CN107632950B CN201710878324.9A CN201710878324A CN107632950B CN 107632950 B CN107632950 B CN 107632950B CN 201710878324 A CN201710878324 A CN 201710878324A CN 107632950 B CN107632950 B CN 107632950B
Authority
CN
China
Prior art keywords
xram
management module
mark
memory
processor core
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
Application number
CN201710878324.9A
Other languages
English (en)
Other versions
CN107632950A (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 Information Network Co Ltd
Original Assignee
Shanghai Information Network 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 Information Network Co Ltd filed Critical Shanghai Information Network Co Ltd
Priority to CN201710878324.9A priority Critical patent/CN107632950B/zh
Publication of CN107632950A publication Critical patent/CN107632950A/zh
Application granted granted Critical
Publication of CN107632950B publication Critical patent/CN107632950B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • 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纳秒写入延时,XRAM10-100K字节大小,仿真器以60-100M速度写入)。如果处理器芯片配置中XRAM的存储容量较大、XRAM的写入时延较大、仿真器写入XRAM的操作速度较低,这个耗时也会随之增加,造成仿真器与实际产品芯片在上电性能上的明显差异,不利于用户代码的调试和测试。同时,双口RAM结构较为复杂,有两组通道可以对XRAM进行读写操作,也降低了系统的可靠性。
针对上述问题,有一些现有处理器芯片仿真器做成了利用上电复位前的这段时间来把XRAM全部刷成随机值,也就是在发生下电、仿真芯片进入复位后就开始把全XRAM区域刷成随机值,如果在重新上电、仿真芯片退出复位时已经刷完,则仿真芯片开始工作后对用户程序而言,全XRAM区域已经是随机值了,与产品芯片功能、性能完全一致。但是,这里也有一个明显的问题,采用这种方法必须保证刷全XRAM的过程必须在下电到上电这个时间区间内完成,否则就会造成上电后部分XRAM没有变成随机值的情况。随着处理器速度、系统性能的不断提升,设计和工艺的不断改进,实际产品处理器芯片所需要的放电时间(芯片完全下电)越来越短,对应的为了提供系统整体工作性能,很多实际系统中给予处理器芯片下电到上电这个时间区间也越来越小,同时随着应用复杂度的增加、工艺的改进、存储器成本的下降等影响,处理器芯片内的XRAM资源也越来越大,这样对应到相应的处理器芯片仿真器中,刷一遍全XRAM空间的耗时也在对应增加,投入到系统中调试和测试时,更由于系统留给仿真器刷XRAM的下电到上电时间区间也在减小,上述的现有仿真器设计中,来不及在所述下电到上电时间区间内刷完整个XRAM,导致上电后仍有部分XRAM没有刷完的情况越来越多地出现,造成了仿真器与产品芯片在功能上的差异,这对用户程序的开发和调试有着巨大的影响。如果为了保证功能上的一致性,等刷完全XRAM后仿真芯片才退出复位,又会造成仿真器上的下电到上电时间区间被人为拉大,超出了系统实际给出的这个区间大小,造成仿真器在系统中性能上与产品芯片的差异,同样不利于调试和测试。如果提高仿真器其他部件工作性能,提升产生随机数和写入全XRAM空间的速度,虽然可以改善上述问题,但是XRAM是有操作时序、通道和写入时延的,也就是说写全XRAM区域的耗时是有一个极限值的,故此,即使由于仿真器其他部件性能提升,产生随机数的耗时极短,在上述设计中,写全XRAM的耗时仍然会成为问题的瓶颈。
发明内容
本发明要解决的技术问题是提供一种处理器芯片仿真器,能真实模拟重新上电后产品芯片XRAM模块变为随机数的功能,从用户代码调试和测试角度看,复位到XRAM数据变为随机数的耗时不可见。
为解决上述技术问题,本发明的处理器芯片仿真器,包括:处理器核、管理模块、XRAM存储器和复位检测模块;所述管理模块内具有一随机数发生器,以及一个XRAM单元首次读标志表;
所述管理模块通过第一标准数据/地址总线与XRAM存储器相连接,所述管理模块通过第二标准数据/地址总线与处理器核相连接;所述复位检测模块通过复位信号线与管理模块相连接;
所述处理器核通过管理模块对XRAM存储器内的数据单元进行读取或写入操作;
所述管理模块从处理器核得到的是写入某地址的XRAM存储器内的数据单元操作时,首先检查XRAM单元首次读标志表中对应地址上的标志值,如果是首次读取标志,则改为非首次读取标志;如果是非首次读取标志,则不需要修改;然后管理模块把和处理器核连接的第二标准数据/地址总线与和XRAM存储器连接的第一标准数据/地址总线对接,即处理器核可以写入XRAM存储器;
所述管理模块从处理器核得到的是读取某地址的XRAM存储器内的数据单元操作时,首先检查XRAM单元首次读标志表中对应地址上的标志值,如果是首次读取标志,则改为非首次读取标志,并控制随机数发生器产生一个数据单元的随机数,并通过与处理器核连接的第二标准数据/地址总线返回给处理器核,同时,通过与XRAM存储器连接的第一标准数据/地址总线将所述随机数写入到XRAM存储器的对应地址上;如果是非首次读取标志,则不需要修改,然后管理模块把和处理器核连接的第二标准数据/地址总线与和XRAM存储器连接的第一标准数据/地址总线对接,即处理器核可以读取XRAM存储器。
所述XRAM单元首次读标志表地址范围和大小与XRAM存储器地址范围和大小对应,每一个XRAM存储器内的数据单元(常见的8位、16位、32位或带校验的9位、17位、33位或自定义的18位或24位等)在XRAM单元首次读标志表内对应一个比特的首次读标志位,且地址匹配。
所述复位检测模块实时监测外部激励环境,判断是否处于下电状态,如果处于下电状态,则通过所述复位信号线向管理模块输出有效复位信号;如果不处于下电状态,则通过所述复位信号线向管理模块输出无效复位信号。
所述管理模块控制随机数发生器每次产生一个随机数,其位宽与XRAM存储器内的数据单元的位宽一致;所述管理模块检测到复位信号从无效变为有效时,即系统下电动作时,刷新XRAM单元首次读标志表,使其全部变为首次读取标志。
一种处理器芯片仿真器,包括:处理器核、管理模块、XRAM存储器和复位检测模块;
所述管理模块通过第一标准数据/地址总线与XRAM存储器相连接,所述管理模块通过第二标准数据/地址总线与处理器核相连接;所述复位检测模块通过复位信号线与管理模块相连接。
所述管理模块内具有随机数发生器,以及一个XRAM单元首次读标志表模块。
采用本发明的处理器芯片仿真器能够真实模拟重新上电后产品芯片XRAM模块变为随机数的功能,同时,也能针对用户代码调试和测试,等效模拟出复位到XRAM数据变为随机数耗时为零的性能;即从用户代码调试和测试角度看,复位到XRAM数据变为随机数的耗时不可见,性能也与产品芯片一致;真实模拟了产品芯片的功能和性能,保证用户在仿真器上调试、测试代码的真实性和可靠性,同时,不受XRAM容量大小、系统给予仿真器的下电到上电时间区间大小的影响,有助于提高代码开发效率,发现所有潜藏与性能相关的问题。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明:
图1是所述处理器芯片仿真器的结构示意图。
具体实施方式
如图1所示,所述处理器芯片仿真器1(即图1中的仿真器),包括:处理器核2、管理模块3、XRAM存储器4和复位检测模块5。所述管理模块3内具有一随机数发生器7,以及一个XRAM单元首次读标志表6。所述XRAM单元首次读标志表6地址范围和大小与XRAM存储器4地址范围和大小对应,每一个XRAM数据单元在XRAM单元首次读标志表6内对应一个比特的首次读标志位,且地址匹配,例如某款处理器芯片XRAM存储器容量为320K字节,位宽32比特,即有80K个数据单元,每个单元32位;对应的XRAM单元首次读标志表6地址范围与XRAM存储器对应,有80K个首次读标志位,每个位宽1比特。
所述管理模块3通过第一标准数据/地址总线9与XRAM存储器4相连接,所述管理模块同时通过第二标准数据/地址总线8与处理器核2相连接。所述复位检测模块5通过复位信号线10与管理模块3相连接。
这样,当系统向仿真器1发出下电时,所述复位检测模块5能检测出进入下电状态,则通过所述复位信号线10向管理模块3输出有效复位信号。所述管理模块3在通过复位信号线10检测到复位信号从无效变为有效时,即系统下电动作时,刷新其中的XRAM单元首次读标志表6,全部变为首次读取标志。当系统向仿真器1发出重新上电时,所述复位检测模块5能检测出退出下电状态,重新上电了,则通过所述复位信号线10向管理模块3输出无效复位信号。
重新上电后,通过执行用户程序指令,所述处理器核2会通过与管理模块3连接的第二标准数据/地址总线8发出读取或写入XRAM存储器内的数据单元操作指令。如果执行到用户程序中的写XRAM操作指令,则所述管理模块3从处理器核2得到的是写入某地址的XRAM存储器内的数据单元操作,首先管理模块3检查XRAM单元首次读标志表6中对应地址上的标志值,如果是首次读取标志,则改为非首次读取标志;因为这个地址的XRAM存储器内的数据单元已经发生写入操作,写入了一个确定值,重新上电后这个地址上的数据单元的随机数特性不需要再保留了;如果是非首次读取标志,则不需要修改,因为之前该地址的XRAM存储器内的数据单元一定已经被读取或写入过了。然后管理模块3把和处理器核2连接的第二标准数据/地址总线8与和XRAM存储器4连接的第一标准数据/地址总线9对接,即管理模块3相当于一个透传通道,处理器核2可以对XRAM存储器4进行写入操作。
如果执行到用户程序中的读取XRAM操作指令,则所述管理模块3从处理器核2得到的是读取某地址的XRAM存储器内的数据单元操作,首先管理模块3检查XRAM单元首次读标志表6中对应地址上的标志值,如果是首次读取标志,则改为非首次读取标志,并控制随机数发生器7产生一个数据单元的随机数,并将其通过与处理器核2连接的第二标准数据/地址总线8返回给处理器核2,同时,通过与XRAM存储器4连接的第一标准数据/地址总线9把这个随机数写入到XRAM存储器4的对应地址上。如此,对用户程序而言,重新上电后如果没有发生过写入操作,第一次从XRAM这个地址上读取到的数据单元内的数据就是一个随机数,且由于XRAM存储器4内这个地址上此时也已被填充了同一个随机数,如果过程中没有发生过写入操作,下一次用户程序通过处理器核2读取XRAM这个地址还是会读取到同一个随机数值。实现了重新上电后,对用户程序而言,XRAM存储器4内数据单元都变为随机数的功能。同时,过程中管理模块3仅仅只产生一个单元的随机数数据,且产生过程与XRAM存储器4无关,可以通过提升管理模块3和随机数发生器7性能把产生耗时控制的非常非常小,且管理模块3是直接通过第二标准数据/地址总线8向处理器核2返回数据的,此过程在性能上也可以做到与产品芯片中直接读取XRAM存储器的性能一致,保证了仿真器1与产品芯片性能上的一致性。如果管理模块3检查XRAM单元首次读标志表6中对应地址上的标志值发现是非首次读取标志(说明XRAM对应地址上的数据单元此前已经被读取或写入过,此时可以直接读取了),则不需要修改,然后管理模块3把和处理器核2连接的第二标准数据/地址总线8与和XRAM存储器4连接的第一标准数据/地址总线9对接,即在逻辑上看,管理模块3相当于一个透传通道,处理器核2可以直接读取XRAM存储器4,功能和性能上都与产品芯片一致。
这样,本发明所实现的仿真器1就能够真实模拟重新上电后产品芯片XRAM变为随机数的功能,功能和性能与产品芯片一致,同时,不受XRAM容量大小、系统给予仿真器1的下电到上电时间区间大小的影响。
所述处理器核2可以采用FPGA(Field Programmable Gate Array即现场可编程门阵列)芯片实现;所述复位检测模块5可以采用通用处理器芯片加供电检测传感器实现;所述管理模块3可以采用通用处理器芯片实现,其中的随机数发生器7可以采用单片机软件方式或硬件协处理器实现,XRAM单元首次读标志表6可以使用通用处理器芯片的存储器资源实现;XRAM存储器4可以采用单独的XRAM芯片或者FPGA芯片内的片内RAM存储器资源实现。
以上通过具体实施方式对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。

Claims (4)

1.一种处理器芯片仿真器,其特征在于:包括处理器核、管理模块、XRAM存储器和复位检测模块;所述管理模块内有随机数发生器,以及一个XRAM单元首次读标志表;
所述管理模块通过第一标准数据/地址总线与XRAM存储器相连接,所述管理模块通过第二标准数据/地址总线与处理器核相连接;所述复位检测模块通过复位信号线与管理模块相连接;
所述处理器核通过管理模块对XRAM存储器内的数据单元进行读取或写入操作;
所述管理模块从处理器核得到的是写入某地址的XRAM存储器内的数据单元操作时,首先检查XRAM单元首次读标志表中对应地址上的标志值,如果是首次读取标志,则改为非首次读取标志;如果是非首次读取标志,则不需要修改;然后管理模块把和处理器核连接的第二标准数据/地址总线与和XRAM存储器连接的第一标准数据/地址总线对接,即处理器核能对XRAM存储器进行写入操作;
所述管理模块从处理器核得到的是读取某地址的XRAM存储器内的数据单元操作时,首先检查XRAM单元首次读标志表中对应地址上的标志值,如果是首次读取标志,则改为非首次读取标志,并控制随机数发生器产生一个数据单元的随机数,并通过与处理器核连接的第二标准数据/地址总线返回给处理器核,同时,通过与XRAM存储器连接的第一标准数据/地址总线将所述随机数写入到XRAM存储器的对应地址上;如果是非首次读取标志,则不需要修改,然后管理模块把和处理器核连接的第二标准数据/地址总线与和XRAM存储器连接的第一标准数据/地址总线对接,即处理器核能对XRAM存储器进行读取操作。
2.如权利要求1所述的仿真器,其特征在于:所述XRAM单元首次读标志表地址范围和大小与XRAM存储器地址范围和大小对应,每一个XRAM存储器内的数据单元在XRAM单元首次读标志表内对应一个比特的首次读标志位,且地址匹配。
3.如权利要求1所述的仿真器,其特征在于:所述复位检测模块实时监测外部激励环境,判断是否处于下电状态,如果处于下电状态,则通过所述复位信号线向管理模块输出有效复位信号;如果不处于下电状态,则通过所述复位信号线向管理模块输出无效复位信号。
4.如权利要求1至3任一所述的仿真器,其特征在于:所述管理模块控制随机数发生器每次产生一个随机数,其位宽与XRAM存储器内的数据单元的位宽一致;所述管理模块检测到复位信号从无效变为有效时,即系统下电动作时,刷新XRAM单元首次读标志表,使其全部变为首次读取标志。
CN201710878324.9A 2017-09-26 2017-09-26 处理器芯片仿真器 Active CN107632950B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710878324.9A CN107632950B (zh) 2017-09-26 2017-09-26 处理器芯片仿真器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710878324.9A CN107632950B (zh) 2017-09-26 2017-09-26 处理器芯片仿真器

Publications (2)

Publication Number Publication Date
CN107632950A CN107632950A (zh) 2018-01-26
CN107632950B true CN107632950B (zh) 2024-04-19

Family

ID=61103813

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710878324.9A Active CN107632950B (zh) 2017-09-26 2017-09-26 处理器芯片仿真器

Country Status (1)

Country Link
CN (1) CN107632950B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109545268A (zh) * 2018-11-05 2019-03-29 西安智多晶微电子有限公司 一种测试ram的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101206615A (zh) * 2006-12-20 2008-06-25 上海华虹集成电路有限责任公司 微处理器仿真器
CN105573812A (zh) * 2014-10-09 2016-05-11 上海华虹集成电路有限责任公司 一种仿真系统
CN207281749U (zh) * 2017-09-26 2018-04-27 上海市信息网络有限公司 处理器芯片仿真器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101206615A (zh) * 2006-12-20 2008-06-25 上海华虹集成电路有限责任公司 微处理器仿真器
CN105573812A (zh) * 2014-10-09 2016-05-11 上海华虹集成电路有限责任公司 一种仿真系统
CN207281749U (zh) * 2017-09-26 2018-04-27 上海市信息网络有限公司 处理器芯片仿真器

Also Published As

Publication number Publication date
CN107632950A (zh) 2018-01-26

Similar Documents

Publication Publication Date Title
US8947954B2 (en) Random access memory for use in an emulation environment
CN103116551B (zh) 应用于CLB总线的NorFLASH存储接口模块
JPH06290106A (ja) 作動可能/使用中マスク・レジスタと作動可能/使用中モード・レジスタを有するフラッシュ・メモリカード
US9558086B2 (en) System on chip with debug controller and operating method thereof
CN103235760B (zh) 基于CLB总线的高利用率NorFLASH存储接口芯片
CN101251819A (zh) 一种适用于多处理器核系统芯片的调试方法
US10496422B2 (en) Serial device emulator using two memory levels with dynamic and configurable response
CN107632950B (zh) 处理器芯片仿真器
Mosanu et al. PiMulator: A fast and flexible processing-in-memory emulation platform
Rawson et al. Mempower: A simple memory power analysis tool set
CN107544909B (zh) 一种处理器芯片仿真器
CN112466379A (zh) 存储器位映射关系确定方法、装置、处理器芯片及服务器
CN109101386B (zh) 一种支持ram测试的仿真器
CN112885403B (zh) 一种Flash控制器的功能测试方法、装置及设备
CN207281749U (zh) 处理器芯片仿真器
CN106610862B (zh) 支持eeprom掉电测试的仿真器
CN211878599U (zh) 应用于现场可编辑门阵列fpga的仿真验证系统
Hsu et al. Speeding up power verification by merging equivalent power domains in RTL design with UPF
CN111597699A (zh) 一种支持掉电数据随机化的flash仿真器
US10585615B1 (en) Virtual flash system
Li Computer embedded automatic test system based on VxWorks
CN105573812A (zh) 一种仿真系统
Soriano et al. MemCork: Exploration of Hybrid Memory Architectures for Intermittent Computing at the Edge
CN212782027U (zh) 一种支持掉电数据随机化的flash仿真器
US11971818B1 (en) Memory view for non-volatile memory module

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