CN107885925A - 一种eda验证阶段的寄存器测试方法 - Google Patents
一种eda验证阶段的寄存器测试方法 Download PDFInfo
- Publication number
- CN107885925A CN107885925A CN201711067061.XA CN201711067061A CN107885925A CN 107885925 A CN107885925 A CN 107885925A CN 201711067061 A CN201711067061 A CN 201711067061A CN 107885925 A CN107885925 A CN 107885925A
- Authority
- CN
- China
- Prior art keywords
- register
- test
- write
- type
- read
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明公开了一种EDA验证阶段的寄存器测试方法,属于集成电路开发技术领域。其包括组建寄存器测试平台、编写寄存器测试程序以及寄存器测试等步骤。本发明测试过程中,寄存器测试程序减少了对测试场景的依赖性,可贯穿整个EDA验证阶段,并实现了最大化的随机测试,是对现有技术的一个重要改进。
Description
技术领域
本发明涉及集成电路开发技术领域,特别是指一种EDA验证阶段的寄存器测试方法。
背景技术
随着芯片行业技术的发展,集成电路的规模、复杂度越来越高,也伴随了集成电路内部的寄存器的数量和类型的增加。单个功能模块的寄存器数量就可达到几百个甚至上千个,因此,寄存器功能的正确性,也是影响整个芯片成功与否的关键因素。
System Verilog简称SV,它建立在Verilog语言的基础上,是IEEE1364Verilog-2001标准的扩展增强,兼容Verilog2001,成为下一代硬件设计和验证的语言。SV是当前EDA(电子设计自动化)验证阶段的主流验证语言,在它基础上发展起来的方法学(例如VMM验证方法学)为EDA验证带来了极大的方便。其中,VMM的RAL(Register Abstraction Layer寄存器抽象层验证技术和方案)是对待测设计(DUT)中的寄存器建立高层次的面向对象的抽象层。此抽象层提供了DUT中所有寄存器的模型,封装了寄存器访问的接口,为寄存器访问过程提供了方便。
上述的验证方法学工具只是提供了一种寄存器访问接口,提高了寄存器访问的层次,仍不能有效地保证寄存器功能测试的完备性。
发明内容
有鉴于此,本发明提出一种EDA验证阶段的寄存器测试方法,其能够有效地加快EDA验证阶段的寄存器测试工作,大大缩短验证时间。
基于上述目的,本发明提供的技术方案是:
一种EDA验证阶段的寄存器测试方法,该方法用于对待验证设计进行寄存器测试,包括以下步骤:
(1)基于VMM验证方法学构建验证环境,抽象RAL寄存器模型,组建寄存器测试平台;
(2)运行测试向量开始仿真,在仿真的同时并行地调用寄存器测试程序对寄存器进行测试,检查测试向量是否正确完成;
(3)若步骤(2)所做测试正常完成,且测试向量正确完成,则待验证设计通过测试。
可选的,所述步骤(2)中的寄存器测试程序包括以下测试方法:
(201)读写类型寄存器干扰测试:根据测试向量筛选本测试场景无关的读写类型寄存器,然后以随机间隔的方式对此类型寄存器进行随机类型的操作,校验随机类型操作中读/写数据的正确性;
(202)只读类型寄存器干扰测试:用随机数以随机间隔的方式对此类型的寄存器进行写操作,同时根据测试向量读取此寄存器的内容并进行正确性校验;
(203)只写类型寄存器干扰测试:根据测试向量筛选本测试场景无关的只写类型寄存器,然后以随机间隔的方式对此类型寄存器进行随机类型的操作;
(204)1次写类型寄存器干扰测试:以随机间隔的方式对此类型寄存器进行随机类型的操作,将读出数据值与该寄存器复位后首次写入的数据进行比较,进行正确性检查;
(205)读清类型寄存器干扰测试:在保证此读清寄存器功能正常的前提下,用随机数以随机间隔方式对此类型寄存器进行写操作;
(206)写1清类型寄存器干扰测试:以随机间隔的方式对此类型寄存器进行随机类型的操作,根据测试向量的场景对读出来的数据进行正确性检查;
所述随机类型的操作是指在读和写两种操作类型中随机地选择其一进行操作;步骤(201)、(203)和(204)中,进行写操作时写入的是一个随机数;步骤(206)中,进行写操作时写入的是0。
从上面的叙述可以看出,本发明技术方案的有益效果在于:
本发明中的寄存器测试程序,采用与正常测试向量并行运行的机制,在保证正常测试向量功能正确的同时对各种类型的寄存器进行干扰测试,从而达到对寄存器功能测试的目的。在测试过程中,寄存器测试程序减少了对测试场景的依赖性,可贯穿整个EDA验证阶段,并实现了最大化的随机测试。
本发明的发明人通过分析认为,在寄存器测试过程中,验证语言、验证平台不是寄存器完备性测试的主要因素,针对不同类型的寄存器,制定特定的测试方法,才是寄存器测试的关键点。可见,本发明方法确实是对现有技术的一个重要改进。
附图说明
为了更加清楚地描述本专利,下面提供一幅或多幅附图,这些附图旨在对本专利的背景技术、技术原理和/或某些具体实施方案做出辅助说明。需要注意的是,这些附图可以给出也可以不给出一些在本专利文字部分已有描述且属于本领域普通技术人员公知常识的具体细节;并且,因为本领域的普通技术人员完全可以结合本专利已公开的文字内容和/或附图内容,在不付出任何创造性劳动的情况下设计出更多的附图,因此下面这些附图可以涵盖也可以不涵盖本专利文字部分所叙述的所有技术方案。此外,这些附图的具体内涵需要结合本专利的文字内容予以确定,当本专利的文字内容与这些附图中的某个明显结构不相符时,需要结合本领域的公知常识以及本专利其他部分的叙述来综合判断到底是本专利的文字部分存在笔误,还是附图中存在绘制错误。特别地,以下附图均为示例性质的图片,并非旨在暗示本专利的保护范围,本领域的普通技术人员通过参考本专利所公开的文字内容和/或附图内容,可以在不付出任何创造性劳动的情况下设计出更多的附图,这些新附图所代表的技术方案依然在本专利的保护范围之内。
图1是本发明实施例的方法流程图。
具体实施方式
为了便于本领域技术人员对本专利技术方案的理解,同时,为了使本专利的技术目的、技术方案和有益效果更加清楚,并使权利要求书的保护范围得到充分支持,下面以具体案例的形式对本专利的技术方案做出进一步的、更详细的说明。
一种EDA验证阶段的寄存器测试方法,该方法用于对待验证设计进行寄存器测试,包括以下步骤:
(1)基于VMM(Verification Methodology Manual)验证方法学构建验证环境,抽象RAL(Register Abstraction Layer)寄存器模型,组建寄存器测试平台;
(2)运行测试向量开始仿真,在仿真的同时并行地调用寄存器测试程序对寄存器进行测试,检查测试向量是否正确完成;
(3)若步骤(2)所做测试正常完成,且测试向量正确完成,则待验证设计通过测试。
步骤(2)中寄存器测试程序可以针对不同类型的寄存器,独立编写测试进程,并且在测试向量的仿真中并行运行,已达到寄存器测试的目的。
可选的,所述步骤(2)中的寄存器测试程序包括以下测试方法:
(201)读写(RW)类型寄存器干扰测试:根据测试向量筛选本测试场景无关的读写类型寄存器,然后以随机间隔的方式对此类型寄存器进行随机类型的操作,校验随机类型操作中读/写数据的正确性;
(202)只读(RO)类型寄存器干扰测试:用随机数以随机间隔的方式对此类型的寄存器进行写操作,同时根据测试向量读取此寄存器的内容并进行正确性校验;
(203)只写(WO)类型寄存器干扰测试:根据测试向量筛选本测试场景无关的只写类型寄存器,然后以随机间隔的方式对此类型寄存器进行随机类型的操作;
(204)1次写(W1)类型寄存器干扰测试:以随机间隔的方式对此类型寄存器进行随机类型的操作,将读出数据值与该寄存器复位后首次写入的数据进行比较,进行正确性检查;
(205)读清(RC)类型寄存器干扰测试:在保证此读清寄存器功能正常的前提下,用随机数以随机间隔方式对此类型寄存器进行写操作;
(206)写1清(W1C)类型寄存器干扰测试:以随机间隔的方式对此类型寄存器进行随机类型的操作,根据测试向量的场景对读出来的数据进行正确性检查;
所述随机类型的操作是指在读和写两种操作类型中随机地选择其一进行操作;步骤(201)、(203)和(204)中,进行写操作时写入的是一个随机数,显然,随机数的取值范围与寄存器的存储长度相关;步骤(206)中,进行写操作时写入的是0。所谓随机间隔是指相邻两次操作之间的时间间隔是随机的。
本发明中的寄存器测试程序,采用与正常测试向量并行运行的机制,在保证正常测试向量功能正确的同时对各种类型的寄存器进行干扰测试,从而达到对寄存器功能测试的目的。在测试过程中,寄存器测试程序减少了对测试场景的依赖性,可贯穿整个EDA验证阶段,并实现了最大化的随机测试,是对现有技术的一个重要改进。
需要理解的是,上述对于本专利具体实施方式的叙述仅仅是为了便于本领域普通技术人员理解本专利方案而列举的示例性描述,并非暗示本专利的保护范围仅仅被限制在这些个例中,本领域普通技术人员完全可以在对本专利技术方案做出充分理解的前提下,以不付出任何创造性劳动的形式,通过对本专利所列举的各个例采取组合技术特征、替换部分技术特征、加入更多技术特征等等方式,得到更多的具体实施方式,所有这些具体实施方式均在本专利权利要求书的涵盖范围之内,因此,这些新的具体实施方式也应在本专利的保护范围之内。
此外,出于简化叙述的目的,本专利也可能没有列举一些寻常的具体实施方案,这些方案是本领域普通技术人员在理解了本专利技术方案后能够自然而然想到的,显然,这些方案也应包含在本专利的保护范围之内。
出于简化叙述的目的,上述各具体实施方式对于技术细节的公开程度可能仅仅达到本领域技术人员可以自行决断的程度,即,对于上述具体实施方式没有公开的技术细节,本领域普通技术人员完全可以在不付出任何创造性劳动的情况下,在本专利技术方案的充分提示下,借助于教科书、工具书、论文、专利、音像制品等等已公开文献予以完成,或者,这些细节是在本领域普通技术人员的通常理解下,可以根据实际情况自行作出决定的内容。可见,即使不公开这些技术细节,也不会对本专利技术方案的公开充分性造成影响。
总之,在结合了本专利说明书对权利要求书保护范围的解释作用的基础上,任何落入本专利权利要求书涵盖范围的具体实施方案,均在本专利的保护范围之内。
Claims (2)
1.一种EDA验证阶段的寄存器测试方法,其特征在于,用于对待验证设计进行寄存器测试,包括以下步骤:
(1)基于VMM验证方法学构建验证环境,抽象RAL寄存器模型,组建寄存器测试平台;
(2)运行测试向量开始仿真,在仿真的同时并行地调用寄存器测试程序对寄存器进行测试,检查测试向量是否正确完成;
(3)若步骤(2)所做测试正常完成,且测试向量正确完成,则待验证设计通过测试。
2.根据权利要求1所述的EDA验证阶段的寄存器测试方法,其特征在于,所述步骤(2)中的寄存器测试程序包括以下测试方法:
(201)读写类型寄存器干扰测试:根据测试向量筛选本测试场景无关的读写类型寄存器,然后以随机间隔的方式对此类型寄存器进行随机类型的操作,校验随机类型操作中读/写数据的正确性;
(202)只读类型寄存器干扰测试:用随机数以随机间隔的方式对此类型的寄存器进行写操作,同时根据测试向量读取此寄存器的内容并进行正确性校验;
(203)只写类型寄存器干扰测试:根据测试向量筛选本测试场景无关的只写类型寄存器,然后以随机间隔的方式对此类型寄存器进行随机类型的操作;
(204)1次写类型寄存器干扰测试:以随机间隔的方式对此类型寄存器进行随机类型的操作,将读出数据值与该寄存器复位后首次写入的数据进行比较,进行正确性检查;
(205)读清类型寄存器干扰测试:在保证此读清寄存器功能正常的前提下,用随机数以随机间隔方式对此类型寄存器进行写操作;
(206)写1清类型寄存器干扰测试:以随机间隔的方式对此类型寄存器进行随机类型的操作,根据测试向量的场景对读出来的数据进行正确性检查;
所述随机类型的操作是指在读和写两种操作类型中随机地选择其一进行操作;步骤(201)、(203)和(204)中,进行写操作时写入的是一个随机数;步骤(206)中,进行写操作时写入的是0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711067061.XA CN107885925B (zh) | 2017-11-03 | 2017-11-03 | 一种eda验证阶段的寄存器测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711067061.XA CN107885925B (zh) | 2017-11-03 | 2017-11-03 | 一种eda验证阶段的寄存器测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107885925A true CN107885925A (zh) | 2018-04-06 |
CN107885925B CN107885925B (zh) | 2021-06-29 |
Family
ID=61778535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711067061.XA Active CN107885925B (zh) | 2017-11-03 | 2017-11-03 | 一种eda验证阶段的寄存器测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107885925B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078674A (zh) * | 2019-12-31 | 2020-04-28 | 贵州电网有限责任公司 | 一种配网设备的数据识别与纠错方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101815951A (zh) * | 2008-07-21 | 2010-08-25 | 新思科技有限公司 | 用于可配置扫描架构的测试设计优化器 |
CN102567165A (zh) * | 2011-12-29 | 2012-07-11 | 中国科学院自动化研究所 | 对寄存器传输级硬件实现进行验证的系统及方法 |
CN103699112A (zh) * | 2013-11-29 | 2014-04-02 | 中国航空无线电电子研究所 | 基于io信号故障仿真的航电自检测验证设备及其验证方法 |
CN103823747A (zh) * | 2012-11-16 | 2014-05-28 | 上海华虹集成电路有限责任公司 | 自动回归测试的方法 |
CN103838653A (zh) * | 2012-11-27 | 2014-06-04 | 上海华虹集成电路有限责任公司 | 基于vmm ral的寄存器自动化验证方法 |
CN105302950A (zh) * | 2015-10-19 | 2016-02-03 | 北京精密机电控制设备研究所 | 一种软、硬件协同的可编程逻辑器件交联仿真测试方法 |
US20160275008A1 (en) * | 2013-11-25 | 2016-09-22 | Freescale Semiconductor, Inc. | Data processing device and method of conducting a logic test in a data processing device |
CN106021631A (zh) * | 2015-03-24 | 2016-10-12 | 上海图元软件技术有限公司 | 交互式数字集成电路仿真验证方法、服务器、客户端及系统 |
-
2017
- 2017-11-03 CN CN201711067061.XA patent/CN107885925B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101815951A (zh) * | 2008-07-21 | 2010-08-25 | 新思科技有限公司 | 用于可配置扫描架构的测试设计优化器 |
CN102567165A (zh) * | 2011-12-29 | 2012-07-11 | 中国科学院自动化研究所 | 对寄存器传输级硬件实现进行验证的系统及方法 |
CN103823747A (zh) * | 2012-11-16 | 2014-05-28 | 上海华虹集成电路有限责任公司 | 自动回归测试的方法 |
CN103838653A (zh) * | 2012-11-27 | 2014-06-04 | 上海华虹集成电路有限责任公司 | 基于vmm ral的寄存器自动化验证方法 |
US20160275008A1 (en) * | 2013-11-25 | 2016-09-22 | Freescale Semiconductor, Inc. | Data processing device and method of conducting a logic test in a data processing device |
CN103699112A (zh) * | 2013-11-29 | 2014-04-02 | 中国航空无线电电子研究所 | 基于io信号故障仿真的航电自检测验证设备及其验证方法 |
CN106021631A (zh) * | 2015-03-24 | 2016-10-12 | 上海图元软件技术有限公司 | 交互式数字集成电路仿真验证方法、服务器、客户端及系统 |
CN105302950A (zh) * | 2015-10-19 | 2016-02-03 | 北京精密机电控制设备研究所 | 一种软、硬件协同的可编程逻辑器件交联仿真测试方法 |
Non-Patent Citations (1)
Title |
---|
刘涵: "基于SystemVerilog的URAT模块功能验证", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078674A (zh) * | 2019-12-31 | 2020-04-28 | 贵州电网有限责任公司 | 一种配网设备的数据识别与纠错方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107885925B (zh) | 2021-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10007492B2 (en) | System and method for automatically generating device drivers for run time environments | |
CN104346272B (zh) | 芯片自动仿真验证系统 | |
CN112131829A (zh) | 一种芯片寄存器的验证方法、系统及相关装置 | |
CN107329899A (zh) | 一种应用程序兼容性测试方法和装置 | |
CN102831272B (zh) | 用于双边沿触发器的可测试性设计方法 | |
CN112417798B (zh) | 一种时序测试方法、装置、电子设备及存储介质 | |
CN107480382A (zh) | 一种快速收敛的覆盖率驱动验证方法 | |
CN108153920A (zh) | 集成电路设计的rtl阶段期间的时钟门控验证 | |
US20060090149A1 (en) | Simulation testing of digital logic circuit designs | |
CN112069754A (zh) | 芯片设计方法、系统、设备以及存储介质 | |
CN108335718A (zh) | 一种测试方法及装置 | |
CN114330177A (zh) | 芯片寄存器的系统级验证方法、系统、设备及存储介质 | |
CN113672520A (zh) | 测试案例的生成方法、装置、电子设备及存储介质 | |
CN117094269B (zh) | 一种验证方法、装置、电子设备及可读存储介质 | |
JP4180757B2 (ja) | シミュレーション装置 | |
Miller et al. | Single-event upset mitigation for xilinx FPGA block memories | |
CN107885925A (zh) | 一种eda验证阶段的寄存器测试方法 | |
CN106201538B (zh) | 一种基于rucm的实时性测试方法 | |
US9672094B1 (en) | Interconnect circuitry fault detection | |
CN113760751B (zh) | 生成测试用例的方法、电子设备及存储介质 | |
CN107992675A (zh) | 一种eda验证阶段的仲裁电路测试方法 | |
US20100057425A1 (en) | Automatically creating manufacturing test rules pertaining to an electronic component | |
CN105260545B (zh) | 一种可编程电路系统的验证方法 | |
CN108153961A (zh) | 一种用于芯片验证的寄存器生成方法装置 | |
CN105117314B (zh) | 一种Memory模块的验证方法及系统 |
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 |