CN105354121A - 一种用于验证多种读写方式存储模块的验证平台的搭建方法 - Google Patents
一种用于验证多种读写方式存储模块的验证平台的搭建方法 Download PDFInfo
- Publication number
- CN105354121A CN105354121A CN201510819084.6A CN201510819084A CN105354121A CN 105354121 A CN105354121 A CN 105354121A CN 201510819084 A CN201510819084 A CN 201510819084A CN 105354121 A CN105354121 A CN 105354121A
- Authority
- CN
- China
- Prior art keywords
- memory module
- read
- write
- function
- test
- 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
- 238000012795 verification Methods 0.000 title claims abstract description 31
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000012360 testing method Methods 0.000 claims abstract description 82
- 230000006870 function Effects 0.000 claims abstract description 71
- 239000013598 vector Substances 0.000 claims abstract description 46
- 238000013515 script Methods 0.000 claims abstract description 21
- 230000000052 comparative effect Effects 0.000 claims description 3
- 238000013461 design Methods 0.000 abstract description 12
- 238000012942 design verification Methods 0.000 abstract description 2
- 238000011161 development Methods 0.000 abstract description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及IC设计验证领域,具体涉及一种用于验证多种读写方式存储模块的验证平台的搭建方法。本发明首先建立存储模块参数文档,然后使用verilog语言编写存储模块基本读写函数,比较函数,使用参数及IO口对各基本函数进行配置,形成适用于不同存储模块的通用测试函数库;之后,编写验证平台生成脚本,使用该脚本通过读取存储模块参数文档,调用通用测试函数库,可以生成适用于不同读写模式存储模块的测试向量;最后,使用测试向量对被测存储模块进行读写功能测试。本发明适用于验证各种存取周期、数据宽度、大小的存储模块,可以迅速完成对当前设计中各存储模块的精确且完备的功能测试,验证平台通用性、自动化程度很高,在提高验证效率的同时减少人为错误,大大缩短芯片开发周期。
Description
技术领域
本发明专利涉及IC设计验证领域,具体涉及一种用于验证多种读写方式存储模块的验证平台的搭建方法。
背景技术
目前,电子信息技术产业发展迅速,对于专用芯片的性能要求越来越高,为了满足不同的设计需求,芯片中有许多不同读写模式的存储模块,一方面,这些模块具有不同的数据宽度,大小,读写周期,读写方式等;另一方面,在存储模块外围,有许多复杂的控制逻辑和数据处理逻辑。
为了测试这些不同的存储模块,传统方法是通过统一的验证平台,设计特别的测试向量进行测试。这种方法的缺点是,需要手动设计数量巨大的测试向量,大大提高了验证工作的工作量,同时很容易引入人工错误;另外,通过统一的验证平台运行测试向量进行测试实际上是同时测试该存储模块及其外围复杂的控制逻辑和数据处理逻辑,不容易定位错误源头,测试周期长等。
因此,在功能验证中存储模块的验证工作占据了相当大的工作量。
发明内容
为了解决现有技术的问题,本发明提供了一种用于验证多种读写方式存储模块的验证平台的搭建方法,其通过使用脚本语言,基于存储模块参数文档,完成对不同设计中不同读写模式的存储模块的独立测试向量生成、独立测试环境搭建等的高度自动化的通用存储模块测试平台的设计和搭建。
本发明所采用的技术方案如下:
一种用于验证多种读写方式存储模块的验证平台的搭建方法,包括以下步骤:
A、根据存储模块参数文档模板,建立当前存储模块的参数文档;
B、编写存储模块基本读写函数、比较函数、结果统计打印函数,使用参数及IO口对各基本函数进行配置,形成适用于不同存储模块的通用测试函数库;
C、编写验证平台生成脚本,使用该脚本通过读取存储模块参数文档,调用通用测试函数库,可以生成适用于不同读写模式存储模块的测试向量;
D、使用测试向量对被测存储模块进行读写功能测试,至此,完成存储模块测试向量的生成,开始使用该测试向量对对应存储模块进行测试。
步骤A中的参数文件包括数据宽度、深度、读写模式。
步骤B中,使用verilog语言编写函数库,函数库的基本读写函数和比较函数的地址总线宽度、数据总线宽度、读写延时等配置信息可以通过硬件描述语言的模块参数特性在测试向量中进行配置,读写数据、地址等可通过函数库的IO口进行传递,测试结果通过比较函数完成自动化比对,并将比较结果以文本形式打印输出成log文档,在测试向量运行最后调用结果统计打印函数,完成测试结果总结,并讲结果打印输出到log文档。
步骤C中,生成脚本的基本工作流程包括:
C1、读取前面编写的当前需要的存储模块的存储模块参数文档,将读入存储模块参数按所使用脚本语言分别存入相应的数据结构;
C2、根据数据结构中保存的存储模块的模块参数,在测试向量中打印功能代码,实现通过实例化的函数库的参数将以上参数配置给基本读写函数、比较函数、结果统计打印函数;
C3、根据数据结构中保存的存储模块的读写方式等存取模式信息,调用相应的基本读写函数,生成符合读写方式的测试函数序列,将函数命令打印输出到测试向量文件中,完成测试向量的测试功能代码,最后打印输出结果统计打印函数到测试向量文件中,完成测试向量生成;
C4、重复以上步骤,将当前需要测试的存储模块分别生成对应的测试向量。
本发明通过使用自动化脚本,根据被测设计中存储模块参数文档,自动化生成对应不同数据宽度,深度,读写模式的存储模块的测试向量,设计需要修改存储模块时或多个不同设计需要搭建功能验证平台时,只需要完成它们的存储模块参数文档,即可使用本方法实现的通用平台完成对应的存储模块测试向量的生成,而无需像传统方法,在统一的验证平台中人工设计多个不同的测试向量,大幅提高了功能验证的效率,降低人为错误,缩短项目周期。
本发明的有益效果是:
本发明提出了一种新颖而实用的用于验证多种读写方式存储模块的验证平台的设计及搭建方法,通过使用脚本语言,实现了通过文本文档完成用于多种读写模式存取模块测试向量的生成,快速而高效的完成对设计中各个存储模块的功能验证。该方法实施方便,流程简单,高效稳定,可以大幅缩短功能验证过程中对各存储模块的验证时间。搭建的存储模块验证平台具有高度的自动化、通用和可重用特点,可以大幅提高功能验证效率。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合实施方式作进一步地详细描述。
实施例一
本实施例的一种用于验证多种读写方式存储模块的验证平台的搭建方法,包括以下步骤:
A、根据存储模块参数文档模板,建立当前存储模块的参数文档;存储模块参数文档的主要内容包括:根据芯片内部所有存储模块的数据位宽、名字、操作(可读、可写、只读、读后清零等)、地址、数据含义、初始值等参数,将各存储模块分别编写各自的存储模块参数文档。
B、编写存储模块基本读写函数、比较函数、结果统计打印函数,使用参数及IO口对各基本函数进行配置,形成适用于不同存储模块的通用测试函数库;使用verilog语言编写函数库,函数库的基本读写函数和比较函数的地址总线宽度、数据总线宽度、读写延时等配置信息可以通过硬件描述语言的模块参数特性在测试向量中进行配置,读写数据、地址等可通过函数库的IO口进行传递,测试结果通过比较函数完成自动化比对,并将比较结果以文本形式打印输出成log文档,在测试向量运行最后调用结果统计打印函数,完成测试结果总结,并讲结果打印输出到log文档。
本步骤中,编写基本读写函数、比较函数和结果统计打印函数,形成函数库,为不同存储模块封装测试函数。
C、编写验证平台生成脚本,使用该脚本通过读取存储模块参数文档,调用通用测试函数库,可以生成适用于不同读写模式存储模块的测试向量;
编写存储模块测试向量生成脚本,该脚本可以使用Perl等多种脚本语言实现。脚本通过读取存储模块参数文档配置函数库,根据参数文档中读写模式信息调用函数库中的测试函数完成测试命令代码,将代码打印输出给测试向量testcase.v。至此,用于验证多种读写方式存储模块的验证平台完成搭建。
生成脚本的基本工作流程具体包括:
C1、读取前面编写的当前需要的存储模块的存储模块参数文档,将读入存储模块参数按所使用脚本语言分别存入相应的数据结构;
C2、根据数据结构中保存的存储模块的模块参数,在测试向量中打印功能代码,实现通过实例化的函数库的参数将以上参数配置给基本读写函数、比较函数、结果统计打印函数;
C3、根据数据结构中保存的存储模块的读写方式等存取模式信息,调用相应的基本读写函数,生成符合读写方式的测试函数序列,将函数命令打印输出到测试向量文件中,完成测试向量的测试功能代码,最后打印输出结果统计打印函数到测试向量文件中,完成测试向量生成;
C4、重复以上步骤,将当前需要测试的存储模块分别生成对应的测试向量。
D、使用测试向量对存储模块进行功能验证。保证存储模块的数据宽度,大小,读写模式等和设计规范要求一致。
E、统计验证log文档,完成存储模块功能验证。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种用于验证多种读写方式存储模块的验证平台的搭建方法,包括以下步骤:
A、根据存储模块参数文档模板,建立当前存储模块的参数文档;
B、编写存储模块基本读写函数、比较函数、结果统计打印函数,使用参数及IO口对各基本函数进行配置,形成适用于不同存储模块的通用测试函数库;
C、编写验证平台生成脚本,使用该脚本通过读取存储模块参数文档,调用通用测试函数库,可以生成适用于不同读写模式存储模块的测试向量;
D、使用测试向量对被测存储模块进行读写功能测试,至此,完成存储模块测试向量的生成,开始使用该测试向量对对应存储模块进行测试。
2.根据权利要求1所述的一种用于验证多种读写方式存储模块的验证平台的搭建方法,其特征在于,所述步骤A中的参数文件包括数据宽度、深度、读写模式。
3.根据权利要求1所述的一种用于验证多种读写方式存储模块的验证平台的搭建方法,其特征在于,所述步骤B中,使用verilog语言编写函数库,函数库的基本读写函数和比较函数的地址总线宽度、数据总线宽度、读写延时等配置信息可以通过硬件描述语言的模块参数特性在测试向量中进行配置,读写数据、地址等可通过函数库的IO口进行传递,测试结果通过比较函数完成自动化比对,并将比较结果以文本形式打印输出成log文档,在测试向量运行最后调用结果统计打印函数,完成测试结果总结,并讲结果打印输出到log文档。
4.根据权利要求1所述的一种用于验证多种读写方式存储模块的验证平台的搭建方法,其特征在于,所述步骤C中,生成脚本的基本工作流程包括:
C1、读取前面编写的当前需要的存储模块的存储模块参数文档,将读入存储模块参数按所使用脚本语言分别存入相应的数据结构;
C2、根据数据结构中保存的存储模块的模块参数,在测试向量中打印功能代码,实现通过实例化的函数库的参数将以上参数配置给基本读写函数、比较函数、结果统计打印函数;
C3、根据数据结构中保存的存储模块的读写方式等存取模式信息,调用相应的基本读写函数,生成符合读写方式的测试函数序列,将函数命令打印输出到测试向量文件中,完成测试向量的测试功能代码,最后打印输出结果统计打印函数到测试向量文件中,完成测试向量生成;
C4、重复以上步骤,将当前需要测试的存储模块分别生成对应的测试向量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510819084.6A CN105354121A (zh) | 2015-11-20 | 2015-11-20 | 一种用于验证多种读写方式存储模块的验证平台的搭建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510819084.6A CN105354121A (zh) | 2015-11-20 | 2015-11-20 | 一种用于验证多种读写方式存储模块的验证平台的搭建方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105354121A true CN105354121A (zh) | 2016-02-24 |
Family
ID=55330095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510819084.6A Pending CN105354121A (zh) | 2015-11-20 | 2015-11-20 | 一种用于验证多种读写方式存储模块的验证平台的搭建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105354121A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776166A (zh) * | 2016-12-06 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种RDMA模式下Ceph存储集群测试方法及系统 |
CN106845000A (zh) * | 2017-02-13 | 2017-06-13 | 济南浪潮高新科技投资发展有限公司 | 一种基于脚本的用于ddr3模块的自动化验证平台的搭建方法 |
CN107391149A (zh) * | 2017-07-28 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种硬件平台的代码生成方法及装置 |
CN108153637A (zh) * | 2016-12-05 | 2018-06-12 | 武汉比亚迪汽车有限公司 | 检测eeprom读写功能的方法及装置 |
CN113176861A (zh) * | 2021-05-25 | 2021-07-27 | 北京物芯科技有限责任公司 | 一种实现存储器访问的方法、装置以及存储器 |
US20210406442A1 (en) * | 2020-06-30 | 2021-12-30 | Montage Lz Technologies (Chengdu) Co., Ltd. | Verification platform for system on chip and verification method thereof |
US11609980B2 (en) | 2020-05-08 | 2023-03-21 | Hewlett Packard Enterprise Development Lp | Memory module authentication extension |
US11650936B2 (en) | 2020-05-08 | 2023-05-16 | Hewlett Packard Enterprise Development Lp | Field-replaceable unit (FRU) secure component binding |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183406A (zh) * | 2007-12-25 | 2008-05-21 | 盛科网络(苏州)有限公司 | 网络芯片模块级功能验证测试平台的建立方法 |
CN103700407A (zh) * | 2013-12-14 | 2014-04-02 | 中国航空工业集团公司第六三一研究所 | 一种基于航空应用的国产化存储器应用验证方法 |
CN105069227A (zh) * | 2015-08-03 | 2015-11-18 | 浪潮集团有限公司 | 一种基于wishbone总线设计的功能验证平台的搭建方法 |
-
2015
- 2015-11-20 CN CN201510819084.6A patent/CN105354121A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183406A (zh) * | 2007-12-25 | 2008-05-21 | 盛科网络(苏州)有限公司 | 网络芯片模块级功能验证测试平台的建立方法 |
CN103700407A (zh) * | 2013-12-14 | 2014-04-02 | 中国航空工业集团公司第六三一研究所 | 一种基于航空应用的国产化存储器应用验证方法 |
CN105069227A (zh) * | 2015-08-03 | 2015-11-18 | 浪潮集团有限公司 | 一种基于wishbone总线设计的功能验证平台的搭建方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108153637A (zh) * | 2016-12-05 | 2018-06-12 | 武汉比亚迪汽车有限公司 | 检测eeprom读写功能的方法及装置 |
CN108153637B (zh) * | 2016-12-05 | 2021-07-09 | 武汉比亚迪汽车有限公司 | 检测eeprom读写功能的方法及装置 |
CN106776166A (zh) * | 2016-12-06 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种RDMA模式下Ceph存储集群测试方法及系统 |
CN106845000A (zh) * | 2017-02-13 | 2017-06-13 | 济南浪潮高新科技投资发展有限公司 | 一种基于脚本的用于ddr3模块的自动化验证平台的搭建方法 |
CN107391149A (zh) * | 2017-07-28 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种硬件平台的代码生成方法及装置 |
US11609980B2 (en) | 2020-05-08 | 2023-03-21 | Hewlett Packard Enterprise Development Lp | Memory module authentication extension |
US11650936B2 (en) | 2020-05-08 | 2023-05-16 | Hewlett Packard Enterprise Development Lp | Field-replaceable unit (FRU) secure component binding |
US11899777B2 (en) | 2020-05-08 | 2024-02-13 | Hewlett Packard Enterprise Development Lp | Memory module authentication extension |
US20210406442A1 (en) * | 2020-06-30 | 2021-12-30 | Montage Lz Technologies (Chengdu) Co., Ltd. | Verification platform for system on chip and verification method thereof |
US11514225B2 (en) * | 2020-06-30 | 2022-11-29 | Montage Lz Technologies (Chengdu) Co., Ltd. | Verification platform for system on chip and verification method thereof |
CN113176861A (zh) * | 2021-05-25 | 2021-07-27 | 北京物芯科技有限责任公司 | 一种实现存储器访问的方法、装置以及存储器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105354121A (zh) | 一种用于验证多种读写方式存储模块的验证平台的搭建方法 | |
CN104408264B (zh) | 一种基于断言的嵌入式存储控制器验证系统及方法 | |
US10354031B2 (en) | Information processing by interpenetrating signal transmission channel in design for testability of chip | |
US20100180263A1 (en) | Apparatus and method for detecting software error | |
US11520968B2 (en) | Verification platform for system on chip and verification method thereof | |
US11514225B2 (en) | Verification platform for system on chip and verification method thereof | |
CN104298595A (zh) | 自动化测试方法及测试系统 | |
CN113486625B (zh) | 芯片的验证方法与验证系统 | |
CN102201022A (zh) | 用于fpga验证的方法和装置 | |
CN105069227A (zh) | 一种基于wishbone总线设计的功能验证平台的搭建方法 | |
CN102737727B (zh) | 双倍速率同步动态随机存储器稳定性测试的方法及系统 | |
US6449750B1 (en) | Design verification device, method and memory media for integrated circuits | |
US10241888B2 (en) | Method to verify correctness of computer system software and hardware components and corresponding test environment | |
CN108197351B (zh) | 一种受单片机控制的集成电路的仿真验证方法 | |
CN105205019B (zh) | 基于高通平台手机的nv参数读写系统及方法 | |
CN102999663A (zh) | 一种soc芯片中的mmu的验证方法 | |
CN106971757A (zh) | 一种检验Nand Flash质量的方法及系统 | |
CN108647533B (zh) | 用于检测硬件木马的安全断言自动生成方法 | |
CN102495778A (zh) | 一种测试单包正则匹配逻辑的系统和方法 | |
US20140278329A1 (en) | Modeling Content-Addressable Memory For Emulation | |
Ramirez et al. | On UVM reliability in mixed-signal verification | |
CN100458800C (zh) | 电子电路设计的自动构建系统及自动构建方法 | |
CN115617673A (zh) | 基于Cosim平台的测试用例配置的方法及应用 | |
CN107729601B (zh) | 仿真过程中配置ram的方法、装置及计算机存储介质 | |
CN105787214A (zh) | 一种验证模型的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160224 |
|
WD01 | Invention patent application deemed withdrawn after publication |