CN101206615A - 微处理器仿真器 - Google Patents
微处理器仿真器 Download PDFInfo
- Publication number
- CN101206615A CN101206615A CNA2006101475179A CN200610147517A CN101206615A CN 101206615 A CN101206615 A CN 101206615A CN A2006101475179 A CNA2006101475179 A CN A2006101475179A CN 200610147517 A CN200610147517 A CN 200610147517A CN 101206615 A CN101206615 A CN 101206615A
- Authority
- CN
- China
- Prior art keywords
- xram
- data
- emulator
- simulator
- random number
- 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
Images
Landscapes
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明公开了一种微处理器仿真器,包括仿真芯片,仿真器处理器,随机数发生器。仿真器处理器可以通过数据/地址总线对仿真芯片片内或外挂的XRAM进行写入数据的操作。仿真器处理器可以向随机数发生器发出命令,要求随机数发生器产生随机数并返还给仿真器处理器。在上电后的仿真器初始化过程中,仿真器处理器从随机数发生器取得随机数,并填入到仿真芯片片内或外挂的XRAM中,对XRAM内数据初始化。本发明可以较为真实地模拟出用户程序在真实产品芯片上配合实际XRAM工作的环境,可以帮助用户发现用户程序中初始化XRAM部分的错误,从而有效地保障用户程序在仿真器上调试结果的可靠性和有效性,降低用户程序应用到产品芯片时的风险。
Description
技术领域
本发明涉及一种微处理器硬件仿真器,特别是涉及一种具有片内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内的这个数据区很小,例如1或2个字节,出现上述情况的概率将会很大。
发明内容
本发明要解决的技术问题是提供一种微处理器仿真器,可以确保同一套仿真器内每次上电后仿真芯片片内或外挂的XRAM内的数据是随机的,较为真实地模拟出用户程序在大量真实产品芯片上配合实际XRAM工作的环境。
为解决上述技术问题,本发明的微处理器仿真器包括仿真芯片、仿真器处理器、与仿真器处理器相连接的随机数发生器;仿真芯片内具有微处理器核,还包括位于仿真芯片片内或者位于仿真芯片外外挂于所述仿真器内的XRAM,
所述微处理器核、仿真器处理器、位于仿真芯片片内或者位于仿真芯片外外挂于所述仿真器内的XRAM三者通过数据/地址总线连接,仿真器处理器通过数据/地址总线对仿真芯片片内或外挂的XRAM进行写入数据的操作;仿真器处理器向随机数发生器发出命令,要求随机数发生器产生随机数并返还给仿真器处理器。
由于采用本发明的微处理器仿真器,可以确保同一套仿真器内每次上电后仿真芯片片内或外挂的XRAM内的数据对用户程序而言都是随机的,较为真实地模拟出了用户程序在大量真实产品芯片上配合实际XRAM工作的环境,同时可以帮助用户发现用户程序中初始化XRAM部分的错误,可以有效地保障用户程序在仿真器上调试结果的可靠性和有效性,降低用户程序应用到产品芯片时的风险。
同时,如果出现用户程序没有成功初始化XRAM内需要使用的区域就直接使用了XRAM上电后数据的错误,可以很容易的在使用本发明的仿真器调试用户程序时被发现。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明:
图1是本发明的微处理器仿真器结构示意图(一),XRAM位于仿真芯片内;
图2是本发明的微处理器仿真器结构示意图(二),XRAM外挂于仿真芯片外。
具体实施方式
如图1所示,XRAM5位于仿真芯片6片内时,本发明的微处理器仿真器1包括仿真芯片6、仿真器处理器2、随机数发生器3。仿真芯片6内具有微处理器核4,微处理器核4、XRAM5、仿真器处理器2三者通过标准的数据/地址总线相连接。仿真器处理器2通过数据/地址总线对XRAM5进行写入数据的操作。仿真器处理器2与随机数发生器3连接,并向随机数发生器3发出命令,要求随机数发生器3产生随机数并返还给仿真器处理器2。随机数发生器3可以使用各种通用的单芯片形式的随机数发生器芯片,仿真处理器2与随机数发生器3间的连接形式根据选择的随机数发生器芯片3的对外接口来确定。
如图2所示,XRAM8外挂在仿真芯片9外,且位于仿真器7内的情况下,本发明的微处理器仿真器7包括仿真芯片9、仿真器处理器2、随机数发生器3。仿真芯片9内具有微处理器核4,微处理器核4、XRAM8、仿真器处理器2三者通过标准的数据/地址总线相连接。仿真器处理器2通过数据/地址总线对外挂的XRAM8进行写入数据的操作。仿真器处理器2与随机数发生器连接3,仿真器处理器2可以向随机数发生器3发出命令,要求随机数发生器3产生随机数并返还给仿真器处理器2。
仿真器的工作原理是,仿真器在上电后首先处于监控状态,仿真芯片不工作,用户程序也不运行,仿真器先要完成自己的初始化之后才会进入运行状态,进入运行状态后,仿真芯片才开始工作,用户程序开始运行。
本发明利用这一特点,如图1所示,当仿真器1上电后处于监控状态,仿真芯片6和用户程序还没有开始工作和运行时,由仿真器处理器2向随机数发生器3发出命令不断取得随机数,并把这些随机数填入到仿真芯片6的片内XRAM5中,进行对整个XRAM5内数据的初始化。当仿真器1退出监控状态进入运行状态时,XRAM5内的全部数据都已经被初始化成随机数了,此时用户程序通过微处理器核4访问到的就不是同一块XRAM5每次上电时都固定的初始数据,而是由仿真器处理器2填入的随机数据了。仿真器1每次上电时,都重复上述过程,仿真器处理器2每次都会从随机数发生器3那里取得随机数并填入XRAM5中,由于随机数发生器3产生的随机数具有很好的随机性,因此对XRAM5中的各个字节存储单元而言,每次上电后被初始化成相同数值的概率非常的小,这样,每次重新上电后当仿真器1进入运行状态,用户程序看到的XRAM5内的数据都是不同的、随机的,这就与用户程序在大量的产品芯片上运行时上电后看到的XRAM情况很接近了。当使用仿真器1调试用户程序时,如果出现用户程序没有成功初始化XRAM5内需要使用的区域就直接使用了XRAM5内该区域内数据的错误时,由于重新上电时该区域内的数据都会被重新初始化、随机化,不可能每次都恰好被初始化成有效、有意义的数据,用户程序的错误就很容易在调试时就被发现出来了。
如图2所示,当外挂XRAM时是这样的,仿真器7上电后处于监控状态,仿真芯片9和用户程序还没有开始工作和运行时,由仿真器处理器2向随机数发生器3发出命令不断取得随机数,并把这些随机数填入到仿真芯片9外挂的XRAM8中,进行对整个XRAM8内数据的初始化。当仿真器7退出监控状态进入运行状态时,XRAM8内的全部数据都已经被初始化成随机数了,此时用户程序通过微处理器核4访问到的就不是同一块XRAM8每次上电时都固定的初始数据,而是由仿真器处理器2填入的随机数据了。仿真器7每次上电时,都重复上述过程,仿真器处理器2每次都会从随机数发生器3那里取得随机数并填入XRAM8中。
Claims (2)
1.一种微处理器仿真器,包括仿真芯片、仿真器处理器、位于仿真芯片片内或者位于仿真芯片外外挂于所述仿真器内的XRAM,仿真芯片内具有微处理器核,其特征在于:还包括与仿真器处理器相连接的随机数发生器;所述微处理器核、仿真器处理器、位于仿真芯片片内或者位于仿真芯片外外挂于所述仿真器内的XRAM三者通过数据/地址总线连接,仿真器处理器通过数据/地址总线对仿真芯片片内或外挂的XRAM进行写入数据的操作;仿真器处理器向随机数发生器发出命令,要求随机数发生器产生随机数并返还给仿真器处理器。
2.如权利要求1所述的微处理器仿真器,其特征在于:在上电后的所述仿真器初始化过程中,所述仿真器处理器从随机数发生器取得随机数,并填入到仿真芯片片内或外挂的XRAM中,对XRAM内数据初始化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006101475179A CN101206615B (zh) | 2006-12-20 | 2006-12-20 | 微处理器仿真器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006101475179A CN101206615B (zh) | 2006-12-20 | 2006-12-20 | 微处理器仿真器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101206615A true CN101206615A (zh) | 2008-06-25 |
CN101206615B CN101206615B (zh) | 2010-10-06 |
Family
ID=39566840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006101475179A Expired - Fee Related CN101206615B (zh) | 2006-12-20 | 2006-12-20 | 微处理器仿真器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101206615B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106610880A (zh) * | 2015-10-21 | 2017-05-03 | 上海华虹集成电路有限责任公司 | 处理器芯片仿真器 |
CN107544909A (zh) * | 2017-09-26 | 2018-01-05 | 上海市信息网络有限公司 | 一种处理器芯片仿真器 |
CN107577608A (zh) * | 2017-09-26 | 2018-01-12 | 上海市信息网络有限公司 | 带有随机uid的处理器芯片仿真器 |
CN107632950A (zh) * | 2017-09-26 | 2018-01-26 | 上海市信息网络有限公司 | 处理器芯片仿真器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100492315C (zh) * | 2004-12-15 | 2009-05-27 | 浙江大学 | 嵌入式信号处理器模拟器 |
CN100476755C (zh) * | 2005-10-20 | 2009-04-08 | 上海祥佑数码科技有限公司 | 一种可扩展嵌入式微处理器仿真器 |
-
2006
- 2006-12-20 CN CN2006101475179A patent/CN101206615B/zh not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106610880A (zh) * | 2015-10-21 | 2017-05-03 | 上海华虹集成电路有限责任公司 | 处理器芯片仿真器 |
CN106610880B (zh) * | 2015-10-21 | 2019-07-19 | 上海华虹集成电路有限责任公司 | 处理器芯片仿真器 |
CN107544909A (zh) * | 2017-09-26 | 2018-01-05 | 上海市信息网络有限公司 | 一种处理器芯片仿真器 |
CN107577608A (zh) * | 2017-09-26 | 2018-01-12 | 上海市信息网络有限公司 | 带有随机uid的处理器芯片仿真器 |
CN107632950A (zh) * | 2017-09-26 | 2018-01-26 | 上海市信息网络有限公司 | 处理器芯片仿真器 |
CN107632950B (zh) * | 2017-09-26 | 2024-04-19 | 上海市信息网络有限公司 | 处理器芯片仿真器 |
CN107544909B (zh) * | 2017-09-26 | 2024-05-17 | 上海市信息网络有限公司 | 一种处理器芯片仿真器 |
Also Published As
Publication number | Publication date |
---|---|
CN101206615B (zh) | 2010-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100565472C (zh) | 一种适用于多处理器核系统芯片的调试方法 | |
JP4472615B2 (ja) | プログラマブルデバイスのモデリング方法および装置 | |
EP0777180A2 (en) | System and method for simulation of computer systems combining hardware and software interaction | |
CN112286746B (zh) | 针对axi从设备接口的通用验证平台及方法 | |
WO1996027162A1 (en) | Method and apparatus to emulate vlsi circuits within a logic simulator | |
CN103473162A (zh) | 一种基于软件故障注入的可靠性评测系统设计方法 | |
CN104750603A (zh) | 一种多核dsp软件仿真器及其物理层软件测试方法 | |
CN101206615B (zh) | 微处理器仿真器 | |
CN114818599A (zh) | 芯片仿真验证系统 | |
CN113486625B (zh) | 芯片的验证方法与验证系统 | |
US20090248390A1 (en) | Trace debugging in a hardware emulation environment | |
CN101446987A (zh) | 一种用于多核处理器Cache一致性实物验证的装置 | |
US20090089758A1 (en) | Testing and debugging of dynamic binary translation | |
CN105095037A (zh) | 线卡、线卡的背板以及线卡测试方法 | |
US6810373B1 (en) | Method and apparatus for modeling using a hardware-software co-verification environment | |
CN114444422A (zh) | 芯片验证系统、方法及存储介质 | |
Lin et al. | Functional verifications for SoC software/hardware co-design: From virtual platform to physical platform | |
CN103793263B (zh) | 一种基于PowerPC处理器的DMA事务级建模方法 | |
CN104679963B (zh) | 一种基于tcl的仿真验证装置和方法 | |
Nangia et al. | Functional verification of I2C core using SystemVerilog | |
CN112329369B (zh) | 一种在芯片仿真模型上进行软件调试的方法 | |
CN100507853C (zh) | 双内核半实物仿真系统 | |
Peng et al. | Function verification of SRAM controller based on UVM | |
CN103294632B (zh) | 一种总线载板、数据交互系统、数据处理方法及装置 | |
CN113204929A (zh) | 基于sv和uvm实现ahb vip的方法、电子装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20101006 Termination date: 20191220 |
|
CF01 | Termination of patent right due to non-payment of annual fee |