CN102623069B - 随机激励闪存模型验证方法 - Google Patents
随机激励闪存模型验证方法 Download PDFInfo
- Publication number
- CN102623069B CN102623069B CN201210030837.1A CN201210030837A CN102623069B CN 102623069 B CN102623069 B CN 102623069B CN 201210030837 A CN201210030837 A CN 201210030837A CN 102623069 B CN102623069 B CN 102623069B
- Authority
- CN
- China
- Prior art keywords
- pseudo
- flash memory
- flash
- model
- verification method
- 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.)
- Expired - Fee Related
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种随机激励闪存模型验证方法,依据与非闪存操作命令权重编写伪汇编命令权重脚本;依据与非闪存模型读取与非闪存参数和测试条件,配置与非闪存模型接口驱动;调用所述伪汇编命令权重脚本随机产生汇编伪命令,并通过以命令权重为约束条件产生预定总数的汇编伪命令,而生成伪汇编测试序列;解析所述伪汇编测试序列,通过接口驱动对闪存模型进行测试。依据本发明的验证方法能够针对不同的闪存模型提供较高的测试覆盖率。
Description
技术领域
本发明属于集成电路设计、封装与测试技术领域,具体是涉及一种闪存模型验证方法。
背景技术
Nandflash(与非快闪存储器)是目前业界非常流行的存储介质,具有存储单元面积小,编程速度快,擦除时间短等优势,所以Nandflash几乎被用于所有可擦除的存储卡。
在常用的数字SOC(system on chip,片上系统)芯片架构中,常会使用Nandflash控制器负责与芯片外侧的Nandflash闪存设备进行通讯。作为SOC芯片内处理器与Nandflash闪存之间的桥梁,闪存控制器通过向闪存发出指令实现对Nandflash编程、擦除等操作。所以Nandflash控制器在数字SOC芯片与Nandflash闪存设备通讯过程中起着不可替代的作用。因此Nandflash控制器的功能正确性是至关重要的。
为了更好的验证Nandflash控制器,通常需要在Nandflash控制器的验证平台中设计验证完备的Nandflash模型以协同工作。并且所设计的Nandflash控制器需要支持各种型号的Nandflash闪存芯片。因此在前端验证中需要针对市面上的各种型号的Nandflash闪存芯片的仿真模型进行协调工作验证。
然而,随着Nandflash的越来越流行,越来越多的厂商开始生产Nandflash闪存芯片,三星、美光及东芝等都是业界主流的Nandflash芯片制造商。目前市场上的各种Nandflash闪存芯片型号越来越多,由于缺少必要的规范做支撑,使得各种闪存芯片之间的差异性也越来越大。不同厂商提供的Nandflash仿真模型只针对各自的芯片功能进行设计,甚至同一厂商的不同芯片其仿真模型也不相同,单一的仿真模型具有很大的局限性和较低的灵活性,无法满足Nandflash控制器对仿真模型的要求,尤其是这些模型(model)也存在一些问题,如对设计规范具有相对滞后性,往往这些模型没有实现最新的规范要求。因此,如果集成这些仿真模型用以验证Nandflash控制器,很难完成充分验证的要求,以及技术更新的要求。
如图1所示,Nandflash模型的接口信号有8或16根指令数据信号io以及6根控制信号:芯片启动信号CEn,写使能信号WEn,读使能信号REn,指令锁存使能信号CLE,地址锁存使能信号ALE,就绪/忙信号R/Bn。Nandflash控制器通过上述信号对Nandflash闪存进行相应的操作,如串行的复位、读写Nandflash闪存芯片内数据、读取Nandflash闪存芯片状态及芯片标示符、擦除Nandflash闪存芯片内数据、对Nandflash闪存芯片内数据进行ECC(Error Check Correct)算法校验等各项操作,操作相对复杂,且具有很多限制。例如,与非闪存最小的读写单位是页(page),最小的擦除单位是块(block),支持对已经编程的page进行编程操作之前要执行擦除操作,执行多个plane(平面)操作时候对地址的限制等等。显然,由于与非闪存操作的复杂性和各种限制,使得采用常规的验证方法很难达到完备验证的要求。
由于Nandflash复杂的操作时序,以及对生成的激励有较强的限制要求。采用Verilog(硬件描述)以及System Verilog(系统级硬件描述)语言无法满足随机产生的要求。参考文献“System Verilog中的随机化激励”,《CIC中国集成电路》2007年第10期(总第101期),指出在传统的验证方法中,也有将激励随机化的方法,这样可以用较少的测试代码生成较多、较全面的测试激励。System Verlog中强调在验证中使用可重用的验证IP(Intellectual Property),包括如何生成随机化激励,只是使用简单的实例化方的激励发生器不够灵活,其中一个主要问题是如何通过激励发生器添加新的约束块;这就形成了随机化激励的灵活性要求与约束块编制不够灵活的矛盾。
发明内容
因此,本发明的目的在于提供一种随机激励闪存模型验证方法,能够针对不同的闪存模型提供较高的测试覆盖率。
为了解决上述技术问题,本发明采用以下技术方案:
一种随机激励闪存模型验证方法,依据与非闪存操作命令权重编写伪汇编命令权重脚本;
依据与非闪存模型读取与非闪存参数和测试条件,配置与非闪存模型接口驱动;
调用所述伪汇编命令权重脚本随机产生汇编伪命令,并通过以命令权重为约束条件产生预定总数的汇编伪命令,而生成伪汇编测试序列;
解析所述伪汇编测试序列,通过接口驱动对闪存模型进行测试。
依据本发明的上述方案,依据与非闪存操作命令权重编写权重脚本,能够覆盖与非闪存操作命令及其重要程度,当然这里的重要程度说的是相关命令的使用频率。当权重脚本被随机产生命令并被权重约束时,能够产生匹配实际操作的指令序列,命令被随机到的概率预期权重理应是一致的,因此所产生的测试序列具有代表性,并且据以可产生比较多的测试用例,提高了与非闪存模型验证的覆盖率。
人为介入的是权重文件的生成,当然,通过既有的命令集可以获取相关与非闪存的命令权重,进而可以生成权重文件。中间不需要人为介入,可大大缩短研发周期,降低研发成本。
借助汇编伪指令不产生机器语言代码且不由CPU执行的特点,减小对系统资源的占用,且语法简单,使得不懂验证但懂伪汇编的人员也可以轻松的写出测试序列。
上述随机激励闪存模型验证方法,随机产生的汇编伪命令后,判断该汇编伪命令对应的与非闪存命令是否必须跟随其他与非闪存命令,若需要则产生跟随与非闪存命令,若不需要,则判断是否完成预定的汇编伪命令总数,若已完成,则声称伪汇编测试序列终止,否则继续随机产生汇编伪命令。
上述随机激励闪存模型验证方法,根据所产生的汇编伪命令对应的与非闪存命令是否需要定位与非闪存地址,若需要,则在所产生的汇编伪指令后约束操作地址,若不需要,省略操作地址。
上述随机激励闪存模型验证方法,汇编伪指令包含的内容为首先是发送的操作指令,然后依据该操作指令操作与非闪存模型,最后是含有操作地址时定位与非闪存操作地址。
上述随机激励闪存模型验证方法,在测试平台中集成参考模型,进而,在对与非闪存模型进行操作后,与该参考模型进行匹配比对,以保证与非闪存工作的正确性。
上述随机激励闪存模型验证方法,所述参考模型为一个读参考模型,对读与非闪存模型操作的结果进行对比。
上述随机激励闪存模型验证方法,还包括对与非闪存操作时的时序检测步骤。
上述随机激励闪存模型验证方法,测试环境有Verilog编写,且所述时序检测的时序检测模块为Verilog生成。
附图说明
图1为依据本发明的一种随机激励闪存模型验证方法依赖的测试平台与测试序列结构图。
图2为测试序列生成的流程图。
具体实施方式
参照说明书附图1,一种随机激励闪存模型验证方法,依据与非闪存操作命令权重编写伪汇编命令权重脚本,用磁盘文件保存,使用文件读写方式;
依据与非闪存模型读取与非闪存参数和测试条件,配置与非闪存模型接口驱动;
调用所述伪汇编命令权重脚本随机产生汇编伪命令,并通过以命令权重为约束条件产生预定总数的汇编伪命令,而生成伪汇编测试序列;
解析所述伪汇编测试序列,通过接口驱动对闪存模型进行测试。
伪汇编为计算机通讯类专业汇编语言所包含,其他学科涉及计算机/微机原理课程时也有涉及,为本领域技术人员的为了使本领域的技术人员更清楚的了解伪汇编,在此简单介绍一下汇编语言。
汇编语言除了定义了汇编指令外,还定义了一些汇编伪指令(本文指令与命令相通),以支持汇编的运行。伪指令是汇编时不产生机器语言代码的指令,是CPU不能执行的指令,仅提供汇编用的某些控制信息。
如在微机原理中ORG定位伪指令,格式是ORG m;其中m一般是16位二进制数,m指出在该指令后的(伪)指令的汇编地址,即生成的机器指令的起始存储器地址。它必须放在每段源程序或数据段的开始行,在一个汇编语言的源程序中允许存在多条定位伪指令,但其中每一个m值都应和前面生成的机器指令存放地址不重叠。
例如下面段一段代码:
ORG 1000H
START:MOV A,#10H
……
ORG 2000H
SECOND:CLR A
上述代码第1条定位伪指令指定了标号START的地址为1000H,“MOV A,#10H”指令及其后面的指令汇编成的机器码放在从1000H开始的存储单元中。
第2条定位伪指令指定了标号SECOND的地址为2000H。从START开始的程序段所占用的存储地址最多为1FFFH,否则与从SECOND开始的程序段地址重叠,程序在编译时不会发生错误,但在运行时就会发生错误。
ONFI(Open NAND Flash Interface,开放式NAND快闪存储器接口)规范是一种Flash闪存接口的标准,它是Intel为统一当初混乱的闪存接口所倡导的标准。目前几乎所有主要的闪存厂商都参入进该标准的制定和推行。
ONFI3.0于2011年3月9日发布,其文本第141~143页对接口命令进行了规范定义,那么针对这些指令可制订一套伪汇编代码,然后根据定义时确定的伪汇编代码格式进行解析,根据伪汇编的规范编码和解码即可,实现起来也非常简单。这里不涉及伪汇编代码的定义和实现,仅涉及伪汇编的应用,再次不多做赘述。
不过,本领域的技术人员可以参考依据ONFI规范定义的一些常用的伪汇编代码,如下表:
序数 | 汇编伪指令 | 操作符或者操作数 |
1 | Reset | Target_num |
2 | Sync_reset | Target_num |
3 | Read_id | Target_num addr |
4 | Read_param_page | Target_num addr |
5 | Read_uniq_ie | Target_num addr |
6 | Get_feat | Target_num addr |
7 | Set_feat | Target_num addr |
8 | Read_stat | Target_num addr |
9 | Read stat_enh | Target_num r1r2r3(r4) |
10 | Change_read_col | Target_num c1c2 |
11 | Change_read_col_enh | Target_num c1c2r1r2r3(r4) |
12 | Change_write_col | Target_num c1c2 |
13 | Change_row_addr | Target_num c1c2r1r2r3(r4) |
14 | Read_mode | Target_num |
15 | Read_page | Target_num c1c2r1r2r3(r4) |
16 | Read_mp | Target_num c1c2r1r2r3(r4) |
17 | Read_cache_seq | Target_num |
18 | Read_cache_rand | Target_num c1c2r1r2r3(r4) |
19 | Read_cache_end | Target_num |
20 | Prog_page | Target_num c1c2r1r2r3(r4) |
21 | Prog_page_mp | Target_num c1c2r1r2r3(r4) |
22 | Prog_page_cache | Target_num c1c2r1r2r3(r4) |
23 | Prog_page_cmd2 | Target_num |
24 | Cpbk_read | Target_num c1c2r1r2r3(r4) |
25 | Cpbk_prog | Target_num c1c2r1r2r3(r4) |
26 | Cpbk_prog_cmd2 | Target_num |
27 | Write_data | Target_num Byte_count byte1 byte2 … |
28 | Read_data | Target_num Byte_count byte1 byte2 … |
29 | Erase_block | Target_num r1r2r3(r4) |
依据ONFI规范及对应为上表的汇编伪指令,有的汇编伪指令带有操作地址,有的没有。另外需要注意,有些指令成套出现,这样才能完成闪存的一个完整的操作,也就是存在一些跟随指令。
同时,发明人认为通过伪汇编指令代码,我们可以按照ONFI规范定义的一些操作人为的编写一些直接测试案例,这使得一个不了解验证的人,不需要了解测试平台内部结构,就可以根据伪汇编的语法规则,以及Nandflash的工作原理,写出测试序列,完成Model的测试,进而测试闪存芯片仿真模型的功能,通过手写编写直接测试序列,可以实现对Nandflash的特定功能操作,进而可以覆盖用户非常关心的功能,但是人为编写测试案例有他的局限性,不能充分的覆盖闪存芯片模型的功能,达到功能覆盖率的要求。因此,为了避开硬件设计语言(Verilog、System Verilog等)的局限性,采用更灵活的软件方式,即手动编写伪汇编命令权重脚本,以此脚本为基础随机出测试命令,进而生成一个测试序列。
关于随机,可以采用硬件设计语言的随机命令随机出相关命令,也可以用相对低级的高级语言C的随机函数进行随机。图1中的验证平台(Testbench)采用硬件设计语言System Verilog编写,当然,当前也主要是使用System Verilog编写。
随机产生的汇编伪命令后,若需要则产生跟随与非闪存命令,若不需要,则判断是否完成预定的汇编伪命令总数若已完成,则声称伪汇编测试序列终止,否则继续随机产生汇编伪命令。
依据ONFI(Open NAND Flash Interface,开放式NAND快闪存储器接口)规范中第五章定义的闪存操作命令格式规范,程序会判断该汇编伪命令对应的与非闪存命令是否必须跟随其他与非闪存命令,例如在onfi规范5.18中定义的Copyback回写操作指令,在Cpbk_read读取闪存命令之后,必须要跟随一个Cpbk_prog回写闪存命令。依据规范定义确定跟随命令的获取。
关于测试序列的命令总数,可以通过命令行人为设定一个阈值,当命令总数满足该阈值时,所生成的测试序列就被认为满足较高覆盖率的要求。另外也可以不指定序列的命令总数,通过使用System Verilog的覆盖率机制,设定一些我们所关心的功能覆盖率的要求,例如要随机到所有的指令,指令地址要随机到所有的边界情况,一些特殊的操作序列要覆盖到等等。当测平台检测到这些覆盖要求都达到的时候可以终止测试序列的产生。
实际上,通过权重的分析就可以很容易得出,权重最小的与非闪存命令被操作一次就可以认为满足了覆盖率的基本要求,当然,这样可能会增大权重比较大的与非闪存指令的使用频率。
根据所产生的汇编伪命令对应的与非闪存命令是否需要定位与非闪存地址,若需要,则在所产生的汇编伪指令后约束操作地址,若不需要,省略操作地址。关于操作地址,一种方法是制定伪汇编指令时进行预定义,这样可以在提取相关指令时就可以根据预定义进行判断(Read_id命令,后面跟随的地址只有00和20两种)。此外,与非闪存指令本身哪些需要有操作地址都是非常明确的,为现有规范所界定,读取相关指令,必然会对应相应的操作地址,据此约束指令后面的地址也是可行的。
根据ONF规范中第三章定义的存储器组织规范中的详细介绍,制定约束条件。比如:与非闪存使用两种地址类型列地址(column address)和行地址(row address),列地址用来访问每个(page)页上面的字节,而行地址用来标示page的详细地址。页地址可以分为逻辑单元地址(LUN address),块地址(block address),页地址(page address)。比较简单的约束是行地址必须小于总的(page)页个数;Block address必须小于总的存储块数;相对复杂的约束是,某个指令跟随的地址形式,例如 erase_block命令只跟随行地址,而read_page和prog_page等操作需要同时发送行地址和列地址。更加复杂的是,针对指令操作的某些位进行约束,例如在执行回写操作(Copyback操作时)Cpbk_read指令之后必须要跟随一个Cpbk_prog指令,首先这两个指令的行地址中的块地址的后两位必须相同,另外如果两个指令的block address相等,则Cpbk_prog的page address要大于Cpbk_read 的page address。
汇编伪指令包含的内容为首先是发送的操作指令,然后依据该操作指令操作与非闪存模型,最后是含有操作地址时定位与非闪存操作地址。采用统一的方式制定汇编伪指令便于解析。
较佳地,在测试平台中集成参考模型,进而,在对与非闪存模型进行操作后,与该参考模型进行匹配比对,以保证与非闪存工作的正确性。
另外在测试序列的产生过程中采用伪随机机制产生,所谓伪随机就是指根据一个随机种子和算法,来确定无限长的一个随机数组,每需要一个随机数,就从中取出当前数,并按算法计算出下一个随机数。也就是说确定了随机种子和算法就确定了之后所有数值,而真正的随机是不可测的,所以称之为伪随机。通过随机种子(seed)进行仿真控制可以实现问题重现,自动化程度提高。
进一步地,所述参考模型为一个读参考模型,对读与非闪存模型操作的结果进行对比,验证操作的功能正确性。
较佳地,还包括对与非闪存操作时的时序检测步骤,可以有Verilog编制,进行复杂的时序检测。
测试环境有Verilog编写,且所述时序检测的时序检测模块为Verilog生成。
下面为依据上述方案的的一个具体实施例:
整个验证的过程:
1、随机perl脚本首先调用随机权重脚本调用用户在命令行输入的随机种子产生随机权重文件。
2. 之后随机脚本调用闪存序列发生器的可执行文件,通过读入之前产生的闪存命令权重文件,根据由perl脚本传入的随机种子采用伪随机机制产生可以重现的以伪汇编指令组织的闪存测试序列。该测试序列可以由工程师根据伪汇编指令编写。
3.随机脚本调用仿真工具(synopsys vcs或者cadence ius)编译整个测试平台和与非闪存模型。
4.编译完成之后,执行仿真。与非闪存测试平台逐条读入测试序列的伪汇编指令,伪汇编解析程序完成对伪汇编指令的解码,通过调用接口驱动程序按照与非闪存模型的驱动时序(该驱动时序可以查看ONFI规范的第四章)驱动仿真模型。
5.当执行Prog_page等写入操作的时候,测试平台将之前产生的随机数据按驱动时序写入闪存模型,并交付参考结果程序的参考模型保存。
6.当执行Read_page等读出操作的时候,测试平台将读出的数据在校验模块中跟参考模型中的参考结果进行对比。
Claims (7)
1.一种随机激励闪存模型验证方法,用于与非闪存模型的验证,其特征在于,依据与非闪存操作命令权重编写伪汇编命令权重脚本;
依据与非闪存模型读取与非闪存参数和测试条件,配置与非闪存模型接口驱动;
调用所述伪汇编命令权重脚本随机产生伪汇编命令,并通过以命令权重为约束条件产生预定总数的伪汇编命令,而生成伪汇编测试序列;
解析所述伪汇编测试序列,通过接口驱动对与非闪存模型进行测试;
随机产生伪汇编命令后,判断该伪汇编命令对应的与非闪存命令是否必须跟随其他与非闪存命令,若需要则产生跟随与非闪存命令,若不需要,则判断是否完成预定的伪汇编命令总数,若已完成,则声称伪汇编测试序列终止,否则继续随机产生伪汇编命令。
2.根据权利要求1所述的随机激励闪存模型验证方法,其特征在于,判断所产生的伪汇编命令对应的与非闪存命令是否需要定位与非闪存地址,若需要,则在所产生的伪汇编命令后约束操作地址,若不需要,省略操作地址。
3.根据权利要求2所述的随机激励闪存模型验证方法,其特征在于,伪汇编命令包含的内容为首先是发送的操作指令,然后依据该操作指令操作与非闪存模型,最后是含有操作地址时定位与非闪存操作地址。
4.根据权利要求1所述的随机激励闪存模型验证方法,其特征在于,在测试平台中集成参考模型,进而,在对与非闪存模型进行操作后,与该参考模型进行匹配比对,以保证与非闪存工作的正确性。
5.根据权利要求4所述的随机激励闪存模型验证方法,其特征在于,所述参考模型为一个读参考模型,与读与非闪存模型操作的结果进行对比。
6.根据权利要求1所述的随机激励闪存模型验证方法,其特征在于,还包括对与非闪存操作时的时序检测步骤。
7.根据权利要求6所述的随机激励闪存模型验证方法,其特征在于,测试环境有Verilog编写,且所述时序检测的时序检测模块为Verilog生成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210030837.1A CN102623069B (zh) | 2012-02-13 | 2012-02-13 | 随机激励闪存模型验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210030837.1A CN102623069B (zh) | 2012-02-13 | 2012-02-13 | 随机激励闪存模型验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102623069A CN102623069A (zh) | 2012-08-01 |
CN102623069B true CN102623069B (zh) | 2014-09-03 |
Family
ID=46562931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210030837.1A Expired - Fee Related CN102623069B (zh) | 2012-02-13 | 2012-02-13 | 随机激励闪存模型验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102623069B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049363B (zh) * | 2013-02-01 | 2015-02-04 | 山东华芯半导体有限公司 | 一种NAND Flash控制器的验证方法 |
CN103996416B (zh) * | 2014-05-27 | 2017-03-08 | 山东华芯半导体有限公司 | 一种可重用的ftl验证方法 |
US10437483B2 (en) | 2015-12-17 | 2019-10-08 | Samsung Electronics Co., Ltd. | Computing system with communication mechanism and method of operation thereof |
CN105760638B (zh) * | 2016-04-28 | 2018-11-06 | 福州瑞芯微电子股份有限公司 | 一种加快soc芯片仿真的方法 |
CN111326205B (zh) * | 2018-12-14 | 2022-03-22 | 长鑫存储技术有限公司 | 测试系统、存储器的测试方法及测试装置 |
CN111125996B (zh) * | 2019-12-10 | 2023-04-07 | 上海高性能集成电路设计中心 | 一种伪随机激励生成器的基于双向约束树指令集实现方法 |
US12040030B2 (en) | 2022-03-31 | 2024-07-16 | Changxin Memory Technologies, Inc. | Method and device for generating command sequence, method and device for testing, and storage medium |
CN116932366A (zh) * | 2022-03-31 | 2023-10-24 | 长鑫存储技术有限公司 | 命令序列生成方法、测试方法、设备以及存储介质 |
CN114492269B (zh) * | 2022-04-02 | 2022-06-24 | 北京得瑞领新科技有限公司 | 闪存控制器的验证系统 |
CN115658413B (zh) * | 2022-12-29 | 2023-04-11 | 摩尔线程智能科技(北京)有限责任公司 | 一种激励发生器和激励发生方法 |
CN115658414A (zh) * | 2022-12-29 | 2023-01-31 | 中科亿海微电子科技(苏州)有限公司 | 基于risc-v架构处理器核的功能验证方法及平台 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1684047A (zh) * | 2004-12-24 | 2005-10-19 | 清华大学 | 基于边界条件和自检查随机测试的cpu约束生成验证法 |
CN101719383A (zh) * | 2009-11-10 | 2010-06-02 | 上海宏力半导体制造有限公司 | 闪存芯片的测试方法 |
CN102201267A (zh) * | 2010-03-26 | 2011-09-28 | 上海摩波彼克半导体有限公司 | 基于FPGA实现Nandflash闪存控制器电路验证的平台系统及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100406555B1 (ko) * | 2001-06-29 | 2003-11-20 | 주식회사 하이닉스반도체 | 반도체 메모리 장치 및 그 테스트 방법 |
-
2012
- 2012-02-13 CN CN201210030837.1A patent/CN102623069B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1684047A (zh) * | 2004-12-24 | 2005-10-19 | 清华大学 | 基于边界条件和自检查随机测试的cpu约束生成验证法 |
CN101719383A (zh) * | 2009-11-10 | 2010-06-02 | 上海宏力半导体制造有限公司 | 闪存芯片的测试方法 |
CN102201267A (zh) * | 2010-03-26 | 2011-09-28 | 上海摩波彼克半导体有限公司 | 基于FPGA实现Nandflash闪存控制器电路验证的平台系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102623069A (zh) | 2012-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102623069B (zh) | 随机激励闪存模型验证方法 | |
CN106462434B (zh) | 整个程序代码的增量式编译 | |
US8549468B2 (en) | Method, system and computer readable storage device for generating software transaction-level modeling (TLM) model | |
US10007492B2 (en) | System and method for automatically generating device drivers for run time environments | |
US8898049B2 (en) | System level power profiling of embedded applications executing on virtual multicore system-on-chip platforms | |
EP2706459B1 (en) | Apparatus and method for validating a compiler for a reconfigurable processor | |
CN102306127B (zh) | 一种ddriii内存识别和初始化方法 | |
US8706453B2 (en) | Techniques for processor/memory co-exploration at multiple abstraction levels | |
CN103996416B (zh) | 一种可重用的ftl验证方法 | |
CN102841837B (zh) | 一种基于模拟器的软硬件协同验证方法及系统 | |
US9507680B2 (en) | Verification system and method for automated verification of register information for an electronic system | |
US8707102B2 (en) | Method and program for verifying operation of processor | |
TW200849005A (en) | A system, method and software application for the generation of verification programs | |
CN102201022A (zh) | 用于fpga验证的方法和装置 | |
CN109445691A (zh) | 一种提高ftl算法开发和验证效率的方法及装置 | |
CN104050069A (zh) | 一种基于Mars评判Verilog实现MIPS处理器正确性的自动化测试方法 | |
US8886512B2 (en) | Simulation apparatus, computer-readable recording medium, and method | |
Lee et al. | FlashBench: A workbench for a rapid development of flash-based storage devices | |
JP2013020425A (ja) | オープンソースソフトウェアを利用したハードウェア・ソフトウェア協調検証方法 | |
Kim et al. | Output-based intermediate representation for translation of test-pattern program | |
Devi et al. | Efficient implementation of memory controllers and memories and virtual platform | |
TWI793774B (zh) | 固態硬碟裝置的除錯方法及裝置以及電腦程式產品 | |
Wronka et al. | Embedded software debug in simulation and emulation environments for interface IP | |
CN117454835A (zh) | 保存和读取波形数据的方法、电子设备以及存储介质 | |
Yu | FSSD-EM: FPGA-based SSD emulator with energy modeling |
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: 20140903 Termination date: 20220213 |
|
CF01 | Termination of patent right due to non-payment of annual fee |