CN109101386B - 一种支持ram测试的仿真器 - Google Patents
一种支持ram测试的仿真器 Download PDFInfo
- Publication number
- CN109101386B CN109101386B CN201810665136.2A CN201810665136A CN109101386B CN 109101386 B CN109101386 B CN 109101386B CN 201810665136 A CN201810665136 A CN 201810665136A CN 109101386 B CN109101386 B CN 109101386B
- Authority
- CN
- China
- Prior art keywords
- module
- ram
- data
- input signal
- power
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/261—Functional testing by simulating additional hardware, e.g. fault simulation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种支持RAM测试的仿真器,包括芯片功能调试模块、芯片功能模块、掉电产生模块、支持掉电测试的RAM模块4部分。掉电产生模块检测芯片功能模块的输出信号,产生掉电输入信号提供给支持掉电测试的RAM模块,在掉电输入信号的控制下,改变RAM模块中的RAM存储器的地址和数据的加解密方式,实现了芯片上电、RAM关电操作和RAM测试操作后,RAM存储器中原有数据读出发生改变的功能,从而支持在仿真器上对程序进行RAM测试的各种需求。本发明的仿真器与真实芯片RAM使用测试环境一致,能有效避免程序开发和芯片验证时,由于RAM差异而产生的设计问题。
Description
技术领域
本发明涉及芯片仿真器技术领域,具体涉及一种支持RAM测试的仿真器。
背景技术
对于智能卡芯片,芯片仿真器通常采用FPGA实现,支持用户调试和开发程序。通常采用读卡器给芯片供电,当芯片掉电再上电后,真实芯片的RAM数据已经变为随机值;但仿真器中FPGA由于功耗、上电延时等原因,无法由读卡器供电,而是采用专用电源一直供电,读卡器关电再上电操作,仿真器中的RAM数据保持不变。
有些芯片包含多块RAM,每块RAM支持单独供电,不使用的RAM可以用程序进行关电,当程序使用时再对RAM进行上电操作,以节省整个芯片的功耗。程序控制RAM再次上电后,真实芯片的RAM数据已经变为随机值;但由于无法实现对仿真器中RAM的关电操作,仿真器中RAM数据保持不变。
为简化FPGA设计,仿真器通常不会实现RAM测试的硬件逻辑电路,当程序启动RAM测试功能后,真实芯片的RAM数据已经发生变化,但仿真器中RAM数据保持不变。
上述三种情况,导致芯片和仿真器中RAM数据不一致,程序中的变量如果未初始化而直接使用,在仿真器上测试正常,而在真实芯片上运行出错,此问题无法在仿真器上通过加严测试来解决。针对上述问题,本发明提出一种支持RAM测试的仿真器。
为实现仿真器中RAM和真实芯片中RAM表现出的随机特性一致,通常做法是采用仿真器中RAM填充随机数的方式实现,由于RAM容量大,填充数据时间长,RAM填充随机数模块设计复杂,给仿真器设计带来困难。本发明的仿真器实现RAM数据的随机性和真实芯片一致,保证了程序在仿真器上开发有效性和可靠性。
发明内容
本发明所解决的技术问题是,如何设计一种支持RAM测试的仿真器。
本发明的仿真器是通过检测使RAM数据发生变化的各种操作,产生有效的掉电输入信号,用此信号控制RAM的地址和数据总线加解密方式的改变,从而实现RAM原有存储数据发生改变的功能。
RAM数据发生变化的各种操作,包括以下3种操作:
1)芯片功能模块上电操作,上电后与下电前相比RAM数据发生变化;
2)芯片功能模块对RAM的关电操作,关电再上电后RAM数据发生变化;
3)芯片功能模块对RAM数据执行测试操作,测试操作的RAM写入新的数据,测试操作前后RAM数据发生变化。
本发明的仿真器,在仿真器中增加掉电产生模块,将仿真器中的RAM模块替换为支持掉电测试的RAM模块,掉电产生模块检测芯片功能模块的输出信号并产生掉电输入信号,支持掉电测试的RAM模块依据掉电输入信号的变化,通过改地址输入信号、数据输入信号、数据输出信号加解密方式,来改变数据输出信号的数值,实现掉电输入信号变化后,支持掉电测试的RAM模块中存储的数据读出发生改变的功能。仿真器芯片使用的RAM都采用支持掉电测试的RAM模块实现,RAM上电后数据随机的特性与真实芯片RAM保持一致。
本发明的仿真器包括:芯片功能调试模块、芯片功能模块、掉电产生模块、支持掉电测试的RAM模块4部分。
上述的芯片功能模块中实现了芯片上电模块、RAM关电模块、RAM测试模块,这3个模块用于检测RAM数据是否发生变化。
各组件功能说明如下:
芯片功能调试模块,用于对芯片功能模块的功能进行调试;
芯片功能模块,仿真芯片中各种模块的功能;
掉电产生模块,检测芯片上电模块、RAM关电模块和RAM测试模块的输出信号,产生掉电输入信号;
支持掉电测试的RAM模块,仿真芯片的RAM模块功能,并具有掉电输入信号有效时,RAM原有数据读出发生改变的功能;
芯片上电模块,用于芯片功能模块上电后,输出有效的RAM上电信号,指示产生了芯片上电操作;
RAM关电模块,用于芯片功能模块对RAM关电操作后,输出有效的RAM关电信号,指示产生了RAM关电操作;
RAM测试模块,用于芯片功能模块对RAM数据执行测试后,输出有效的RAM测试信号,指示产生了RAM测试操作。
芯片上电模块输出的RAM上电信号、RAM关电模块输出的RAM关电信号、RAM测试模块输出的RAM测试信号分别连接到掉电产生模块。
各组件连接关系如下:
芯片功能调试模块连接到芯片功能模块;芯片功能模块通过控制输入信号、地址输入信号、数据输入信号、数据输出信号连接支持掉电测试的RAM模块;掉电产生模块连接到芯片功能模块中的芯片上电模块、RAM关电模块、RAM测试模块,掉电产生模块通过掉电输入信号连接到支持掉电测试的RAM模块。
本发明的支持掉电测试的RAM模块有两种实现方式:
第一种实现方式实现的支持掉电测试的RAM模块,包括:掉电捕获模块、选择模块、地址取反、数据取反、RAM存储器。包括5组接口信号:掉电输入信号、控制输入信号、地址输入信号、数据输入信号、数据输出信号。
各组件功能说明如下:
掉电捕获模块,依据掉电输入信号的变化产生地址切换信号和数据切换信号;
选择模块,根据地址切换信号改变RAM存储器的地址输入信号,根据数据切换信号改变RAM存储器的数据输入信号和数据输出信号;
地址取反,将地址输入信号按位取反;
数据取反,将数据输入信号、数据输出信号按位取反;
RAM存储器,芯片使用的RAM模块。
各组件连接关系如下:
选择模块输入端连接掉电捕获模块、地址取反、数据取反单元;地址输入信号和数据输入信号连接的选择单元输出端连接RAM存储器;数据输出信号连接的选择单元连接RAM存储器数据输出端。
第二种实现方式实现的支持掉电测试的RAM模块,包括:掉电捕获模块、随机数据模块、地址加密模块、数据加密模块、数据解密模块和RAM存储器。包括5组接口信号:掉电输入信号、控制输入信号、地址输入信号、数据输入信号、数据输出信号。
各组件功能说明如下:
掉电捕获模块,根据掉电输入信号产生随机数更新信号;
随机数据模块,根据随机数更新信号更新随机数,产生地址随机密钥输出到地址加密模块,产生数据随机密钥输出到数据加密模块和数据解密模块;
地址加密模块,将地址输入信号用地址随机密钥进行加密操作后输出给RAM存储器;
数据加密模块,将数据输入信号用数据随机密钥进行加密操作后输出给RAM存储器;
数据解密模块,将RAM存储器输出的数据用数据随机密钥进行解密操作后产生数据输出信号;
RAM存储器,芯片使用的RAM模块。
各组件连接关系如下:
随机数据模块与掉电捕获模块、地址加密模块、数据加密模块、数据解密模块相连,RAM存储器与地址加密模块、数据加密模块、数据解密模块相连。
第一种实现方式实现的支持掉电测试的RAM模块有如下特征:当掉电输入信号有效时,支持掉电测试的RAM模块的通过选择模块对地址输入信号、数据输入信号、数据输出信号进行数据取反,实现RAM中存储的数据读出发生随机变化;控制RAM存储器连接地址输入信号不变,只是同时取反数据输入信号、数据输出信号,实现RAM中存储的数据读出按位取反的功能,方便分析和定位由于RAM数据未初始化而直接使用引起的问题。
第二种实现方式实现的支持掉电测试的RAM模块有如下特征:将第一种实现方式中的地址取反、数据取反、选择模块替换为地址加密模块、数据加密模块、数据解密模块、随机数据模块,利用随机数对地址输入信号、数据输入信号、数据输出信号进行加解密,保证RAM数据在掉电输入信号有效时,读出的数据有更好的随机性。
附图说明
图1是一种支持RAM测试的仿真器的结构示意图;
图2是本发明仿真器中“支持掉电测试的RAM模块”第一种实现方式的结构示意图;
图3是本发明仿真器中“支持掉电测试的RAM模块”第二种实现方式的结构示意图。
具体实施方式:
如附图1所示,本发明的仿真器1包括:芯片功能调试模块2、芯片功能模块3、掉电产生模块7、支持掉电测试的RAM模块8共4部分。其中芯片功能模块3中包括:芯片上电模块4、RAM关电模块5、RAM测试模块6。芯片上电模块4检测到芯片功能模块3上电后,输出有效的RAM上电信号;RAM关电模块5检测到芯片功能模块3对RAM关电操作时,输出有效的RAM关电信号;RAM测试模块6检测到芯片功能模块3对RAM测试操作时,输出有效的RAM测试信号。RAM上电信号、RAM关电信号、RAM测试信号都连接到掉电产生模块7,其中任何一个信号有效时,掉电产生模块7都会输出有效的掉电输入信号。支持掉电测试的RAM模块8根据掉电输入信号来修改地址输出信号、数据输出信号以及数据输出信号的加解密方式,从而实现芯片功能模块3在上电操作,或是RAM关电操作,或是RAM测试操作后,RAM存储器中原有的数据读出时发生改变的功能。
如附图2所示,第一种实现方式实现的支持掉电测试的RAM模块8,包括掉电捕获模块11、一个地址选择模块12和一个地址取反单元、两个数据选择模块13和两个数据取反单元、RAM存储器10。掉电捕获模块11根据掉电输入信号产生地址切换信号和数据切换信号;支持配置地址切换信号固定不变,从而实现访问RAM存储器10地址在掉电输入信号变化时地址保持不变,数据读出后按位取反的功能;数据切换信号同时改变两个选择模块13的输入信号,保证写入的数据读出后正确。数据切换信号与掉电输入信号同步变化,只要掉电输入信号发生变化,RAM存储器10原有的数据即发生改变。
如附图3所示,第二种实现方式实现的支持掉电测试的RAM模块8,包括掉电捕获模块21、随机数据模块22、地址加密模块23、数据加密模块24、数据解密模块25、RAM存储器20。掉电捕获模块21根据掉电输入信号产生有效的随机数更新信号,当随机数更新信号有效时,随机数据模块22产生的地址随机密钥和数据随机密钥同时改变。对RAM存储器20操作时,RAM存储器20的地址信号为地址输入信号用地址随机密钥加密后的值,数据信号为数据输入信号用数据随机密钥加密后的值,读到的RAM存储器20的数据输出信号为RAM输出数据用数据随机密钥解密后的值,由于地址随机密钥和数据随机密钥的改变,RAM存储器20中原有的数据读出发生变化,新写入的数据按新的加密方式写入,并在下次掉电输入信号发生变化时改变。
Claims (6)
1.一种支持RAM测试的仿真器,其特征在于,仿真器中增加掉电产生模块(7),将仿真器中的RAM模块替换为支持掉电测试的RAM模块(8),所述的仿真器包括芯片功能调试模块(2)、芯片功能模块(3)、掉电产生模块(7)和支持掉电测试的RAM模块(8);其中,芯片功能调试模块(2)连接到芯片功能模块(3)实现对芯片功能模块(3)的功能进行调试;芯片功能模块(3)通过控制输入信号、地址输入信号、数据输入信号、数据输出信号连接支持掉电测试的RAM模块(8);掉电产生模块(7)连接到芯片功能模块(3),掉电产生模块(7)通过掉电输入信号连接到支持掉电测试的RAM模块(8);掉电产生模块(7)检测芯片功能模块(3)的输出信号并产生掉电输入信号,支持掉电测试的RAM模块(8)依据掉电输入信号的变化,通过改地址输入信号、数据输入信号、数据输出信号加解密方式,来改变数据输出信号的数值,实现掉电输入信号变化后,支持掉电测试的RAM模块(8)中存储的数据读出发生改变的功能。
2.根据权利要求1所述的一种支持RAM测试的仿真器,其特征在于,所述的芯片功能模块(3)包括芯片上电模块(4)、RAM关电模块(5)、RAM测试模块(6),其中:
芯片上电模块(4),用于芯片功能模块(3)上电后,输出有效的RAM上电信号,指示产生了芯片上电操作;
RAM关电模块(5),用于芯片功能模块(3)对RAM关电操作后,输出有效的RAM关电信号,指示产生了RAM关电操作;
RAM测试模块(6),用于芯片功能模块(3)对RAM数据执行测试后,输出有效的RAM测试信号,指示产生了RAM测试操作;
芯片上电模块(4)输出的RAM上电信号、RAM关电模块(5)输出的RAM关电信号、RAM测试模块(6)输出的RAM测试信号分别连接到掉电产生模块(7)。
3.根据权利要求1所述的一种支持RAM测试的仿真器,其特征在于,所述的支持掉电测试的RAM模块(8)的实现方式一:支持掉电测试的RAM模块(8)包括掉电捕获模块、选择模块、地址取反、数据取反、RAM存储器5个模块,包括掉电输入信号、控制输入信号、地址输入信号、数据输入信号、数据输出信号5组接口信号;
其中各组件功能说明如下:
掉电捕获模块,依据掉电输入信号的变化产生地址切换信号和数据切换信号;
选择模块,根据地址切换信号改变RAM存储器的地址输入信号,根据数据切换信号改变RAM存储器的数据输入信号和数据输出信号;
地址取反,将地址输入信号按位取反;
数据取反,将数据输入信号、数据输出信号按位取反;
RAM存储器,芯片使用的RAM模块;
各组件连接关系如下:
选择模块输入端连接掉电捕获模块、地址取反、数据取反单元;地址输入信号和数据输入信号连接的选择单元输出端连接RAM存储器;数据输出信号连接的选择单元连接RAM存储器数据输出端。
4.根据权利要求1所述的 一种支持RAM测试的仿真器,其特征在于,所述的支持掉电测试的RAM模块(8)的实现方式一,当掉电输入信号有效时,支持掉电测试的RAM模块(8)的通过选择模块对地址输入信号、数据输入信号、数据输出信号进行数据取反,实现RAM中存储的数据读出发生变化;控制RAM存储器连接地址输入信号不变,只是同时取反数据输入信号和数据输出信号,实现RAM中存储的数据读出按位取反的功能。
5.根据权利要求1所述的一种支持RAM测试的仿真器,其特征在于,支持掉电测试的RAM模块(8)实现方式二:支持掉电测试的RAM模块(8)包括掉电捕获模块、随机数据模块、地址加密模块、数据加密模块、数据解密模块和RAM存储器6个模块,包括掉电输入信号、控制输入信号、地址输入信号、数据输入信号、数据输出信号5组接口信号;
其中各组件功能说明如下:
掉电捕获模块,根据掉电输入信号产生随机数更新信号;
随机数据模块,根据随机数更新信号更新随机数,产生地址随机密钥输出到地址加密模块,产生数据随机密钥输出到数据加密模块和数据解密模块;
地址加密模块,将地址输入信号用地址随机密钥进行加密操作后输出地址给RAM存储器;
数据加密模块,将数据输入信号用数据随机密钥进行加密操作后输出数据给RAM存储器;
数据解密模块,将RAM存储器输出的数据用数据随机密钥进行解密操作后产生数据输出信号;
RAM存储器,芯片使用的RAM模块;
各组件连接关系如下:
随机数据模块与掉电捕获模块、地址加密模块、数据加密模块、数据解密模块相连,RAM存储器与地址加密模块、数据加密模块、数据解密模块相连。
6.根据权利要求1所述的一种支持RAM测试的仿真器,其特征在于,所述的支持掉电测试的RAM模块(8)的实现方式二与第一种实现方式相比,是将第一种实现方式中的地址取反、数据取反、选择模块替换为地址加密模块、数据加密模块、数据解密模块、随机数据模块,利用随机数对地址输入信号、数据输入信号、数据输出信号进行加解密,保证RAM数据在掉电输入信号有效时,读出的数据有更好的随机性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810665136.2A CN109101386B (zh) | 2018-06-26 | 2018-06-26 | 一种支持ram测试的仿真器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810665136.2A CN109101386B (zh) | 2018-06-26 | 2018-06-26 | 一种支持ram测试的仿真器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109101386A CN109101386A (zh) | 2018-12-28 |
CN109101386B true CN109101386B (zh) | 2021-11-09 |
Family
ID=64844998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810665136.2A Active CN109101386B (zh) | 2018-06-26 | 2018-06-26 | 一种支持ram测试的仿真器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109101386B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111046444A (zh) * | 2019-12-06 | 2020-04-21 | 合肥市卓怡恒通信息安全有限公司 | 基于国产芯片平台的存储加密系统及其模式切换方法和计算机 |
CN111597699A (zh) * | 2020-05-09 | 2020-08-28 | 北京中电华大电子设计有限责任公司 | 一种支持掉电数据随机化的flash仿真器 |
CN111865574A (zh) * | 2020-06-22 | 2020-10-30 | 北京智芯微电子科技有限公司 | 支持数据安全传输的cpu芯片仿真器及数据安全传输方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8364735B2 (en) * | 2007-10-17 | 2013-01-29 | Kabushiki Kaisha Toshiba | Test method of integrated circuit with random-number generation circuit and integrated circuit with random-number generation circuit |
CN105721139A (zh) * | 2014-12-05 | 2016-06-29 | 上海航天有线电厂有限公司 | 一种适用于有限io资源的fpga的aes加解密方法及电路 |
CN106610862A (zh) * | 2015-10-21 | 2017-05-03 | 上海华虹集成电路有限责任公司 | 支持eeprom掉电测试的仿真器 |
CN107544909A (zh) * | 2017-09-26 | 2018-01-05 | 上海市信息网络有限公司 | 一种处理器芯片仿真器 |
CN107590402A (zh) * | 2017-09-26 | 2018-01-16 | 杭州中天微系统有限公司 | 一种存储数据加解密装置及方法 |
-
2018
- 2018-06-26 CN CN201810665136.2A patent/CN109101386B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8364735B2 (en) * | 2007-10-17 | 2013-01-29 | Kabushiki Kaisha Toshiba | Test method of integrated circuit with random-number generation circuit and integrated circuit with random-number generation circuit |
CN105721139A (zh) * | 2014-12-05 | 2016-06-29 | 上海航天有线电厂有限公司 | 一种适用于有限io资源的fpga的aes加解密方法及电路 |
CN106610862A (zh) * | 2015-10-21 | 2017-05-03 | 上海华虹集成电路有限责任公司 | 支持eeprom掉电测试的仿真器 |
CN107544909A (zh) * | 2017-09-26 | 2018-01-05 | 上海市信息网络有限公司 | 一种处理器芯片仿真器 |
CN107590402A (zh) * | 2017-09-26 | 2018-01-16 | 杭州中天微系统有限公司 | 一种存储数据加解密装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109101386A (zh) | 2018-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11047907B2 (en) | Cycle accurate and cycle reproducible memory for an FPGA based hardware accelerator | |
CN105738854B (zh) | 智能电表嵌入式应用的模拟存储器测试板系统及测试方法 | |
CN109101386B (zh) | 一种支持ram测试的仿真器 | |
US8108729B2 (en) | Memory-based trigger generation scheme in an emulation environment | |
US8947954B2 (en) | Random access memory for use in an emulation environment | |
JP2014120155A (ja) | 単一のフィールド・プログラマブル・ゲート・アレイ(fpga)のキャパシティを超過するエンベデッド・プロセッサのデザインのタイミング及びソフトウェアデバッグ用検証モジュール装置 | |
CN112257358B (zh) | 一种动态功耗精确分析方法及装置 | |
JP5236908B2 (ja) | エミュレーションシステム | |
US20080288719A1 (en) | Memory Tracing in an Emulation Environment | |
WO2016184170A1 (zh) | Smi接口器件的调试装置及方法、存储介质 | |
US9513984B2 (en) | Hardware signal logging in embedded block random access memory | |
CN107978338B (zh) | 一种测试信号产生方法及装置 | |
CN107632950B (zh) | 处理器芯片仿真器 | |
US6973405B1 (en) | Programmable interactive verification agent | |
Che | FPGA-based memory test system design and test algorithm implementation | |
CN113177388B (zh) | 用于ip核测试与验证的装置、系统及方法 | |
CN107544909B (zh) | 一种处理器芯片仿真器 | |
CN212782027U (zh) | 一种支持掉电数据随机化的flash仿真器 | |
CN107729271B (zh) | 具备自测试功能的双总线型e-flash控制电路 | |
CN111597699A (zh) | 一种支持掉电数据随机化的flash仿真器 | |
Li et al. | A SPI FLASH-based FPGA dynamic reconfiguration method | |
CN217279559U (zh) | 一种支持程序固化的仿真器 | |
KR100511893B1 (ko) | 칩 테스트 회로 | |
Yu et al. | Simulation SPI+ FLASH system based on FPGA | |
Vignesh et al. | Verification of Universal Memory Controller with Memory using System Verilog |
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 |