CN107577520A - 带有非易失性存储器的处理器芯片仿真器 - Google Patents

带有非易失性存储器的处理器芯片仿真器 Download PDF

Info

Publication number
CN107577520A
CN107577520A CN201710878454.2A CN201710878454A CN107577520A CN 107577520 A CN107577520 A CN 107577520A CN 201710878454 A CN201710878454 A CN 201710878454A CN 107577520 A CN107577520 A CN 107577520A
Authority
CN
China
Prior art keywords
control logic
module
code
logic module
emulator
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
Application number
CN201710878454.2A
Other languages
English (en)
Other versions
CN107577520B (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 CN201710878454.2A priority Critical patent/CN107577520B/zh
Publication of CN107577520A publication Critical patent/CN107577520A/zh
Application granted granted Critical
Publication of CN107577520B publication Critical patent/CN107577520B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种带有非易失性存储器的处理器芯片仿真器,监控模块通过写入通道向控制逻辑模块写入代码范围配置;控制逻辑模块依据其中的代码范围配置,如果接收到的写入操作目标地址在代码范围配置内,则控制逻辑模块是透明通道功能,功能和性能上相当于把与处理器核连接的第一标准数据/地址总线和与SRAM存储器连接的第二标准数据/地址总线直接对接连接;如果接收到的写入操作目标地址不在代码范围配置内,则控制逻辑模块能模拟等效非易失性存储器写入操作时序控制功能和性能,配合SRAM存储器一起等效产品芯片中非易失性存储器的写操作时序、功能和性能。本发明在保证仿真器功能、性能一致性的同时,简化了系统的实现和使用方式。

Description

带有非易失性存储器的处理器芯片仿真器
技术领域
本发明涉及一种处理器芯片仿真器,特别是涉及一种带有非易失性存储器的处理器芯片仿真器。
背景技术
处理器芯片内有用户开发的用户程序,在用户程序的编写和调试中,所使用的工具一般是仿真器。仿真器内使用包含产品处理器芯片各项功能的仿真芯片,用于模拟产品处理器芯片的工作行为,仿真芯片与仿真器其它部件(存放用户程序的程序存储器、存放数据的数据存储器,以及用户电脑上的集成开发环境等)配合电脑上的集成开发环境共同实现用户程序的编写、编译、下载、仿真运行和各项调试功能。
很多处理器芯片带有非易失性存储器,例如EEPROM(Electrically ErasableProgrammable Read-Only Memory,电可擦可编程只读存储器)、Flash(Flash memory,闪存存储器)等,且出于使用方便、结构灵活,以及节省存储器资源,降低结构复杂度等考虑,片内的非易失性存储器只有一片且容量做的较大,全片地址范围既可以作为程序存储器操作,也可以作为数据存储器操作。实际使用时,可按照代码工程编译结果的大小来灵活划分片内非易失性存储器资源,分出作为代码(Code)区域和数据(Data)区域的地址范围。举例来说,例如某款8051核处理器芯片使用Flash作为存储器,容量为64K字节大小,某个工程编译结果使用了48K字节代码,16K字节数据,则片内Flash的0-BFFFH物理地址范围作为代码区使用,C000-FFFFH物理地址范围作为数据区使用;因为应用发生了变化,工程做了修改,重新编译后使用了32K字节代码,32K字节数据,无需更换芯片,只需要把片内Flash的0-7FFFH物理地址范围作为代码区使用,8000-FFFFH物理地址范围作为数据区使用即可。但是非易失性存储器写入时是带有写入时序要求的,例如EEPROM和Flash都要求全片或按页擦除、等待一个指定时间、按页或按字节写入等,不能像SRAM(Static Random AccessMemory,静态随机存取存储器)存储器一样提供目标写入地址、数据和写信号就可以写入。
现有仿真器通常是采用SRAM加存储器等效控制逻辑(相当于存储器控制器,例如EEPROM Controller、Flash Controller等,实现存储器写入操作时序上的模拟等效)来等效替代产品芯片中的非易失性存储器,以尽可能做到与真实芯片中非易失性存储器在功能和性能上的等效。但是,仿真器配套使用的集成开发环境都是标准的调试软件,例如KEIL、MDK、IAR等。用户通过集成开发环境向仿真器内的存储器下载代码时,都是直接按操作SRAM方式下发目标地址和代码数据给仿真芯片内的处理器核,由处理器核按操作SRAM的方式完成写入代码的,不会考虑如果目标存储器是非易失性存储器,需要按照对应的操作方式和时序操作。所以现有仿真器通常有两种实现方式,第一种直接在仿真器中把非易失性存储器做成纯粹的SRAM特性,以确保通过标准的集成开发环境可以直接操作,但会造成仿真器内非易失性存储器在功能、性能上与产品芯片的不一致;第二种是SRAM加等效控制逻辑替代非易失性存储器的方式,确保功能性能的一致性,但需要请集成开发环境厂商增加针对目标芯片非易失性存储器大小和特性的补丁,或者自行开发和提供集成开发环境上的非易失性存储器代码下载引导工程(例如,KEIL支持的FLM和FLX工程格式),针对自己代码工程编译结果的存储器代码区大小、存储器写入特性定制,编译后产生特殊机器码文件(例如,KEIL的后缀为FLM和FLX的文件),在下载代码前先把代码下载引导工程机器码文件下载到芯片的XRAM(on-chip expanded RAM,外部随机存储器)区域并执行,按片内非易失性存储器的操作时序要求,把代码引导写入到芯片的非易失性存储器指定区域内,过程复杂且需要按时序要求写入,效率较低,还需要针对代码工程编译结果中代码区域的大小变化不断修改调整代码下载引导工程的设置并重新编译产生机器码文件,虽然保证了仿真器上非易失性存储器功能和性能的一致性,但使用比较麻烦、效率较低。
发明内容
本发明要解决的技术问题是提供一种带有非易失性存储器的处理器芯片仿真器,在保证仿真器功能、性能一致性的同时,简化了系统的实现和使用方式。
为解决上述技术问题,本发明的带有非易失性存储器的处理器芯片仿真器,包括:监控模块和仿真芯片,以及安装在用户电脑上的集成开发环境模块;所述仿真芯片内包括处理器核,控制逻辑模块,SRAM存储器;所述监控模块通过调试通道与集成开发环境模块相连接;所述SRAM存储器通过第二标准数据/地址总线与控制逻辑模块相连接,所述控制逻辑模块通过第一标准数据/地址总线与处理器核相连接;所述监控模块通过写入通道与所述仿真芯片内的控制逻辑模块相连接,所述监控模块通过指令插入通道与所述仿真芯片内的处理器核相连接;
所述监控模块能通过写入通道向控制逻辑模块写入代码范围配置;所述控制逻辑模块依据其中的代码范围配置,如果接收到的写入操作目标地址在所述代码范围配置内,则所述控制逻辑模块是透明通道功能,功能和性能上相当于把与处理器核连接的第一标准数据/地址总线和与SRAM存储器连接的第二标准数据/地址总线直接对接连接;如果接收到的写入操作目标地址不在所述代码范围配置内,则所述控制逻辑模块能模拟等效非易失性存储器写入操作时序控制功能和性能,配合SRAM存储器一起等效产品芯片中非易失性存储器的写操作时序、功能和性能。
所述集成开发环境模块通过调试通道向监控模块下发用户代码的目标地址和代码数据,所述监控模块接收到所有下发用户代码后,能判断出代码的地址范围,产生一个与当前需要下载的工程代码匹配的代码范围配置。
所述监控模块通过指令插入通道向仿真芯片内的处理器核塞入带有用户代码目标地址和代码数据的写入语句指令,这些语句指令是操作SRAM方式的,不带有写入时序;所述处理器核能执行SRAM方式写入语句指令,通过与所述控制逻辑模块连接的第一标准数据/地址总线向控制逻辑模块写入地址和数据。
一种带有非易失性存储器的处理器芯片仿真器,包括:监控模块和仿真芯片;所述仿真芯片内包括:处理器核、控制逻辑模块和SRAM存储器;所述监控模块通过调试通道与用户电脑相连接;所述SRAM存储器通过第二标准数据/地址总线与控制逻辑模块相连接,通过第一标准数据/地址总线与处理器核相连接;所述监控模块通过写入通道与控制逻辑模块相连接,通过指令插入通道与处理器核相连接。
所述用户电脑上安装有集成开发环境模块;所述监控模块通过调试通道与集成开发环境模块相连接。
采用本发明的仿真器,在集成开发环境模块可以采用标准数据加地址的方式向所实现的仿真器内的非易失性存储器下载代码,而无需集成开发环境模块定制针对芯片非易失性存储器特性的补丁,也无需开发和使用代码下载引导工程。用户程序运行时,执行数据区写入,仍能真实等效产品芯片中非易失性存储器的写入功能和性能。代码工程修改引起编译结果中代码和数据区域大小变化时,也无需做任何配置或修改。在保证仿真器功能、性能一致性的同时,简化了系统的实现和使用方式,提高了仿真器的易用性和调试性能,方便了用户程序的开发、调试和测试,有助于提高代码开发效率。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明:
图1是所述带有非易失性存储器的处理器芯片仿真器的结构示意图。
具体实施方式
如图1所示,所述带有非易失性存储器的处理器芯片仿真器1(即图1中的仿真器),包括:监控模块3和仿真芯片12,以及安装在用户电脑上的集成开发环境模块2。所述仿真芯片12内包括处理器核4、控制逻辑模块5和SRAM存储器6。所述监控模块3通过调试通道7与集成开发环境模块2相连接。所述SRAM存储器6通过第二标准数据/地址总线11与控制逻辑模块5相连接,所述控制逻辑模块5通过第一标准数据/地址总线10与处理器核4相连接。所述监控模块3通过写入通道9与所述仿真芯片12内的控制逻辑模块5相连接,所述监控模块3通过指令插入通道8与所述仿真芯片12内的处理器核4相连接。所述控制逻辑模块5内具有代码范围配置。
所述集成开发环境2通过调试通道7向监控模块3下发用户代码的目标地址和代码数据,所述监控模块3接收到所有下发代码后,能判断出代码的地址范围,产生一个与当前需要下载的工程代码匹配的代码范围配置。所述监控模块3通过指令插入通道8向仿真芯片内的处理器核4塞入带有用户代码目标地址和代码数据的写入语句指令,这些语句指令是操作SRAM方式的,不带有写入时序。所述处理器核4能执行SRAM方式写入语句指令,通过与所述控制逻辑模块5连接的第一标准数据/地址总线10向控制逻辑模块5写入地址和数据。所述监控模块3能通过写入通道9向控制逻辑模块5写入代码范围配置。所述控制逻辑模块5依据其中的代码范围配置,如果通过第一标准数据/地址总线10接收到的写入操作目标地址在所述代码范围配置内,则所述控制逻辑模块5是透明通道功能,功能和性能上相当于把与处理器核4连接的第一标准数据/地址总线10和与SRAM存储器6连接的第二标准数据/地址总线11直接对接连接;如果接收到的写入操作目标地址不在所述代码范围配置内,则所述控制逻辑模块能5模拟等效非易失性存储器写入操作时序控制功能和性能,配合SRAM存储器6一起等效产品芯片中非易失性存储器的写操作时序、功能和性能。
这样,在实际应用中,用户工程编译产生需要下载的代码,由集成开发环境模块2通过调试通道7下发给监控模块3,监控模块3依据接收到所有下发代码后,判断出代码的地址范围,产生一个与当前需要下载的工程代码匹配的代码范围配置,并将此代码范围配置写入控制逻辑模块5中。所述监控模块3通过指令插入通道8把代码写入指令塞入处理器核4,所述处理器核4执行这些指令向控制逻辑模块5写入代码,由于这些指令中包含的写入操作目标地址在控制逻辑模块5存放的代码范围配置范围内,控制逻辑模块5相当于一个透传通道,就实现了以操作SRAM方式直接向SRAM存储器6下载、写入用户程序代码的功能。当用户工程发生修改,重新编译产生新的下载代码,代码范围发生变化,由于重新下载代码时,会重复所述过程,监控模块3会判断出新的代码地址范围,更新控制逻辑模块5内存放的代码范围配置,使其与新的工程代码地址范围匹配,新的工程代码仍然是以操作SRAM方式直接下载到SRAM存储器6中,无需用户做任何额外配置或操作,方便了用户的开发和使用。
所实现的仿真器在全速运行用户程序时,执行所有数据区写入操作语句时,目标地址必然都在代码区域范围以外的数据区域,等效控制逻辑模块5接收到的指令中包含的写入操作目标地址都在控制逻辑模块5存放的代码范围配置范围以外,此时控制逻辑模块5与SRAM存储器6一起等效实现了非易失性存储器的写入操作时序、功能和性能,保证了仿真器功能和性能的一致性。
所述集成开发环境模块2可以是标准商用集成开发环境产品,例如KEIL、IAR、MDK等。所述监控模块3可以使用普通通用处理器芯片实现,例如STM32等。所述仿真芯片12可以采用FPGA(Field Programmable Gate Array即现场可编程门阵列)芯片实现,处理器核4、控制逻辑模块5可以用FPGA的逻辑资源实现,SRAM存储器6可以使用FPGA芯片内的片内RAM存储器资源实现。写入通道9可以采用普通寄存器写入结构和方式实现。指令插入通道8可以采用标准的JTAG或者SWD调试技术和接口实现。
以上通过具体实施方式对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。

Claims (7)

1.一种带有非易失性存储器的处理器芯片仿真器,其特征在于:包括监控模块和仿真芯片,以及安装在用户电脑上的集成开发环境模块;所述仿真芯片内包括处理器核、控制逻辑模块和SRAM存储器;所述监控模块通过调试通道与集成开发环境模块相连接;所述SRAM存储器通过第二标准数据/地址总线与控制逻辑模块相连接,通过第一标准数据/地址总线与处理器核相连接;所述监控模块通过写入通道与控制逻辑模块相连接,通过指令插入通道与处理器核相连接;
所述监控模块通过写入通道向控制逻辑模块写入代码范围配置;所述控制逻辑模块依据其中的代码范围配置,如果接收到的写入操作目标地址在所述代码范围配置内,则所述控制逻辑模块是透明通道功能,功能和性能上相当于把与处理器核连接的第一标准数据/地址总线和与SRAM存储器连接的第二标准数据/地址总线直接对接连接;如果接收到的写入操作目标地址不在所述代码范围配置内,则所述控制逻辑模块能模拟等效非易失性存储器写入操作时序控制功能和性能,配合SRAM存储器一起等效产品芯片中非易失性存储器的写操作时序、功能和性能。
2.如权利要求1所述的仿真器,其特征在于:所述集成开发环境模块通过调试通道向监控模块下发用户代码的目标地址和代码数据,所述监控模块接收到所有下发用户代码后,能判断出代码的地址范围,产生一个与当前需要下载的工程代码匹配的代码范围配置。
3.如权利要求1或2所述的仿真器,其特征在于:所述监控模块通过指令插入通道向处理器核塞入带有用户代码目标地址和代码数据的写入语句指令,这些语句指令是操作SRAM方式的,不带有写入时序;所述处理器核能执行SRAM方式写入语句指令,通过第一标准数据/地址总线向控制逻辑模块写入地址和数据。
4.一种带有非易失性存储器的处理器芯片仿真器,其特征在于,包括:监控模块和仿真芯片;所述仿真芯片内包括:处理器核、控制逻辑模块和SRAM存储器;所述监控模块通过调试通道与用户电脑相连接;所述SRAM存储器通过第二标准数据/地址总线与控制逻辑模块相连接,通过第一标准数据/地址总线与处理器核相连接;所述监控模块通过写入通道与控制逻辑模块相连接,通过指令插入通道与处理器核相连接。
5.如权利要求4所述的仿真器,其特征在于:所述用户电脑上安装有集成开发环境模块;所述监控模块通过调试通道与集成开发环境模块相连接。
6.如权利要求4所述的仿真器,其特征在于:所述监控模块由通用处理器芯片构成。
7.如权利要求4所述的仿真器,其特征在于:所述仿真芯片由FPGA芯片构成。
CN201710878454.2A 2017-09-26 2017-09-26 带有非易失性存储器的处理器芯片仿真器 Active CN107577520B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710878454.2A CN107577520B (zh) 2017-09-26 2017-09-26 带有非易失性存储器的处理器芯片仿真器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710878454.2A CN107577520B (zh) 2017-09-26 2017-09-26 带有非易失性存储器的处理器芯片仿真器

Publications (2)

Publication Number Publication Date
CN107577520A true CN107577520A (zh) 2018-01-12
CN107577520B CN107577520B (zh) 2024-05-17

Family

ID=61039281

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710878454.2A Active CN107577520B (zh) 2017-09-26 2017-09-26 带有非易失性存储器的处理器芯片仿真器

Country Status (1)

Country Link
CN (1) CN107577520B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109977024A (zh) * 2019-04-03 2019-07-05 北京智芯微电子科技有限公司 支持nvm实时下载的cpu芯片仿真器

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104077204A (zh) * 2014-07-22 2014-10-01 无锡中微爱芯电子有限公司 可重构的8位rsic单片机仿真器
US20160274816A1 (en) * 2015-03-17 2016-09-22 Gowin Semiconductor Corporation, Ltd. Programmable Logic Device With On-Chip User Non-Volatile Memory
CN106484584A (zh) * 2016-10-31 2017-03-08 上海华虹集成电路有限责任公司 处理器芯片仿真器
CN106485020A (zh) * 2016-10-31 2017-03-08 上海华虹集成电路有限责任公司 带有非易失性存储器的处理器芯片仿真器
CN207281743U (zh) * 2017-09-26 2018-04-27 上海市信息网络有限公司 带有非易失性存储器的处理器芯片仿真器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104077204A (zh) * 2014-07-22 2014-10-01 无锡中微爱芯电子有限公司 可重构的8位rsic单片机仿真器
US20160274816A1 (en) * 2015-03-17 2016-09-22 Gowin Semiconductor Corporation, Ltd. Programmable Logic Device With On-Chip User Non-Volatile Memory
CN106484584A (zh) * 2016-10-31 2017-03-08 上海华虹集成电路有限责任公司 处理器芯片仿真器
CN106485020A (zh) * 2016-10-31 2017-03-08 上海华虹集成电路有限责任公司 带有非易失性存储器的处理器芯片仿真器
CN207281743U (zh) * 2017-09-26 2018-04-27 上海市信息网络有限公司 带有非易失性存储器的处理器芯片仿真器

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109977024A (zh) * 2019-04-03 2019-07-05 北京智芯微电子科技有限公司 支持nvm实时下载的cpu芯片仿真器

Also Published As

Publication number Publication date
CN107577520B (zh) 2024-05-17

Similar Documents

Publication Publication Date Title
US6588006B1 (en) Programmable ASIC
US7685380B1 (en) Method for using configuration memory for data storage and read operations
Iseli et al. Spyder: A reconfigurable VLIW processor using FPGAs
Lis et al. Synthesis from VHDL
Vipin et al. A high speed open source controller for FPGA partial reconfiguration
CN105930186B (zh) 多cpu的软件加载方法及基于多cpu的软件加载装置
US6141636A (en) Logic analysis subsystem in a time-sliced emulator
CN101344899B (zh) 一种片上系统的仿真测试方法及仿真测试系统
CN106155755A (zh) 程序编译方法和程序编译器
JPH0773066A (ja) メモリ回路構成法および装置
US10691856B1 (en) System design flow with runtime customizable circuits
CN109542478A (zh) 一种更新SPI Flash内FPGA程序的系统及方法
CN104461859B (zh) 一种支持nvm软断点调试的仿真器和方法
CN108319465A (zh) 对fpga配置数据进行升级的电路及方法
US9929734B2 (en) Method for changing the configuration of a programmable logic module
CN108140067A (zh) 交互式多步骤物理合成
CN106598909A (zh) 一种可编程片上系统构建方法
CN207281743U (zh) 带有非易失性存储器的处理器芯片仿真器
CN101329647A (zh) 一种仿真片内flash的仿真器
CN106485020B (zh) 带有非易失性存储器的处理器芯片仿真器
CN102377423A (zh) Fpga在线配置方法
CN107577520A (zh) 带有非易失性存储器的处理器芯片仿真器
EP1229549A1 (en) Asynchronous flash-eeprom behaving like a synchronous ram/rom
CN112885403B (zh) 一种Flash控制器的功能测试方法、装置及设备
US11593547B1 (en) Prediction and optimization of multi-kernel circuit design performance using a programmable overlay

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