CN109977024A - 支持nvm实时下载的cpu芯片仿真器 - Google Patents
支持nvm实时下载的cpu芯片仿真器 Download PDFInfo
- Publication number
- CN109977024A CN109977024A CN201910266969.6A CN201910266969A CN109977024A CN 109977024 A CN109977024 A CN 109977024A CN 201910266969 A CN201910266969 A CN 201910266969A CN 109977024 A CN109977024 A CN 109977024A
- Authority
- CN
- China
- Prior art keywords
- nvm
- emulator
- cpu
- port
- real time
- 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/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明公开了一种支持NVM实时下载的CPU芯片仿真器,包括仿真器硬件以及仿真器软件。仿真器硬件包括主板,主板包括芯片原型及调试线;以及仿真器软件通过调试线与仿真器硬件通信连接;其中,芯片原型包括CPU、通路选择模块及NVM;其中,NVM包括RAM及NVM控制模块;其中,RAM具有第一端口和第二端口;其中,RAM的第一端口通过NVM控制模块及通路选择模块与CPU通信连接;其中,RAM的第二端口通过通路选择模块与CPU通信连接。借此,本发明的支持NVM实时下载的CPU芯片仿真器,实现了仿真器软件实时下载NVM的功能,且使用简单方便。
Description
技术领域
本发明是关于芯片技术领域,特别是关于一种支持NVM实时下载的CPU芯片仿真器。
背景技术
仿真器是一套仿真CPU芯片功能,并实现CPU芯片程序调试的***,此处CPU芯片为有CPU,可以执行嵌入式程序的芯片。按目标芯片实现方式的不同,仿真器可分为硬仿真器和软仿真器,硬仿真器的目标芯片采用硬件实现,一般采用FPGA;软仿真器的目标芯片采用软件实现。本申请提案中的仿真器是指芯片硬仿真器,目标芯片采用FPGA实现,整个仿真器可以划分为仿真器软件和仿真器硬件两部分。仿真器软件主要指一套集成开发环境,仿真器硬件主要包括主板和调试线等。
目前有些仿真器可以支持NVM(Non-volatile memory,非易失存储器)实时下载功能,技术方案如下:在仿真器软件中实现对NVM各种操作的函数,仿真器软件在需要实时下载NVM时调用这些函数,并将这些函数下载到芯片的RAM(Random Access Memory,随机存取存储器)中,同时也将需要下载的数据放入RAM中,通过CPU执行这些函数的指令,实现对NVM的实时下载功能。这种方案需要用户在IDE界面进行多项设置,包括NVM的地址空间范围和属性,RAM中用于存放NVM操作函数的地址范围,对NVM操作的类型等。另外,若集成开发环境中已有的NVM不包括该NVM,则还需要编写操作NVM的函数,这就要求仿真器软件提供NVM操作函数的标准接口,用于仿真器软件加载这些NVM操作函数。由此可见,这种方案实现是非常复杂的,这也就导致目前市场上还有相当一部分仿真器没有实现上述功能,这类仿真器无法实现通过仿真器软件下载NVM的功能,只能通过在芯片原型中运行下载程序实现NVM下载,但是这样无法实现NVM的实时下载。
目前的仿真器实时下载NVM技术方案复杂,在没有实时下载NVM的仿真器软件中添加该功能技术难度较大,这也就导致很多仿真器不支持NVM实时下载功能;另外,目前的技术所实现的NVM实时下载功能,用户使用时需要进行各种设置,还需要编写NVM操作函数,使用也比较复杂。
公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
发明内容
本发明的目的在于提供一种支持NVM实时下载的CPU芯片仿真器,其实现了仿真器软件实时下载NVM的功能,且使用简单方便。
为实现上述目的,本发明提供了一种支持NVM实时下载的CPU芯片仿真器,包括仿真器硬件以及仿真器软件。仿真器硬件包括主板,主板包括芯片原型及调试线;以及仿真器软件通过调试线与仿真器硬件通信连接;其中,芯片原型包括CPU、通路选择模块及NVM;其中,NVM包括RAM及NVM控制模块;其中,RAM具有第一端口和第二端口;其中,RAM的第一端口通过NVM控制模块及通路选择模块与CPU通信连接;其中,RAM的第二端口通过通路选择模块与CPU通信连接。
在一优选的实施方式中,主板还包括电源模块。
在一优选的实施方式中,通路选择模块具有第一通路及第二通路,且RAM的第一端口通过NVM控制模块及第一通路与CPU通信连接,用于模拟芯片的NVM。
在一优选的实施方式中,RAM的第二端口通过第二通路与CPU通信连接,用于仿真器软件实时下载NVM。
在一优选的实施方式中,通路选择模块通过接收仿真器软件发出的下载NVM指示信号,从而选择开启第一通路或第二通路。
在一优选的实施方式中,当通路选择模块接收到的下载NVM指示信号有效时,CPU通过第二端口访问RAM,从而使仿真器软件进行下载NVM操作。
在一优选的实施方式中,当通路选择模块接收到的下载NVM指示信号无效时,CPU通过NVM控制模块和第一端口访问RAM。
与现有技术相比,根据本发明的支持NVM实时下载的CPU芯片仿真器,实现了仿真器软件实时下载NVM的功能,且使用简单方便。
附图说明
图1是根据本发明一实施方式的支持NVM实时下载的CPU芯片仿真器的线框结构示意图。
图2是根据本发明一实施方式的支持NVM实时下载的CPU芯片仿真器的芯片原型的线框结构示意图。
主要附图标记说明:
1-仿真器硬件,2-主板,3-电源模块,4-芯片原型,5-调试线,6-仿真器软件,7-CPU,8-通路选择模块,9-NVM控制模块,10-RAM,11-NVM,12-第一端口,13-第二端口。
具体实施方式
下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
如图1至图2所示,图1是根据本发明一实施方式的支持NVM实时下载的CPU芯片仿真器的线框结构示意图;图2是根据本发明一实施方式的支持NVM实时下载的CPU芯片仿真器的芯片原型的线框结构示意图。
根据本发明优选实施方式的一种支持NVM实时下载的CPU芯片仿真器,包括仿真器硬件1以及仿真器软件6。仿真器硬件1包括主板2,主板2包括芯片原型4及调试线5;以及仿真器软件6通过调试线5与仿真器硬件1通信连接;其中,芯片原型4包括CPU7、通路选择模块8及NVM11;其中,NVM11包括RAM10及NVM控制模块9;其中,RAM10具有第一端口12和第二端口13;其中,RAM10的第一端口12通过NVM控制模块9及通路选择模块8与CPU7通信连接;其中,RAM10的第二端口13通过通路选择模块8与CPU7通信连接。
在一优选的实施方式中,主板2还包括电源模块3;通路选择模块8具有第一通路及第二通路,且RAM10的第一端口12通过NVM控制模块9及第一通路与CPU7通信连接,用于模拟芯片的NVM。
在一优选的实施方式中,RAM10的第二端口13通过第二通路与CPU7通信连接,用于仿真器软件6实时下载NVM11;通路选择模块8通过接收仿真器软件6发出的下载NVM指示信号,从而选择开启第一通路或第二通路。
在一优选的实施方式中,当通路选择模块8接收到的下载NVM指示信号有效时,CPU7通过第二端口13访问RAM10,从而使仿真器软件6进行下载NVM11操作;当通路选择模块8接收到的下载NVM指示信号无效时,CPU7通过NVM控制模块9和第一端口12访问RAM10。
在实际应用中,本发明的支持NVM实时下载的CPU芯片仿真器的硬件部分通过相应的设计就可以支持NVM实时下载功能,仿真器软件6无特殊要求,仿真器软件6也不需进行任何额外设计,本申请方案可以用于几乎所有的仿真器中。本发明是一种通用的仿真器实时下载NVM的方案,按照本发明实现的NVM实时下载功能不需要用户进行设置,也不需要用户编写NVM的操作函数,用户不需要进行任何额外的操作即可实现NVM的实时下载。详细来说,仿真器硬件1部分中的芯片原型4采用FPGA实现,FPGA所实现的芯片原型4要尽可能的和芯片一致,因此FPGA需要实现芯片的NVM存储器,在FPGA中需要采用RAM10存储器和NVM控制模块9模拟芯片的NVM11,NVM控制模块9实现的接口和芯片NVM一致,接口时序和芯片NVM保持一致,并且容量和位宽也和芯片NVM一致,这样才能保证操作仿真器NVM和操作芯片NVM的一致。如图2所示,此时仿真器实时下载NVM必须通过CPU7执行NVM11操作的函数才可以实现;仿真器软件6可以直接下载RAM10,仿真器软件6下载RAM10的操作最终转化为CPU7访问RAM10的操作。因此,在仿真器软件6下载NVM11时,将NVM11的接口变为RAM10接口,就可以实现仿真器软件6下载NVM的功能;本发明将实现NVM的单端口RAM10改为双端口的RAM10,双端口RAM10的第一端口12和NVM控制模块9相连,用于模拟芯片的NVM11,该通道(第一通路)用于CPU7执行指令访问NVM11;第二端口13则不经过NVM控制模块9,可直接由CPU7访问,该通路(第二通路)用于仿真器软件6下载NVM11。第一端口12连接NVM控制模块9,第二端口13则在仿真器软件6下载NVM时直接被CPU7访问。
通过通路选择模块8对CPU7和双端口RAM10之间的通路进行选择。通路选择模块8的输入为仿真器软件6下载NVM指示信号。当仿真器软件6下载NVM指示信号有效时,CPU7通过双端口RAM10的第二端口13直接访问双端口RAM10,此时对于仿真器软件6而言,NVM的接口就是RAM10接口,相当于仿真器软件6可以通过RAM10接口访问NVM11;当仿真器软件6下载NVM指示信号无效时,CPU7通过NVM控制模块9和第一端口12访问双端口RAM10,此时芯片原型4的NVM的行为和芯片NVM一致。
对于有安全需求的芯片,对NVM11的访问存在数据加解密和地址加解扰,此时,仿真器软件6下载NVM11的通路也需要实现同样的数据加解密和地址加解扰,也就是需要在第二端口13和CPU7之间添加相应的数据加解密模块和地址加解扰模块。这样才能保证CPU7执行指令访问NVM11和仿真器软件6下载NVM的一致性。
总之,本发明的支持NVM实时下载的CPU芯片仿真器具有如下有益效果:
1、只需要修改硬件实现的芯片原型,不需要对仿真器软件进行额外设计,技术难度更低,易于实现;
2、实现了仿真器软件实时下载NVM的功能,仿真器用户完全不需要在IDE进行任何设置,也不需要任何额外的代码设计工作,使用简单方便;
3、所实现的NVM实时下载功能没有软件加载和程序执行的环节,下载速度更快;
4、对RAM资源无要求。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。
Claims (7)
1.一种支持NVM实时下载的CPU芯片仿真器,其特征在于,包括:
仿真器硬件,包括主板,所述主板包括芯片原型及调试线;以及
仿真器软件,通过所述调试线与所述仿真器硬件通信连接;
其中,所述芯片原型包括CPU、通路选择模块及NVM;
其中,所述NVM包括RAM及NVM控制模块;
其中,所述RAM具有第一端口和第二端口;
其中,所述RAM的所述第一端口通过所述NVM控制模块及所述通路选择模块与所述CPU通信连接;
其中,所述RAM的所述第二端口通过所述通路选择模块与所述CPU通信连接。
2.如权利要求1所述的支持NVM实时下载的CPU芯片仿真器,其特征在于,所述主板还包括电源模块。
3.如权利要求1所述的支持NVM实时下载的CPU芯片仿真器,其特征在于,所述通路选择模块具有第一通路及第二通路,且所述RAM的所述第一端口通过所述NVM控制模块及所述第一通路与所述CPU通信连接,用于模拟芯片的NVM。
4.如权利要求3所述的支持NVM实时下载的CPU芯片仿真器,其特征在于,所述RAM的所述第二端口通过所述第二通路与所述CPU通信连接,用于所述仿真器软件实时下载NVM。
5.如权利要求3所述的支持NVM实时下载的CPU芯片仿真器,其特征在于,所述通路选择模块通过接收所述仿真器软件发出的下载NVM指示信号,从而选择开启所述第一通路或所述第二通路。
6.如权利要求3所述的支持NVM实时下载的CPU芯片仿真器,其特征在于,当所述通路选择模块接收到的所述下载NVM指示信号有效时,所述CPU通过所述第二端口访问所述RAM,从而使所述仿真器软件进行下载NVM操作。
7.如权利要求3所述的支持NVM实时下载的CPU芯片仿真器,其特征在于,当所述通路选择模块接收到的所述下载NVM指示信号无效时,所述CPU通过所述NVM控制模块和所述第一端口访问所述RAM。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910266969.6A CN109977024A (zh) | 2019-04-03 | 2019-04-03 | 支持nvm实时下载的cpu芯片仿真器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910266969.6A CN109977024A (zh) | 2019-04-03 | 2019-04-03 | 支持nvm实时下载的cpu芯片仿真器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109977024A true CN109977024A (zh) | 2019-07-05 |
Family
ID=67082844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910266969.6A Pending CN109977024A (zh) | 2019-04-03 | 2019-04-03 | 支持nvm实时下载的cpu芯片仿真器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109977024A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111865574A (zh) * | 2020-06-22 | 2020-10-30 | 北京智芯微电子科技有限公司 | 支持数据安全传输的cpu芯片仿真器及数据安全传输方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020046016A1 (en) * | 2000-10-18 | 2002-04-18 | Anthony Debling | On-chip emulator communication |
CN101968763A (zh) * | 2009-07-27 | 2011-02-09 | 上海华虹集成电路有限责任公司 | 高速处理器芯片仿真器 |
CN104461859A (zh) * | 2014-08-27 | 2015-03-25 | 北京中电华大电子设计有限责任公司 | 一种支持nvm软断点调试的仿真器和方法 |
CN106485020A (zh) * | 2016-10-31 | 2017-03-08 | 上海华虹集成电路有限责任公司 | 带有非易失性存储器的处理器芯片仿真器 |
CN107577520A (zh) * | 2017-09-26 | 2018-01-12 | 上海市信息网络有限公司 | 带有非易失性存储器的处理器芯片仿真器 |
-
2019
- 2019-04-03 CN CN201910266969.6A patent/CN109977024A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020046016A1 (en) * | 2000-10-18 | 2002-04-18 | Anthony Debling | On-chip emulator communication |
CN101968763A (zh) * | 2009-07-27 | 2011-02-09 | 上海华虹集成电路有限责任公司 | 高速处理器芯片仿真器 |
CN104461859A (zh) * | 2014-08-27 | 2015-03-25 | 北京中电华大电子设计有限责任公司 | 一种支持nvm软断点调试的仿真器和方法 |
CN106485020A (zh) * | 2016-10-31 | 2017-03-08 | 上海华虹集成电路有限责任公司 | 带有非易失性存储器的处理器芯片仿真器 |
CN107577520A (zh) * | 2017-09-26 | 2018-01-12 | 上海市信息网络有限公司 | 带有非易失性存储器的处理器芯片仿真器 |
Non-Patent Citations (2)
Title |
---|
荆晓龙: "一种基于JTAG接口的仿真器***研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
陈巨涛: "ARM+DSP嵌入式仿真平台的开发及其在实时仿真中的应用", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111865574A (zh) * | 2020-06-22 | 2020-10-30 | 北京智芯微电子科技有限公司 | 支持数据安全传输的cpu芯片仿真器及数据安全传输方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104520814B (zh) | 用于配置云计算***的***和方法 | |
EP1004072B1 (en) | Embedded graphical programming system | |
CN107463668B (zh) | 序列化和反序列化的方法及装置、计算机设备及存储介质 | |
TWI785064B (zh) | 用於測試向量元素內部的位元值的設備、方法、電腦程式及電腦可讀儲存媒體 | |
CN104573287B (zh) | 基于界面绑定统一模型的数字仿真框架设计方法 | |
US20020188928A1 (en) | Generating code for data references | |
CN108304676A (zh) | 装配体三维模型自动重建方法、终端设备及存储介质 | |
CN113272906B (zh) | 具有引脚功能映射的模式生成*** | |
JPH08320808A (ja) | エミュレーション方式 | |
CN110474820A (zh) | 流量回放方法、装置、电子设备 | |
CN112486863A (zh) | 软件虚拟仿真方法、装置和电子设备 | |
US8874966B1 (en) | Storage device error simulator tool | |
Parashar et al. | LEAP: A virtual platform architecture for FPGAs | |
US10496422B2 (en) | Serial device emulator using two memory levels with dynamic and configurable response | |
KR20080016081A (ko) | 에뮬레이션 시스템 | |
CN109977024A (zh) | 支持nvm实时下载的cpu芯片仿真器 | |
US20040044508A1 (en) | Method for generating commands for testing hardware device models | |
CN113919158A (zh) | 一种用于飞行控制面板的仿真方法、装置及存储介质 | |
CN105677560A (zh) | 一种测试方法、装置及*** | |
EP3314560B1 (en) | Transmitting application data for on-device demos | |
CN111950219B (zh) | 用于实现模拟器的方法、装置、设备以及介质 | |
CN112540920A (zh) | 测试方法、装置、设备和存储介质 | |
US10585615B1 (en) | Virtual flash system | |
CN207281743U (zh) | 带有非易失性存储器的处理器芯片仿真器 | |
CN116048845B (zh) | 一种数据处理的方法、装置、存储介质及电子设备 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190705 |
|
RJ01 | Rejection of invention patent application after publication |