CN107451025A - 控制存储芯片的测试方法及系统 - Google Patents
控制存储芯片的测试方法及系统 Download PDFInfo
- Publication number
- CN107451025A CN107451025A CN201710818840.2A CN201710818840A CN107451025A CN 107451025 A CN107451025 A CN 107451025A CN 201710818840 A CN201710818840 A CN 201710818840A CN 107451025 A CN107451025 A CN 107451025A
- Authority
- CN
- China
- Prior art keywords
- data
- address
- module
- bus
- control module
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 171
- 238000012360 testing method Methods 0.000 title claims abstract description 79
- 238000000034 method Methods 0.000 title description 32
- 238000004088 simulation Methods 0.000 claims abstract description 127
- 238000010998 test method Methods 0.000 claims abstract description 11
- 238000007726 management method Methods 0.000 claims description 59
- 238000013500 data storage Methods 0.000 claims description 21
- 238000012795 verification Methods 0.000 abstract description 8
- 238000013461 design Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 7
- 230000007547 defect Effects 0.000 description 6
- 230000003068 static effect Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000005039 memory span Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000000465 moulding Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
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/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
-
- 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
Abstract
本发明公开了一种控制存储芯片的测试方法及系统,包括:CPU通过系统总线将第一地址和第一数据预存在接口仿真加速器中;接口仿真加速器通过数据总线将第一地址和第一数据发送给存储接口控制模块;存储接口控制模块将第一数据写入存储芯片中与第一地址对应的存储单元内;接口仿真加速器通过数据总线读取第一地址存储的数据,得到第二数据;CPU从接口仿真加速器获取第二数据,并判断第二数据和第一数据是否相同,若相同,则通过测试。本发明公开的技术方案通过结合硬件测试的速度与软件仿真测试的灵活可控,创造性的设计接口仿真加速器,通过此接口仿真加速器,完成对存储器接口控制模块的全面快速验证。
Description
技术领域
本发明实施例涉及非易失性存储器技术领域,尤其涉及一种控制存储芯片的测试方法及系统。
背景技术
存储接口控制模块是用来连接CPU或其他设备与存储芯片的接口控制管理模块。此模块主要是用来协调来自指令总线和数据总线的读写命令,使之合理实施到存储芯片上。随着存储器容量越来越大,全面快速的验证存储器的接口控制单元,一直是业界的一个难点。
现有技术中,对于存储接口控制模块的验证仿真工作大致分为两种。一种是通过软件仿真工具测试,仿真速度只有几赫兹,面对存储芯片中指数增加的测试向量,已经不可能完全覆盖所有测试向量。另外一种是通过CPU实际的应用程序使用存储器的方式去测试接口读写是否正确,即在FPGA芯片中搭建CPU通过系统总线、指令总线和数据总线与存储接口控制模块相连的硬件结构,测试存储接口控制模块对于存储芯片的读写过程。这种方式是通过CPU在执行具体的应用程序时,实际使用指令和数据总线访问存储器的方式,检查存储接口控制模块。这种方式,由于CPU内部处理指令的逻辑比较复杂,对存储器接口控制模块的访问无法精细控制,无法准确预测,因此无法保证测试的完整性。
发明内容
有鉴于此,本发明实施例提供了一种控制存储芯片的测试方法及系统,以完成对存储器接口控制模块控制存储芯片的全面快速验证。
第一方面,本发明实施例提供了一种存储接口控制模块控制存储芯片的测试方法,包括:
CPU通过系统总线将第一地址和第一数据预存在接口仿真加速器中;
所述接口仿真加速器通过数据总线将所述第一地址和所述第一数据发送给存储接口控制模块;
所述存储接口控制模块根据所述第一地址和所述第一数据,将所述第一数据写入存储芯片中与所述第一地址对应的存储单元内;
所述接口仿真加速器通过数据总线读取所述第一地址存储的数据,得到第二数据,并将所述第二数据通过所述数据总线发送给所述接口仿真加速器;
所述CPU从所述接口仿真加速器获取所述第二数据,并判断所述第二数据和所述第一数据是否相同,若相同,则通过所述测试。
可选的,所述接口仿真加速器包括预存存储模块、寄存器配置单元、数据总线主机接口控制模块以及数据总线读取存储模块;
所述CPU通过系统总线将第一地址和第一数据预存在接口仿真加速器中具体包括:
所述CPU将所述第一数据预存在所述预存存储模块中,将第一地址设置到寄存器配置单元中;
所述接口仿真加速器通过数据总线将所述第一地址和所述第一数据发送给存储接口控制模块具体包括:
所述寄存器配置单元根据接收到的写入所述第一数据的命令控制数据总线主机接口控制模块,将所述第一地址和所述第一数据发送给存储接口控制模块;
所述接口仿真加速器通过数据总线将读取所述第一地址存储的数据,得到第二数据,并将所述第二数据通过所述数据总线发送给所述接口仿真加速器具体包括:
所述寄存器配置单元根据接收到的读取所述第一地址存储的数据的命令控制所述数据总线主机接口控制模块,将所述第一地址发送给所述存储接口控制模块;
所述存储接口控制模块通过所述数据总线读取所述存储芯片所述第一地址对应的存储单元存储的数据,得到第二数据,并将所述第二数据存储在所述数据总线读取存储模块中;
所述CPU从所述接口仿真加速器获取所述第二数据具体包括:
所述CPU从所述数据总线读取存储模块中获取所述第二数据。
可选的,在所述存储接口控制模块根据所述第一地址和所述第一数据,将所述第一数据写入存储芯片中与所述第一地址对应的存储单元内步骤之后,还包括:
所述接口仿真加速器通过指令总线读取所述第一地址存储的数据,得到第三数据,并将所述第三数据通过所述指令总线发送给所述接口仿真加速器;
所述CPU从所述接口仿真加速器获取所述第三数据,并判断所述第三数据和所述第一数据是否相同,若相同,则通过所述测试。
可选的,所述接口仿真加速器包括指令总线主机接口控制模块以及指令总线读取存储模块;
所述接口仿真加速器通过指令总线读取所述第一地址存储的数据,得到第三数据,并将所述第三数据通过所述指令总线发送给所述接口仿真加速器具体包括:
所述寄存器配置单元根据接收到的读取所述第一地址存储的数据命令控制所述指令总线主机接口控制模块将所述第一地址和读取所述存储芯片内所述第一地址对应的存储单元的指令发送给所述存储接口控制模块;
所述存储接口控制模块通过所述指令总线读取所述存储芯片内所述第一地址对应的存储单元的内容,得到第三数据,并将所述第三数据存储在所述指令总线读取存储模块中;
所述CPU从所述接口仿真加速器获取所述第三数据具体包括:
所述CPU从所述指令总线读取存储模块中获取所述第三数据。
可选的,所述接口仿真加速器还包括数据总线写缓存模块、数据总线读取缓存模块、指令总线读取缓存模块和读写管理模块;
所述寄存器配置单元根据接收到的写入所述第一数据的命令控制数据总线主机接口控制模块,将所述第一地址和所述第一数据发送给存储接口控制模块具体包括:
所述读写管理模块控制所述预存存储模块中将所述第一地址和所述第一数据发送给所述数据总线写缓存模块;
所述数据总线写缓存模块将所述第一数据发送给所述数据总线主机接口控制模块;
所述数据总线主机接口控制模块将所述第一数据发送给所述存储接口控制模块;
所述存储接口控制模块读取所述存储芯片所述第一地址对应的存储单元存储的数据,得到第二数据,并将所述第二数据存储在所述数据总线读取存储模块中具体包括:
所述存储接口控制模块读取所述存储芯片所述第一地址对应的存储单元存储的数据,得到第二数据;
所述存储接口控制模块将所述第二数据发送给所述数据总线主机接口控制模块;
所述数据总线主机接口控制模块将接收到的所述第二数据发送给所述数据总线读取缓存模块;
所述数据总线读取缓存模块快速保存所述第二数据,等待所述读写管理模块读取;
所述读写管理模块从所述数据总线读取缓存模块读取所述第二数据并按顺序存储在所述数据总线读取存储模块中;
所述存储接口控制模块读取所述存储芯片内所述第一地址对应的存储单元的内容,得到第三数据,并将所述第三数据存储在所述指令总线读取存储模块中具体包括:
所述存储接口控制模块读取所述存储芯片内所述第一地址对应的存储单元的内容,得到第三数据;
所述存储接口控制模块将所述第三数据发送给所述指令总线主机接口控制模块;
所述指令总线主机接口控制模块将接收到的所述第三数据发送给所述指令总线读取缓存模块;
所述指令总线读取缓存模块快速保存所述第三数据,等待所述读写管理模块读取;
所述读写管理模块从所述指令总线读取缓存模块读取所述第三数据并按顺序存储在所述指令总线读取存储模块中。
第二方面,本发明实施例提供了一种控制存储芯片的测试系统,包括:
集成电路芯片和存储芯片;
所述集成电路芯片包括CPU、接口仿真加速器和存储接口控制模块;
所述CPU与所述接口仿真加速器通过系统总线相连,用于通过所述系统总线将第一地址和第一数据预存在所述接口仿真加速器中;
所述接口仿真加速器与所述存储接口控制模块通过数据总线相连,用于通过所述数据总线将所述第一地址和所述第一数据发送给所述存储接口控制模块;
所述存储接口控制模块与所述存储芯片通过I/O接口相连,用于根据所述第一地址和所述第一数据,将所述第一数据写入所述存储芯片中与所述第一地址对应的存储单元内;
所述接口仿真加速器还用于通过所述数据总线读取所述第一地址存储的数据,得到第二数据,并将所述第二数据通过所述数据总线发送给所述接口仿真加速器;
所述CPU还用于从所述接口仿真加速器获取所述第二数据,并判断所述第二数据和所述第一数据是否相同,若相同,则通过所述测试。
可选的,所述接口仿真加速器包括预存存储模块、寄存器配置单元、数据总线主机接口控制模块以及数据总线读取存储模块;
所述CPU与所述预存存储模块通过所述系统总线相连,所述CPU用于将所述第一数据预存在所述预存存储模块中;
所述寄存器配置单元与所述数据总线主机接口控制模块相连,用于根据接收到的写入所述第一数据的命令控制所述数据总线主机接口控制模块,将所述第一地址和所述第一数据发送给所述存储接口控制模块,所述数据总线主机接口控制模块通过所述数据总线与所述存储接口控制模块相连;
所述寄存器配置单元还用于根据接收到的读取所述第一地址存储的数据的命令控制所述数据总线主机接口控制模块,将所述第一地址发送给所述存储接口控制模块;
所述存储接口控制模块用于通过所述数据总线读取所述存储芯片所述第一地址对应的存储单元存储的数据,得到第二数据,并将所述第二数据存储在所述数据总线读取存储模块中;
所述CPU与所述数据总线读取存储模块通过所述系统总线相连,用于从所述数据总线读取存储模块中获取所述第二数据。
可选的,所述接口仿真加速器还用于通过指令总线读取所述第一地址存储的数据,得到第三数据,并将所述第三数据通过所述指令总线发送给所述接口仿真加速器;
所述CPU还用于从所述接口仿真加速器获取所述第三数据,并判断所述第三数据和所述第一数据是否相同,若相同,则通过所述测试。
可选的,所述接口仿真加速器包括指令总线主机接口控制模块以及指令总线读取存储模块;
所述寄存器配置单元与所述指令总线主机接口控制模块相连,用于根据接收到的读取所述第一地址存储的数据命令控制所述指令总线主机接口控制模块将所述第一地址和读取所述存储芯片内所述第一地址对应的存储单元的指令发送给所述存储接口控制模块,所述存储接口控制模块与所述指令总线主机接口控制模块通过所述指令总线相连;
所述存储接口控制模块还用于通过所述指令总线读取所述存储芯片内所述第一地址对应的存储单元的内容,得到第三数据,并将所述第三数据存储在所述指令总线读取存储模块中,所述指令总线读取存储模块与所述存储接口控制模块相连;
所述CPU与所述指令总线读取存储模块通过所述系统总线相连,用于从所述指令总线读取存储模块中获取所述第三数据。
可选的,所述接口仿真加速器还包括数据总线写缓存模块、数据总线读取缓存模块、指令总线读取缓存模块和读写管理模块,所述读写管理模块与所述寄存器配置单元相连;
所述读写管理模块用于控制所述预存存储模块中将所述第一地址和所述第一数据发送给所述数据总线写缓存模块,所述数据总线写缓存模块与所述读写管理模块相连;
所述数据总线写缓存模块用于将所述第一数据发送给所述数据总线主机接口控制模块,所述数据总线写缓存模块与所述数据总线主机接口控制模块相连;
所述数据总线主机接口控制模块用于将所述第一数据发送给所述存储接口控制模块;
所述存储接口控制模块用于读取所述存储芯片所述第一地址对应的存储单元存储的数据,得到第二数据;
所述存储接口控制模块用于将所述第二数据发送给所述数据总线主机接口控制模块;
所述数据总线主机接口控制模块用于将接收到的所述第二数据发送给所述数据总线读取缓存模块,所述数据总线读取缓存模块与所述数据总线主机接口控制模块相连;
所述数据总线读缓存模块快速保存所述第二数据,等待所述读写管理模块读取,所述数据总线读取缓存模块与所述读写管理模块相连;
所述读写管理模块用于从所述数据总线读取缓存模块读取所述第二数据并按顺序存储在所述数据总线读取存储模块中,所述读写管理模块与所述数据总线读取存储模块相连;
所述存储接口控制模块用于读取所述存储芯片内所述第一地址对应的存储单元的内容,得到第三数据;
所述存储接口控制模块用于将所述第三数据发送给所述指令总线主机接口控制模块;
所述指令总线主机接口控制模块用于将接收到的所述第三数据发送给所述指令总线读缓存模块,所述指令总线读取缓存模块与所述指令总线主机接口控制模块相连;
所述指令总线读缓存模块用于快速保存所述第三数据,等待所述读写管理模块读取,所述读写管理模块与所述指令总线读取缓存模块相连;
所述读写管理模块用于从所述指令总线读取缓存模块读取所述第三数据并按顺序存储在所述指令总线读取存储模块中,所述指令总线读取存储模块与所述读写管理模块相连。
本实施例的技术方案模拟了CPU通过数据总线和指令总线访问存储器的操作,实现了一种快速测试存储接口控制模块的硬件测试方法。通过配置接口仿真加速器内部的工作模式寄存器,可以通过数据总线向第一地址写入第一数据,以及后续的通过数据总线或指令总线读取第一地址并将读到的第二数据存储于接口仿真加速器内部。继而通过CPU读取第一数据和第二数据并进行比较。如果两者一致,证明此次测试通过。如果两者出现不同的情况,则需要对存储接口控制模块进行针对性的修改。本实施例通过FPGA模拟硬件电路CPU、接口仿真加速器以及存储接口控制模块,并通过配置接口仿真加速器的不同工作模式完成测试。相比现有技术,本发明克服了单纯使用EDA软件进行仿真,速度慢的缺陷。同时也克服了单纯使用硬件CPU,存储接口控制模块和存储芯片结构,因为无法精细灵活控制数据总线和指令总线的时序关系,造成测试不完整的缺陷。
附图说明
图1为本发明实施例一提供的一种控制存储芯片的测试方法的流程示意图;
图2为本发明实施例二提供的一种控制存储芯片的测试方法的流程示意图;
图3为本发明实施例三提供的一种控制存储芯片的测试方法的流程示意图;
图4为本发明实施例四提供的一种控制存储芯片的测试方法的流程示意图;
图5为本发明实施例五提供的一种控制存储芯片的测试方法的流程示意图;
图6为本发明实施例六提供的一种控制存储芯片的测试系统的示意图;
图7为本发明实施例六提供的又一种控制存储芯片的测试系统的示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例提供的一种控制存储芯片的测试方法的流程示意图,该方法可以由一种存储接口控制模块控制存储芯片的测试系统来执行,其中,该系统可由硬件和/或软件来实现,具体包括如下步骤:
步骤101、CPU通过系统总线将第一地址和第一数据预存在接口仿真加速器中。
在本实施例中,CPU示例性的,可以选择ARM处理器(Acorn RISC Machine)。ARM处理器是一个32位元精简指令集处理器架构,其广泛地使用在许多嵌入式系统设计。需要说明的是,CPU通过指令总线、系统总线和数据总线与总线系统相连,接口仿真加速器通过系统总线与总线系统相连,来实现接口仿真加速器与CPU相连。总线系统用来管理实现整个系统的总线,包括总线路由,地址解码,以及协议转化等功能。CPU通过数据总线、指令总线和系统总线分别执行不同的任务,这些任务是由ARM公司定义的。系统总线主要用来对模块的配置寄存器进行读写操作。指令总线是CPU用来读取指令的总线,只存在读操作。数据总线是CPU用来读写数据的总线,读写操作都会存在。
在本实施例中,接口仿真加速器与存储器控制模块之间通过指令总线和数据总线进行连接。接口仿真加速器内部可以通过各种配置,管理指令总线和数据总线的读写时间,读写地址。并对结果进行保存。
步骤102、接口仿真加速器通过数据总线将第一地址和第一数据发送给存储接口控制模块。
存储接口控制模块可以实现对存储芯片进行写入、读取和擦除的操作。接口仿真加速器通过数据总线可以向存储接口控制模块发送写入指令或者读取指令。此模块用来接收来自指令总线和数据总线的指令,为保证指令正确的访问存储芯片分配合理的时间。把接收到的指令翻译成存储芯片的接口命令,发送给存储芯片。
步骤103、存储接口控制模块根据第一地址和第一数据,将第一数据写入存储芯片中与第一地址对应的存储单元内。
存储芯片可以保存数据。存储芯片中的数据掉电不丢失,是微控制单元中的存储单元。在本实施例中,接口仿真加速器通过数据总线发送给存储接口控制模块的信息包括:将第一数据写入存储芯片中与第一地址对应的存储单元中。
步骤104、接口仿真加速器通过数据总线读取第一地址存储的数据,得到第二数据,并将第二数据通过数据总线发送给接口仿真加速器。
在本实施例中,接口仿真加速器通过数据总线发送给存储接口控制模块的信息包括:读取第一地址存储的数据,并且数据总线还可以将读取的数据反馈给接口仿真加速器。
步骤105、CPU从接口仿真加速器获取第二数据,并判断第二数据和第一数据是否相同,若相同,则通过测试。
CPU通过系统总线从接口仿真加速器获取第二数据。
需要说明的是,本实施例中的CPU、接口仿真加速器以及存储接口控制模块均是在现场可编程门阵列(Field-Programmable Gate Array,FPGA)中实现的。
现有技术中,存储接口控制模块通过I/O接口与存储芯片相连,用于控制存储芯片,对存储芯片进行写入数据、读取数据或者擦除数据等操作。在设计阶段,技术人员需要测试存储接口控制模块对于存储芯片的各种操作。相比现有技术,本发明利用FPGA模拟了CPU通过数据总线和指令总线访问存储器的操作,实现了一种快速测试存储接口控制模块的硬件测试方法。通过配置接口仿真加速器内部的工作模式寄存器,可以通过数据总线向第一地址写入第一数据,以及后续的通过数据总线或指令总线读取第一地址并将读到的第二数据存储于接口仿真加速器内部。继而通过CPU读取第一数据和第二数据并进行比较。如果两者一致,证明此次测试通过。如果两者出现不同的情况,则需要对存储接口控制模块进行针对性的修改。相比现有技术,本实施例通过FPGA模拟硬件电路CPU、接口仿真加速器以及存储接口控制模块,然后通过程序完成测试过程,克服可单纯使用仿真软件测试存储接口控制模块测试速度缓慢的缺陷,同时也克服了单纯使用硬件CPU、存储接口控制模块和存储芯片结构,因无法精细灵活的控制CPU数据总线和指令总线命令的内容和时序关系,造成测试不完整的缺陷,实现了通过此接口仿真加速器,测试存储接口控制模块是否可以正确接收指令,并正确发送给存储芯片,用以达到快速灵活可控的测试接口控制模块的目的,完成对存储器接口控制模块的全面快速验证。
实施例二
图2为本发明实施例提供的一种控制存储芯片的测试方法的流程示意图。本实施例在上述实施例的基础上,进一步细化了接口仿真加速器,接口仿真加速器包括预存存储模块、寄存器配置单元、数据总线主机接口控制模块以及数据总线读取存储模块,如图2所示,该方法具体包括如下步骤:
步骤201、CPU将第一数据预存在预存存储模块中,将第一地址设置到寄存器配置单元中。
预存存储模块示例性的为静态随机存取存储器(Static Random Access Memory,SRAM),它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据。SRAM的优点是较高的性能、功耗低。
步骤202、寄存器配置单元根据接收到的写入第一数据的命令控制数据总线主机接口控制模块,将第一地址和第一数据发送给存储接口控制模块。
寄存器配置单元可以接收来自系统总线的命令,配置相应的寄存器。此配置决定了接口仿真加速器的运行方式。例如指令总线使能,数据总线读使能,数据总线写使能等。
步骤203、存储接口控制模块根据第一地址和第一数据,将第一数据写入存储芯片中与第一地址对应的存储单元内。
步骤204、寄存器配置单元根据接收到的读取第一地址存储的数据的命令控制数据总线主机接口控制模块,将第一地址发送给存储接口控制模块。
步骤205、存储接口控制模块通过数据总线读取存储芯片第一地址对应的存储单元存储的数据,得到第二数据,并将第二数据存储在数据总线读取存储模块中。
步骤206、CPU从数据总线读取存储模块中获取第二数据,并判断第二数据和第一数据是否相同,若相同,则通过测试。
本实施例在上述实施例的基础上,进一步细化了接口仿真加速器,接口仿真加速器包括预存存储模块、寄存器配置单元、数据总线主机接口控制模块以及数据总线读取存储模块,以达到快速灵活可控的测试接口控制模块的目的,完成对存储器接口控制模块的全面快速验证。
实施例三
图3为本发明实施例提供的一种控制存储芯片的测试方法的流程示意图。本实施例在上述实施例的基础上,在所述存储接口控制模块根据所述第一地址和所述第一数据,将所述第一数据写入存储芯片中与所述第一地址对应的存储单元内步骤之后,还包括接口仿真加速器通过指令总线与存储接口控制模块之间的传输过程。如图3所示,该方法包括如下步骤:
步骤301、CPU将第一数据预存在预存存储模块中,将第一地址设置到寄存器配置单元中。
步骤302、寄存器配置单元根据接收到的写入第一数据的命令控制数据总线主机接口控制模块,将第一地址和第一数据发送给存储接口控制模块。
步骤303、存储接口控制模块根据第一地址和第一数据,将第一数据写入存储芯片中与第一地址对应的存储单元内。
步骤304、接口仿真加速器通过指令总线读取第一地址存储的数据,得到第三数据,并将第三数据通过指令总线发送给接口仿真加速器。
步骤305、CPU从接口仿真加速器获取第三数据,并判断第三数据和第一数据是否相同,若相同,则通过测试。
步骤306、寄存器配置单元根据接收到的读取第一地址存储的数据的命令控制数据总线主机接口控制模块,将第一地址发送给存储接口控制模块。
步骤307、存储接口控制模块通过数据总线读取存储芯片第一地址对应的存储单元存储的数据,得到第二数据,并将第二数据存储在数据总线读取存储模块中。
步骤308、CPU从数据总线读取存储模块中获取第二数据,并判断第二数据和第一数据是否相同,若相同,则通过测试。
需要说明的是,本实施例中,可以把骤304和步骤305定义为序列1;把步骤306、步骤307和步骤308定义为序列2。两个序列内的各个步骤可以顺序执行。而序列1和2可以任意顺序执行,即可以先执行序列1,在执行序列2;也可以先执行序列2在执行序列1;同时也可以两个序列同时执行。
示例性的,通过寄存器配置单元可以控制数据总线和指令总线的时序关系。
第一地址可以为一个或多个地址,也可以为一个或多个地址域。第一数据即是对应于第一地址的数据。第一地址有多少个地址,第一数据中即包含多少个32bit的数据。
指令总线和数据总线是分别操作的,两者之间没有必然的联系。但是指令总线和数据总线可能会同时访问同一个地址,也可能会同时访问不同的地址。同时访问的场景在实际使用时会偶尔发生。为了测试这种比较极端的场景,本发明可以通过寄存器配置单元配置相应工作模式,多次重复这种测试,以达到功能覆盖的目的。
示例一:通过寄存器配置单元控制指令总线主机接口控制模块向存储接口控制模块发送读指令,与此同时,通过数据总线主机接口控制模块向存储接口控制模块发出读指令。对于地址,可以配置成相同地址,也可以配置成不同地址。
示例二:通过寄存器配置单元按顺序控制指令总线主机接口控制模块向存储接口控制模块发送读指令,通过数据总线主机接口控制模块向存储接口控制模块发出读指令。
示例三:通过寄存器配置单元控制指令总线主机接口控制模块向存储接口控制模块发送读指令,通过数据总线主机接口控制模块向存储接口控制模块发出写指令。
示例四:通过寄存器配置单元控制指令总线主机接口控制模块向存储接口控制模块发送读指令,通过数据总线主机接口控制模块向存储接口控制模块发出写指令以及读指令。指令总线读取,数据总线写入读取交替出现。此种情况是为了测试写入数据后马上读取的情况。
本实施例在上述实施例的基础上,在所述存储接口控制模块根据所述第一地址和所述第一数据,将所述第一数据写入存储芯片中与所述第一地址对应的存储单元内步骤之后,还包括接口仿真加速器通过指令总线与存储接口控制模块之间的传输过程。可以验证数据总线和指令总线之间多种时序的测试过程。
实施例四
图4为本发明实施例提供的一种控制存储芯片的测试方法的流程示意图。本实施例在上述实施例的基础上,接口仿真加速器包括指令总线主机接口控制模块以及指令总线读取存储模块。如图4所示,该方法包括如下步骤:
步骤401、CPU将第一数据预存在预存存储模块中,将第一地址设置到寄存器配置单元中;
步骤402、寄存器配置单元根据接收到的写入第一数据的命令控制数据总线主机接口控制模块,将第一地址和第一数据发送给存储接口控制模块;
步骤403、存储接口控制模块根据第一地址和第一数据,将第一数据写入存储芯片中与第一地址对应的存储单元内。
步骤404、寄存器配置单元根据接收到的读取第一地址存储的数据命令控制指令总线主机接口控制模块将第一地址和读取存储芯片内第一地址对应的存储单元的指令发送给存储接口控制模块;
步骤405、存储接口控制模块通过指令总线读取存储芯片内第一地址对应的存储单元的内容,得到第三数据,并将第三数据存储在指令总线读取存储模块中;
步骤406、CPU从指令总线读取存储模块中获取第三数据,并判断第三数据和第一数据是否相同,若相同,则通过测试。
步骤407、寄存器配置单元根据接收到的读取第一地址存储的数据的命令控制数据总线主机接口控制模块,将第一地址发送给存储接口控制模块;
步骤408、存储接口控制模块通过数据总线读取存储芯片第一地址对应的存储单元存储的数据,得到第二数据,并将第二数据存储在数据总线读取存储模块中;
步骤409、CPU从数据总线读取存储模块中获取第二数据,并判断第二数据和第一数据是否相同,若相同,则通过测试。
需要说明的是,本实施例中,可以通过寄存器配置单元配置步骤401、402以及403记为序列3、步骤404、405以及406记为序列4,和步骤407、408以及409记为序列5,而序列3、4和5可以选择任意顺序执行,同时也可以三个序列或者任意两个序列同时执行。三个序列内的各个步骤可以顺序执行。。
本实施例在上述实施例的基础上,接口仿真加速器包括指令总线主机接口控制模块以及指令总线读取存储模块,以达到快速灵活可控的测试接口控制模块的目的,完成对存储器接口控制模块的全面快速验证。
实施例五
图5为本发明实施例提供的一种控制存储芯片的测试方法的流程示意图。本实施例在上述实施例的基础上,接口仿真加速器还包括数据总线写缓存模块、数据总线读取缓存模块、指令总线读取缓存模块和读写管理模块。如图5所示,该方法具体包括如下步骤:
步骤501、CPU将第一数据预存在预存存储模块中,将第一地址设置到寄存器配置单元中。
预存存储模块示例性的为静态随机存取存储器(Static Random Access Memory,SRAM)。
步骤502、读写管理模块控制预存存储模块中将第一数据发送给数据总线写缓存模块。
数据总线写缓存模块示例性的为FIFO(First In First Out)存储器,FIFO存储器是系统的缓冲环节,如果没有FIFO存储器,整个系统就可能工作不正常。在系统设计中,以增加数据传输率、处理大量数据流、匹配具有不同传输率的系统为目的而广泛使用FIFO存储器,从而提高了系统性能。FIFO存储器是一个先入先出的双口缓冲器,即第一个进入其内的数据第一个被移出,其中一个存储器的输入口,另一个口是存储器的输出口。对于单片FIFO来说,主要有两种结构:触发导向结构和零导向传输结构。触发导向传输结构的FIFO是由寄存器阵列构成的,零导向传输结构的FIFO是由具有读和写地址指针的双口RAM构成。
步骤503、数据总线写缓存模块将第一数据发送给数据总线主机接口控制模块。
步骤504、数据总线主机接口控制模块将第一数据发送给存储接口控制模块。
步骤505、存储接口控制模块根据第一地址和第一数据,将第一数据写入存储芯片中与第一地址对应的存储单元内。
步骤506、存储接口控制模块读取存储芯片第一地址对应的存储单元存储的数据,得到第二数据。
步骤507、存储接口控制模块得到数据总线读取命令后,将第二数据发送给数据总线主机接口控制模块。
步骤508、数据总线主机接口控制模块将接收到的第二数据发送给数据总线读取缓存模块。
数据总线读取缓存模块示例性的为FIFO(First In First Out)存储器。
步骤509、数据总线读取缓存模块快速保存第二数据,等待读写管理模块读取。
步骤510、读写管理模块从数据总线读取缓存模块读取第二数据并按顺序存储在数据总线读取存储模块中。
步骤511、存储接口控制模块读取存储芯片内第一地址对应的存储单元的内容,得到第三数据。
步骤512、存储接口控制模块得到指令总线读取指令后,将第三数据发送给指令总线主机接口控制模块。
步骤513、指令总线主机接口控制模块将接收到的第三数据发送给指令总线读取缓存模块。
指令总线读取缓存模块示例性的为FIFO(First In First Out)存储器。
步骤514、指令总线读取缓存模块快速保存第三数据,等待读写管理模块读取。
步骤515、读写管理模块从指令总线读取缓存模块读取第三数据并按顺序存储在指令总线读取存储模块中。
需要说明的是,在步骤515之后,还包括CPU从数据总线读取存储模块中获取第二数据,并判断第二数据和第一数据是否相同,CPU从指令总线读取存储模块中获取第三数据,并判断第三数据和第一数据是否相同,若所述第二数据和所述第一数据相同,且所述第三数据和第一数据相同,则通过测试。
示例性的,数据由指令总线主机接口控制模块从指令总线获取,发送给指令总线读取缓存模块,为了让主机接口带宽最大化,只要数据来,立刻存入指令总线读取缓存模块中,指令总线读取缓存模块的深度设置原则为保证不影响指令总线读取速度。指令总线读取缓存模块的另外一端是连接读写管理模块,此模块负责把数据从指令总线读取缓存模块中读取出来并存入指令总线读取存储模块。读取数据的原则为只要指令总线读取缓存模块为不空,即读取数据,直到指令总线读取缓存模块为空,且读取数据的速度要不小于写入速度,以保证指令总线读取缓存模块一直为不满的状态,这样指令总线主机接口控制器可以随时把数据写入指令总线读取缓存模块。指令总线读取存储模块被读写管理模块写入时,地址为顺序增加。
数据由数据总线主机接口控制模块的数据总线读取缓存模块、以及数据总线写缓存模块传输过程与上述原理类似。读写管理模块根据预先配置的第一地址读取数据,并写入数据总线写缓存模块中,当数据总线写缓存模块开始工作时,数据总线主机接口控制模块根据需求,从数据总线读取缓存模块取用数据,并通过数据总线写入存储芯片。
示例性的,本实施例中,数据被顺序写入数据总线读取存储模块或者指令总线读取存储模块中,写入数据总线读取存储模块或者指令总线读取存储模块的地址是各自顺序累加的,每次写入32BIT的数据位宽,地址每次自增加0x4。
第一数据被预存在预存存储模块的过程,以及第一地址和第一数据通过数据总线被写入存储芯片的过程示例性的可以参照如下过程。
第一数据会被预先设置在预存存储模块内,数据为随机数。第一地址会被预先在寄存器配置单元中设置,例如下列三段区域作为第一地址(第一地址可以为一个地址,也可以为一个或者几个地址段,此例中第一地址为三个地址段)
WRADD1:0x0000,WRLENG1:0x0010.
WRADD2:0x0030,WRLENG2:0x0016.
WRADD3:0x0050,WRLENG3:0x0020.
读写管理模块会先从预存存储模块中的WRADD1:0x0000开始读取0x10个数据,到数总线写缓存模块中,直到数总线写缓存模块为满为止。数据总线主机接口控制器会向数据总线发出写命令,写命令的数据会从数总线写缓存模块顺序取,写命令的第一个地址为WRADD1。第二个写命令的地址为WRADD1+0x4.直到达到WRLENG1的数量。开始进入WRADD2的操作阶段。地址变化方式同上。之后进入WRADD3的操作阶段,地址变化方式同上。
需要说明的是,本实施例中,可以通过寄存器配置单元配置步骤501~步骤505记为序列5,步骤506~步骤510记为序列6,步骤512~步骤515记为序列7,而序列5、6和7可以选择任意顺序执行,同时也可以三个序列或者任意两个序列同时执行。三个序列内的各个步骤可以顺序执行。
本实施例在上述实施例的基础上,接口仿真加速器还包括数据总线写缓存模块、数据总线读取缓存模块、指令总线读取缓存模块和读写管理模块,以达到快速灵活可控的测试接口控制模块的目的,完成对存储器接口控制模块的全面快速验证。
本发明实施例模拟了CPU通过数据总线和指令总线访问存储器的操作,实现了一种快速测试存储接口控制模块的硬件测试方法。通过配置接口仿真加速器内部的工作模式寄存器,可以通过数据总线向第一地址写入第一数据,以及后续的通过数据总线或指令总线读取第一地址并将读到的第二数据存储于接口仿真加速器内部。继而通过CPU读取第一数据和第二数据并进行比较。如果两者一致,证明此次测试通过。如果两者出现不同的情况,则需要对存储接口控制模块进行针对性的修改。
实施例六
图6所示为本发明实施例六提供的一种控制模块控制存储芯片的测试系统的示意图,如图6所示,该系统包括:
集成电路芯片1和存储芯片2;集成电路芯片包括CPU3、接口仿真加速器4和存储接口控制模块5;CPU 3与接口仿真加速器4通过系统总线相连,用于通过系统总线将第一地址和第一数据预存在接口仿真加速器4中;接口仿真加速器4与存储接口控制模块5通过数据总线相连,用于通过数据总线将第一地址和第一数据发送给存储接口控制模块5;存储接口控制模块5与存储芯片2通过I/O接口相连,用于根据第一地址和第一数据,将第一数据写入存储芯片2中与第一地址对应的存储单元内;接口仿真加速器4还用于通过数据总线读取第一地址存储的数据,得到第二数据,并将第二数据通过数据总线发送给接口仿真加速器4;CPU 3还用于从接口仿真加速器4获取第二数据,并判断第二数据和第一数据是否相同,若相同,则通过测试。
在本实施例中,集成电路芯片1示例性的为现场可编程门阵列(Field-Programmable Gate Array,FPGA),它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
本发明实施例通过集成电路芯片FPGA模拟CPU控制接口仿真加速器来实现存储接口控制模块对于存储芯片的数据写入操作以及读取操作。通过接口仿真加速器,将存储接口控制对于存储芯片第一地址的写入的第一数据以及后续通过数据总线读取第一地址存储的数据反馈给接口仿真加速器,CPU从接口仿真加速器中获取第一数据和后续读取的第二数据进行对比,如果第二数据和第一数据结构一致,那么证明测试没有问题。如果第二数据和第一数据出现不相同的情况,则需要技术人员对存储器接口控制模块过程进行针对性的修改。相比现有技术,本实施例通过FPGA实现硬件电路CPU、接口仿真加速器以及存储接口控制模块,然后通过程序完成测试过程,克服了单纯使用仿真软件模拟存储接口控制模块来实现测试而速度缓慢的缺陷,同时也克服了单纯使用硬件CPU、存储接口控制模块和存储芯片,因无法控制CPU数据总线和指令总线传输传送命令的时序以及内容,从而无法保证验证的完整性的缺陷,实现了通过此接口仿真加速器,完成对存储器接口控制模块的全面快速验证。
可选的,在上述技术方案的基础上,参见图6和图7,接口仿真加速器4包括预存存储模块6、寄存器配置单元7、数据总线主机接口控制模块8以及数据总线读取存储模块9;
CPU 3与预存存储模块6通过系统总线相连,CPU 3用于将第一数据预存在预存存储模块6中;
寄存器配置单元7与数据总线主机接口控制模块8相连,用于根据接收到的写入第一数据的命令控制数据总线主机接口控制模块8,将第一地址和第一数据发送给存储接口控制模块5,数据总线主机接口控制模块8通过数据总线与存储接口控制模块5相连;
寄存器配置单元7还用于根据接收到的读取第一地址存储的数据的命令控制数据总线主机接口控制模块8,将第一地址发送给存储接口控制模块5;
存储接口控制模块5用于通过所述数据总线读取存储芯片2第一地址对应的存储单元存储的数据,得到第二数据,并将第二数据存储在数据总线读取存储模块9中;
CPU 3与数据总线读取存储模块9通过系统总线相连,用于从数据总线读取存储模块9中获取第二数据。
可选的,接口仿真加速器4还用于通过指令总线读取第一地址存储的数据,得到第三数据,并将第三数据通过指令总线发送给接口仿真加速器4;
CPU 3还用于从接口仿真加速器4获取第三数据,并判断第三数据和第一数据是否相同,若相同,则通过测试。
可选的,接口仿真加速器4包括指令总线主机接口控制模块10以及指令总线读取存储模块11;
寄存器配置单元7与指令总线主机接口控制模块10相连,用于根据接收到的读取第一地址存储的数据命令控制指令总线主机接口控制模块10将第一地址和读取存储芯片2内第一地址对应的存储单元的指令发送给存储接口控制模块5,存储接口控制模块5与指令总线主机接口控制模块10通过指令总线相连;
存储接口控制模块5还用于通过所述指令总线读取存储芯片2内第一地址对应的存储单元的内容,得到第三数据,并将第三数据存储在指令总线读取存储模块中,指令总线读取存储模块11与存储接口控制模块5相连;
CPU 3与指令总线读取存储模块11通过系统总线相连,用于从指令总线读取存储模块11中获取第三数据。
可选的,接口仿真加速器4还包括数据总线写缓存模块12、数据总线读取缓存模块13、指令总线读取缓存模块14和读写管理模块15;
读写管理模块15用于控制预存存储模块6中将第一数据发送给数据总线写缓存模块12,数据总线写缓存模块12与读写管理模块15相连;
数据总线写缓存模块12用于将第一数据发送给数据总线主机接口控制模块8,数据总线写缓存模块12与数据总线主机接口控制模块8相连;
数据总线主机接口控制模块8用于将第一地址和第一数据发送给存储接口控制模块5;
存储接口控制模块5用于读取存储芯片2第一地址对应的存储单元存储的数据,得到第二数据;
存储接口控制模块5用于将第二数据发送给数据总线主机接口控制模块8;
数据总线主机接口控制模块8用于将接收到的第二数据发送给数据总线读取缓存模块14,数据总线读取缓存模块13与数据总线主机接口控制模块8相连;
数据总线读取缓存模块13用于快速保存第二数据,等待读写管理模块15读取,数据总线读取缓存模块13与读写管理模块15相连;
读写管理模块15用于从所述数据总线读取缓存模块读取所述第二数据并按顺序存储在数据总线读取存储模块9中,读写管理模块15与数据总线读取存储模块9相连;
存储接口控制模块5用于读取存储芯片2内第一地址对应的存储单元的内容,得到第三数据;
存储接口控制模块5用于将第三数据发送给指令总线主机接口控制模块10;
指令总线主机接口控制模块10用于将接收到的第三数据发送给指令总线读取缓存模块14,指令总线读取缓存模块14与指令总线主机接口控制模块10相连;
指令总线读取缓存模块14用于快速保存第三数据,等待读写管理模块15读取,读写管理模块15与指令总线读取缓存模块14相连;
读写管理模块15用于从所述指令总线读取缓存模块读取第三数据并按顺序存储在指令总线读取存储模块11中,指令总线读取存储模块11与读写管理模块15相连。
与软件仿真工具的时间对比,当选取存储芯片示的内存大小为128KB,软件仿真工具全部顺序读取一次的时间大概需要40分钟,全部顺序写入一次的时间大概需要90分钟。而使用本实施例中的系统,基于FPGA芯片,进行读操作的时间只需要不到1秒钟,写操作需要的时间是1.6秒,时间上的巨大优势,使得本实施例中的测试系统大大加快了存储接口控制模块验证仿真的速度。需要注意的是,存储接口控制模块的仿真,是需要多次重复迭代的,即仿真-发现错误-修改-再仿真直到没有错误为止。所以说,本实施例将测试时间缩短的巨大优势会持续起作用。以需要100个测试向量来计算的话,通过软件仿真工具在服务器上运行,大概需要5天的时间。如果使用实施例中的测试系统,时间成本为:
FPGA源码综合烧录:大约需要80分钟(根据芯片规模的大小有差异),
程序运行时间:大约需要100分钟,
向量切换时间:大约需要30分钟,
全部加起来为210分钟。这就是说,修改代码后,发现代码问题的时间从5天缩减到3.5个小时,大大提高了迭代效率。
与纯FPGA测试的内容比对:纯FPGA测试是指CPU在具体执行程序时,会去从存储芯片读取数据,并根据程序的需要写入数据。这种方式,我们可以通过编写软件程序的方式去控制数据总线的读写操作,但是我们无法控制数据总线与指令总线之间的关系。更重要的是,这种场景非常单一,面对天文数字的待测向量,这里能够覆盖的只有其中几种。所以,从测试完整性上分析,本实施例的测试过程可以覆盖所有指令总线和数据总线的组合,并可以通过软件配置,灵活完成。大大提高测试覆盖率。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整、相互结合和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种控制存储芯片的测试方法,其特征在于,包括:
CPU通过系统总线将第一地址和第一数据预存在接口仿真加速器中;
所述接口仿真加速器通过数据总线将所述第一地址和所述第一数据发送给存储接口控制模块;
所述存储接口控制模块根据所述第一地址和所述第一数据,将所述第一数据写入存储芯片中与所述第一地址对应的存储单元内;
所述接口仿真加速器通过数据总线读取所述第一地址存储的数据,得到第二数据,并将所述第二数据通过所述数据总线发送给所述接口仿真加速器;
所述CPU从所述接口仿真加速器获取所述第二数据,并判断所述第二数据和所述第一数据是否相同,若相同,则通过所述测试。
2.根据权利要求1所述的测试方法,其特征在于,
所述接口仿真加速器包括预存存储模块、寄存器配置单元、数据总线主机接口控制模块以及数据总线读取存储模块;
所述CPU通过系统总线将第一地址和第一数据预存在接口仿真加速器中具体包括:
所述CPU将所述第一数据预存在所述预存存储模块中,将第一地址设置到所述寄存器配置单元中;
所述接口仿真加速器通过数据总线将所述第一地址和所述第一数据发送给存储接口控制模块具体包括:
所述寄存器配置单元根据接收到的写入所述第一数据的命令控制数据总线主机接口控制模块,将所述第一地址和所述第一数据发送给存储接口控制模块;
所述接口仿真加速器通过数据总线将读取所述第一地址存储的数据,得到第二数据,并将所述第二数据通过所述数据总线发送给所述接口仿真加速器具体包括:
所述寄存器配置单元根据接收到的读取所述第一地址存储的数据的命令控制所述数据总线主机接口控制模块,将所述第一地址发送给所述存储接口控制模块;
所述存储接口控制模块通过所述数据总线读取所述存储芯片所述第一地址对应的存储单元存储的数据,得到第二数据,并将所述第二数据存储在所述数据总线读取存储模块中;
所述CPU从所述接口仿真加速器获取所述第二数据具体包括:
所述CPU从所述数据总线读取存储模块中获取所述第二数据。
3.根据权利要求2所述的测试方法,其特征在于,
在所述存储接口控制模块根据所述第一地址和所述第一数据,将所述第一数据写入存储芯片中与所述第一地址对应的存储单元内步骤之后,还包括:
所述接口仿真加速器通过指令总线读取所述第一地址存储的数据,得到第三数据,并将所述第三数据通过所述指令总线发送给所述接口仿真加速器;
所述CPU从所述接口仿真加速器获取所述第三数据,并判断所述第三数据和所述第一数据是否相同,若相同,则通过所述测试。
4.根据权利要求3所述的测试方法,其特征在于,
所述接口仿真加速器包括指令总线主机接口控制模块以及指令总线读取存储模块;
所述接口仿真加速器通过指令总线读取所述第一地址存储的数据,得到第三数据,并将所述第三数据通过所述指令总线发送给所述接口仿真加速器具体包括:
所述寄存器配置单元根据接收到的读取所述第一地址存储的数据命令控制所述指令总线主机接口控制模块将所述第一地址和读取所述存储芯片内所述第一地址对应的存储单元的指令发送给所述存储接口控制模块;
所述存储接口控制模块通过所述指令总线读取所述存储芯片内所述第一地址对应的存储单元的内容,得到第三数据,并将所述第三数据存储在所述指令总线读取存储模块中;
所述CPU从所述接口仿真加速器获取所述第三数据具体包括:
所述CPU从所述指令总线读取存储模块中获取所述第三数据。
5.根据权利要求4所述的测试方法,其特征在于,
所述接口仿真加速器还包括数据总线写缓存模块、数据总线读取缓存模块、指令总线读取缓存模块和读写管理模块;
所述寄存器配置单元根据接收到的写入所述第一数据的命令控制数据总线主机接口控制模块,将所述第一地址和所述第一数据发送给存储接口控制模块具体包括:
所述读写管理模块控制所述预存存储模块中将所述第一数据发送给所述数据总线写缓存模块;
所述数据总线写缓存模块将所述第一数据发送给所述数据总线主机接口控制模块;
所述数据总线主机接口控制模块将所述第一数据发送给所述存储接口控制模块;
所述存储接口控制模块读取所述存储芯片所述第一地址对应的存储单元存储的数据,得到第二数据,并将所述第二数据存储在所述数据总线读取存储模块中具体包括:
所述存储接口控制模块读取所述存储芯片所述第一地址对应的存储单元存储的数据,得到第二数据;
所述存储接口控制模块将所述第二数据发送给所述数据总线主机接口控制模块;
所述数据总线主机接口控制模块将接收到的所述第二数据发送给所述数据总线读取缓存模块;
所述数据总线读取缓存模块快速保存所述第二数据,等待所述读写管理模块读取;
所述读写管理模块从所述数据总线读取缓存模块读取所述第二数据并按顺序存储在所述数据总线读取存储模块中;
所述存储接口控制模块读取所述存储芯片内所述第一地址对应的存储单元的内容,得到第三数据,并将所述第三数据存储在所述指令总线读取存储模块中具体包括:
所述存储接口控制模块读取所述存储芯片内所述第一地址对应的存储单元的内容,得到第三数据;
所述存储接口控制模块将所述第三数据发送给所述指令总线主机接口控制模块;
所述指令总线主机接口控制模块将接收到的所述第三数据发送给所述指令总线读取缓存模块;
所述指令总线读取缓存模块快速保存所述第三数据,等待所述读写管理模块读取;
所述读写管理模块从所述指令总线读取缓存模块读取所述第三数据并按顺序存储在所述指令总线读取存储模块中。
6.一种控制存储芯片的测试系统,其特征在于,包括:
集成电路芯片和存储芯片;
所述集成电路芯片包括CPU、接口仿真加速器和存储接口控制模块;
所述CPU与所述接口仿真加速器通过系统总线相连,用于通过所述系统总线将第一地址和第一数据预存在所述接口仿真加速器中;
所述接口仿真加速器与所述存储接口控制模块通过数据总线相连,用于通过所述数据总线将所述第一地址和所述第一数据发送给所述存储接口控制模块;
所述存储接口控制模块与所述存储芯片通过I/O接口相连,用于根据所述第一地址和所述第一数据,将所述第一数据写入所述存储芯片中与所述第一地址对应的存储单元内;
所述接口仿真加速器还用于通过所述数据总线读取所述第一地址存储的数据,得到第二数据,并将所述第二数据通过所述数据总线发送给所述接口仿真加速器;
所述CPU还用于从所述接口仿真加速器获取所述第二数据,并判断所述第二数据和所述第一数据是否相同,若相同,则通过所述测试。
7.根据权利要求6所述的测试系统,其特征在于,
所述接口仿真加速器包括预存存储模块、寄存器配置单元、数据总线主机接口控制模块以及数据总线读取存储模块;
所述CPU与所述预存存储模块通过所述系统总线相连,所述CPU用于将所述第一数据预存在所述预存存储模块中;
所述寄存器配置单元与所述数据总线主机接口控制模块相连,用于根据接收到的写入所述第一数据的命令控制所述数据总线主机接口控制模块,将所述第一地址和所述第一数据发送给所述存储接口控制模块,所述数据总线主机接口控制模块通过所述数据总线与所述存储接口控制模块相连;
所述寄存器配置单元还用于根据接收到的读取所述第一地址存储的数据的命令控制所述数据总线主机接口控制模块,将所述第一地址发送给所述存储接口控制模块;
所述存储接口控制模块用于通过所述数据总线读取所述存储芯片所述第一地址对应的存储单元存储的数据,得到第二数据,并将所述第二数据存储在所述数据总线读取存储模块中;
所述CPU与所述数据总线读取存储模块通过所述系统总线相连,用于从所述数据总线读取存储模块中获取所述第二数据。
8.根据权利要求7所述的测试系统,其特征在于,
所述接口仿真加速器还用于通过指令总线读取所述第一地址存储的数据,得到第三数据,并将所述第三数据通过所述指令总线发送给所述接口仿真加速器;
所述CPU还用于从所述接口仿真加速器获取所述第三数据,并判断所述第三数据和所述第一数据是否相同,若相同,则通过所述测试。
9.根据权利要求8所述的测试系统,其特征在于,
所述接口仿真加速器包括指令总线主机接口控制模块以及指令总线读取存储模块;
所述寄存器配置单元与所述指令总线主机接口控制模块相连,用于根据接收到的读取所述第一地址存储的数据命令控制所述指令总线主机接口控制模块将所述第一地址和读取所述存储芯片内所述第一地址对应的存储单元的指令发送给所述存储接口控制模块,所述存储接口控制模块与所述指令总线主机接口控制模块通过所述指令总线相连;
所述存储接口控制模块还用于通过所述指令总线读取所述存储芯片内所述第一地址对应的存储单元的内容,得到第三数据,并将所述第三数据存储在所述指令总线读取存储模块中,所述指令总线读取存储模块与所述存储接口控制模块相连;
所述CPU与所述指令总线读取存储模块通过所述系统总线相连,用于从所述指令总线读取存储模块中获取所述第三数据。
10.根据权利要求9所述的测试系统,其特征在于,
所述接口仿真加速器还包括数据总线写缓存模块、数据总线读取缓存模块、指令总线读取缓存模块和读写管理模块,所述读写管理模块与所述寄存器配置单元相连;
所述读写管理模块用于控制所述预存存储模块中将所述第一地址和所述第一数据发送给所述数据总线写缓存模块,所述数据总线写缓存模块与所述读写管理模块相连;
所述数据总线写缓存模块用于将所述第一数据发送给所述数据总线主机接口控制模块,所述数据总线写缓存模块与所述数据总线主机接口控制模块相连;
所述数据总线主机接口控制模块用于将所述第一数据发送给所述存储接口控制模块;
所述存储接口控制模块用于读取所述存储芯片所述第一地址对应的存储单元存储的数据,得到第二数据;
所述存储接口控制模块用于将所述第二数据发送给所述数据总线主机接口控制模块;
所述数据总线主机接口控制模块用于将接收到的所述第二数据发送给所述数据总线读取缓存模块,所述数据总线读取缓存模块与所述数据总线主机接口控制模块相连;
所述数据总线读缓存模块快速保存所述第二数据,等待所述读写管理模块读取,所述数据总线读取缓存模块与所述读写管理模块相连;
所述读写管理模块用于从所述数据总线读取缓存模块读取所述第二数据并按顺序存储在所述数据总线读取存储模块中,所述读写管理模块与所述数据总线读取存储模块相连;
所述存储接口控制模块用于读取所述存储芯片内所述第一地址对应的存储单元的内容,得到第三数据;
所述存储接口控制模块用于将所述第三数据发送给所述指令总线主机接口控制模块;
所述指令总线主机接口控制模块用于将接收到的所述第三数据发送给所述指令总线读缓存模块,所述指令总线读取缓存模块与所述指令总线主机接口控制模块相连;
所述指令总线读缓存模块用于快速保存所述第三数据,等待所述读写管理模块读取,所述读写管理模块与所述指令总线读取缓存模块相连;
所述读写管理模块用于从所述指令总线读取缓存模块读取所述第三数据并按顺序存储在所述指令总线读取存储模块中,所述指令总线读取存储模块与所述读写管理模块相连。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710818840.2A CN107451025B (zh) | 2017-09-12 | 2017-09-12 | 控制存储芯片的测试方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710818840.2A CN107451025B (zh) | 2017-09-12 | 2017-09-12 | 控制存储芯片的测试方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107451025A true CN107451025A (zh) | 2017-12-08 |
CN107451025B CN107451025B (zh) | 2024-02-27 |
Family
ID=60496297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710818840.2A Active CN107451025B (zh) | 2017-09-12 | 2017-09-12 | 控制存储芯片的测试方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107451025B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595297A (zh) * | 2018-05-09 | 2018-09-28 | 郑州云海信息技术有限公司 | 一种upi速度的检测方法及装置 |
CN110691004A (zh) * | 2019-09-11 | 2020-01-14 | 上海高性能集成电路设计中心 | 一种基于硬件仿真加速器的维护协议报文收发方法 |
CN110851354A (zh) * | 2019-10-24 | 2020-02-28 | 上海辛格林纳新时达电机有限公司 | 一种测试系统及测试方法 |
CN110908672A (zh) * | 2018-09-18 | 2020-03-24 | 沅圣科技股份有限公司 | 烧录控制系统及方法 |
CN111459745A (zh) * | 2019-01-21 | 2020-07-28 | 美超微电脑股份有限公司 | 系统主机储存设备连接端口测试方法 |
CN115327583A (zh) * | 2022-10-13 | 2022-11-11 | 北京凯芯微科技有限公司 | 一种接收机、信号处理装置及其信号处理方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011060703A1 (zh) * | 2009-11-18 | 2011-05-26 | 中兴通讯股份有限公司 | 一种电可擦除可编程只读存储器的实现方法和装置 |
CN103744009A (zh) * | 2013-12-17 | 2014-04-23 | 记忆科技(深圳)有限公司 | 一种串行传输芯片测试方法、系统及集成芯片 |
CN105974905A (zh) * | 2016-05-10 | 2016-09-28 | 中国民航大学 | 面向航空数据总线单粒子翻转故障的仿真测试系统及方法 |
US9721048B1 (en) * | 2015-09-24 | 2017-08-01 | Cadence Design Systems, Inc. | Multiprocessing subsystem with FIFO/buffer modes for flexible input/output processing in an emulation system |
CN207503208U (zh) * | 2017-09-12 | 2018-06-15 | 北京兆易创新科技股份有限公司 | 控制存储芯片的测试系统 |
-
2017
- 2017-09-12 CN CN201710818840.2A patent/CN107451025B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011060703A1 (zh) * | 2009-11-18 | 2011-05-26 | 中兴通讯股份有限公司 | 一种电可擦除可编程只读存储器的实现方法和装置 |
CN103744009A (zh) * | 2013-12-17 | 2014-04-23 | 记忆科技(深圳)有限公司 | 一种串行传输芯片测试方法、系统及集成芯片 |
US9721048B1 (en) * | 2015-09-24 | 2017-08-01 | Cadence Design Systems, Inc. | Multiprocessing subsystem with FIFO/buffer modes for flexible input/output processing in an emulation system |
CN105974905A (zh) * | 2016-05-10 | 2016-09-28 | 中国民航大学 | 面向航空数据总线单粒子翻转故障的仿真测试系统及方法 |
CN207503208U (zh) * | 2017-09-12 | 2018-06-15 | 北京兆易创新科技股份有限公司 | 控制存储芯片的测试系统 |
Non-Patent Citations (1)
Title |
---|
刘林,杨润星,郑学仁,刘珂,周盛华: "用于测试SDRAM控制器的PDMA" * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595297A (zh) * | 2018-05-09 | 2018-09-28 | 郑州云海信息技术有限公司 | 一种upi速度的检测方法及装置 |
CN108595297B (zh) * | 2018-05-09 | 2021-04-27 | 郑州云海信息技术有限公司 | 一种upi速度的检测方法及装置 |
CN110908672A (zh) * | 2018-09-18 | 2020-03-24 | 沅圣科技股份有限公司 | 烧录控制系统及方法 |
CN111459745A (zh) * | 2019-01-21 | 2020-07-28 | 美超微电脑股份有限公司 | 系统主机储存设备连接端口测试方法 |
CN110691004A (zh) * | 2019-09-11 | 2020-01-14 | 上海高性能集成电路设计中心 | 一种基于硬件仿真加速器的维护协议报文收发方法 |
CN110851354A (zh) * | 2019-10-24 | 2020-02-28 | 上海辛格林纳新时达电机有限公司 | 一种测试系统及测试方法 |
CN110851354B (zh) * | 2019-10-24 | 2023-08-15 | 上海辛格林纳新时达电机有限公司 | 一种测试系统及测试方法 |
CN115327583A (zh) * | 2022-10-13 | 2022-11-11 | 北京凯芯微科技有限公司 | 一种接收机、信号处理装置及其信号处理方法 |
CN115327583B (zh) * | 2022-10-13 | 2023-02-10 | 北京凯芯微科技有限公司 | 一种接收机、信号处理装置及其信号处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107451025B (zh) | 2024-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107451025A (zh) | 控制存储芯片的测试方法及系统 | |
US10288681B2 (en) | Test architecture with a small form factor test board for rapid prototyping | |
CN105144114B (zh) | Fpga块具有混合协议引擎的测试器 | |
CN100565472C (zh) | 一种适用于多处理器核系统芯片的调试方法 | |
Vipin et al. | DyRACT: A partial reconfiguration enabled accelerator and test platform | |
CN105224345B (zh) | 一种可编程逻辑器件远程更新系统及其方法 | |
JP5235202B2 (ja) | 試験装置および試験方法 | |
CN207503208U (zh) | 控制存储芯片的测试系统 | |
CN102565671B (zh) | 一种集成电路测试仪在线编程的动态配置方法 | |
CN105229481A (zh) | 具有存储器上的加速以及用于fpga块内自动模式生成的加速的测试器 | |
CN102841837B (zh) | 一种基于模拟器的软硬件协同验证方法及系统 | |
CN109194491A (zh) | 一种密码评测试验系统及密码评测试验方法 | |
CN105137800A (zh) | 一种基于sopc技术的plc协同控制装置 | |
CN108664264A (zh) | 一种基于cpu通过jtag方式远程更新fpga的装置和方法 | |
CN103324583A (zh) | 一种光纤陀螺离线高速数据采集方法 | |
CN105389134B (zh) | 一种闪存接口控制方法及装置 | |
CN103996416A (zh) | 一种可重用的ftl验证方法 | |
CN109416667A (zh) | 具有动态且可配置的响应的、使用两个存储器级的串行设备仿真器 | |
US11593547B1 (en) | Prediction and optimization of multi-kernel circuit design performance using a programmable overlay | |
CN104216831A (zh) | 一种基于Tcl的FPGA交互式仿真方法 | |
US9898563B2 (en) | Modeling memory in emulation based on cache | |
KR101466665B1 (ko) | 멀티플렉서를 이용한 eMMC 멀티 다운로더 설계 방법 | |
US10073795B1 (en) | Data compression engine for I/O processing subsystem | |
CN103856210B (zh) | 一种控制fpga编程新地址的方法、装置及编程电路 | |
CN205283747U (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 101, Floor 1-5, Building 8, Yard 9, Fenghao East Road, Haidian District, Beijing 100094 Applicant after: Zhaoyi Innovation Technology Group Co.,Ltd. Address before: 100083 12 Floors, Block A, Tiangong Building, Science and Technology University, 30 College Road, Haidian District, Beijing Applicant before: GIGADEVICE SEMICONDUCTOR(BEIJING) Inc. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |