CN115840696A - 一种模块级形式验证测试平台、使用方法、设备及介质 - Google Patents
一种模块级形式验证测试平台、使用方法、设备及介质 Download PDFInfo
- Publication number
- CN115840696A CN115840696A CN202211528022.6A CN202211528022A CN115840696A CN 115840696 A CN115840696 A CN 115840696A CN 202211528022 A CN202211528022 A CN 202211528022A CN 115840696 A CN115840696 A CN 115840696A
- Authority
- CN
- China
- Prior art keywords
- level
- formal verification
- module
- interface
- test platform
- 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
Images
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明公共了一种模块级形式验证测试平台、使用方法、设备及介质,此平台将可重用部分与不可重用部分进行拆分,由不可重用的形式验证环境和模块化的可重用组件,即形式验证组件构成,形式验证组件提供了简单而干净的接口,为集成到更高层级的验证环境中提供了条件,这样跨层级和跨系统的代码重用时将不会出现重复的工作,通过将多个形式验证组件集成到仿真测试平台中,创建了系统级覆盖率,所有的覆盖率数据可以合并到统一的系统级覆盖率数据库中,这样将验证架构划分为不同的系统时,不会引入意外的验证空隙。
Description
技术领域
本发明涉及芯片验证技术领域,具体为一种模块级形式验证测试平台、使用方法、设备及介质。
背景技术
现代复杂的SoC设计完成后需要进行全面而严格的验证。随着SoC设计复杂度的增加,芯片验证的工作量呈指数增长。目前基于随机约束的动态仿真仍然是从模块级到SoC级的主流验证方法,但与动态仿真相比,形式验证的重要优点是可以可靠地进行详尽的证明,可以覆盖100%的状态空间、拥有更简单的测试系统结构。
要想在复杂设计中找出边界情况的漏洞,形式验证具有广泛公认的优势,因此许多公司在SoC验证的交付流程中还会添加形式验证。如此一来,SoC级的验证方法已经从完全的动态仿真演变为包括形式验证和动态仿真混合验证的方法。虽然在动态仿真中加入形式验证进行混合方式的验证在验证质量上可以有明显的提高,但也不可避免地会给整体验证架构增加了复杂性,并且带来两个主要问题:1)跨层级和跨系统的代码重用会导致重复的工作;2)将验证架构划分为不同的系统时,可能会引入意外的验证空隙,从而导致缺陷逃逸。
需要解决上述两点主要问题,才能使得整个验证流程中减少重复性工作,保证验证质量。为了提高项目的交付流程速度,以跟上产品的开发进度,提高生产率,我们需要一种系统的重用方法,将形式验证系统在其他系统中进行复用。本文提出了一种构建可重用形式验证组件的系统方法,以便在更高层级的验证系统中复用模块级已有的形式验证的部分,以实现形式验证代码的重用,且能提高形式验证系统和其他仿真系统之间的相互协同性。
发明内容
本发明目的在于提供一种模块级形式验证测试平台、使用方法、设备及介质,以克服现有技术中跨层级和跨系统的代码重用会导致重复的工作,将验证架构划分为不同的系统时,可能会引入意外的验证空隙,从而导致缺陷逃逸的问题。
为实现上述目的,本发明提供如下技术方案:
一种模块级形式验证测试平台,包括能重用的形式验证组件和不能重用的形式验证环境;
所述形式验证组件包括的检查器模型、配置模块、覆盖率模型、形式化总线模型和形式验证组件接口;
检查器模型:用于验证设计功能;
配置模块:用于控制形式验证组件的模式、内部结构的启用/禁用;
覆盖率模型:用于度量验证的完整性;
形式化验证组件接口:用于与DUT和测试平台的其他部分通信;
形式化总线模型:用于形式验证组件接口协议的建模和检查。
优选地,配置模块具体适用方法为:配置模块中包含ACTIVE参数,当ACTIVE参数配置为1时,表示形式验证组件处于活跃模式,当ACTIVE配置为0时,形式验证组件处于非活跃模式,仅启用形式验证组件。
优选地,形式验证组件接口包括:DUT连接接口、覆盖率采样接口和自由变量控制接口;
所述DUT连接接口用于连接DUT;
所述覆盖率采样接口用于将覆盖率进行重用的验证接口;
所述自由变量控制接口是所有自由变量的集合,且在端口处获取外部参数,并使用这些参数控制驱动方式。
优选地,DUT连接接口使用bind语句来连接DUT。
优选地,形式化总线模型由约束、断言和覆盖组成,根据接口协议的要求实现一些符合规则的属性,并根据当前信号的传输方向来选择将这些属性定义为约束还是断言。
优选地,检查器模型采用sva断言或sv建模来实现。
优选地,形式验证组件还包括端到端约束,所述端到端约束用于当涉及多个接口的设计行为时,根据各个接口之间的依赖关系来创建属性,以确保接口之间按照预期协同工作。
一种模块级形式验证测试平台的使用方法,基于上述系统,首先使用多个形式验证组件,分别通过DUT连接接口绑定到DUT上,再将每个覆盖率采样接口连接到系统级测试平台内的系统级覆盖率模型,最后将每个自由变量控制接口连接到系统级仿真测试系统中的事务处理器,系统级测试平台就继承了所有的模块级检查器以及模块级覆盖率事件,再将模块级事件组合在一起,创建了系统级覆盖率,所有的覆盖率数据可以合并到统一的系统级覆盖率数据库中。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述一种模块级形式验证测试平台使用方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述一种模块级形式验证测试平台使用方法的步骤。
与现有技术相比,本发明具有以下有益效果:本发明提供了一种模块级形式验证测试平台,此平台将可重用部分与不可重用部分进行拆分,由不可重用的形式验证环境和模块化的可重用组件,即形式验证组件构成,通过配置形式验证组件宗的检查器模型、配置模块、覆盖率模型、形式化总线模型和形式验证组件接口,并且形式验证组件提供了简单而干净的接口,为集成到更高层级的验证环境中提供了条件,这样跨层级和跨系统的代码重用时将不会出现重复的工作。
本发明还提供了一种模块级形式验证测试平台的使用方法,通过将多个形式验证组件集成到仿真测试平台中,创建了系统级覆盖率,所有的覆盖率数据可以合并到统一的系统级覆盖率数据库中,这样将验证架构划分为不同的系统时,不会引入意外的验证空隙。
附图说明
图1为本发明提供的模块级形式验证测试平台示意图;
图2为本发明提供的形式验证组件结构示意图;
图3为在系统仿真平台中集成本发明提供的形式验证组件示意图。
具体实施方式
下面结合具体的实施例对本发明做进一步的详细说明,所述是对本发明的解释而不是限定。
如图1所示为一个模块级形式验证测试平台,此测试平台完整并且测试平台将可重用部分与不可重用部分进行拆分,由不可重用的形式验证环境和模块化的可重用组件,即形式验证组件构成。形式验证组件提供了简单而干净的接口,以便于集成到更高层级的验证环境中。形式验证环境和形式验证组件都以sv(SystemVerilog)模块的方式实现,使用bind语句将形式验证环境和形式验证组件连接到DUT(design under test)。
形式验证环境包含约束、断言、覆盖和其他不能进行重用的模型,来检查一些特定配置下设计的功能。
形式验证组件是一个层次化的、可配置的sv模块。它由可重用的约束、检查器模型和覆盖率模型等组成。
如图2所示为形式验证组件结构示意图。形式验证组件包含:
1、导入具有预定义数据结构或函数的sv包,并通过参数进行配置。
2、配置模块。对形式验证组件的模式、内部结构的启用/禁用等统一由配置模块进行控制。
其中包含ACTIVE参数,当该值配置为1时,表示形式验证组件处于活跃模式,可以在形式验证工具中独立运行模块级的证明。
当ACTIVE配置为0时,形式验证组件处于非活跃模式,仅启用所有平台兼容的可重用部分,用于集成到更高层级的验证环境中。
3、形式验证组件接口。形式验证组件中有三个主要的接口用来与DUT和测试平台的其他部分通信:
3.1、DUT连接接口。该接口中的信号与真实DUT端口中的信号一一对应。通过该接口,使用bind语句来连接形式验证组件和DUT。
3.2、覆盖率采样接口。该接口是一个用于将覆盖率进行重用的验证接口。它包含重要的模块级事件的采样信号,这些事件是覆盖率目标的一部分。在形式验证组件中,这些事件信号用于对有意义的设计行为进行采样。在集成形式验证组件时,该接口连接到更高层级的覆盖率模型,以创建模块间事件的覆盖率。
3.3、自由变量控制接口。自由变量是在形式验证平台中额外定义的内部变量,具有一定的约束条件,以扩展形式化分析。默认情况下这些自由变量是没有驱动的,因此需要额外的驱动逻辑来驱动这些自由变量。自由变量控制接口是所有自由变量的集合,且在端口处将外部参数传递进来,使用这些参数来控制驱动方式。
在模块级形式验证中,将参数ACTIVE配置为1,启用由自由变量控制的约束。
当在仿真中集成形式验证组件时,将ACTIVE配置为0,禁用其中的约束,该接口需要连接到对自由变量有驱动的更高层级的仿真测试平台。
4、形式化总线模型。
形式化总线模型是独立完整的、可重用的基于断言的验证IP(Assertion-BasedVerification IP,ABVIP),用于接口协议建模和检查。形式化总线模型由约束、断言和覆盖组成,根据接口协议的要求实现一些符合规则的属性,并根据当前信号的传输方向来选择将这些属性定义为约束还是断言。
形式化总线模型在模块级验证平台中独立使用时,应根据DUT的总线接口类型是主机端还是从机端来选择信号方向,将输入信号相关的属性定义为约束,将输出信号相关的属性定义为断言进行检查。
形式化总线模型在更高层次测试平台中作为形式验证组件的一部分来使用时,是充当接口代理层来约束和检查接口行为。在相邻模块之间的接口上,可以复用同一组属性。对模块1输出信号的相关属性在其形式验证组件中定义为断言,以检查设计行为。同时这组属性又在使用相同接口的相邻模块2中被用作相同输入信号的约束,用来约束该模块输入信号的行为。形式化总线模型中的属性还可以定义为覆盖,用于收集接口的功能覆盖率。
对于标准总线接口,可选用工具供应商提供的稳定vip,并在形式化总线模型中封装第三方vip。
5、端到端约束。
对于涉及多个接口的设计行为,需要进行端到端约束,根据各个接口之间的依赖关系来创建属性,以确保接口之间按照预期协同工作。
这些信号的相关属性被单独放置在形式验证组件的一个模块当中。从端口传递进来的ACTIVE参数用于控制这些属性的模式。
当ACTIVE配置为1时,端到端约束在模块级验证平台中使用,这些属性被定义为约束。
当ACTIVE配置为0时,形式验证组件被集成到更高层级的测试平台中,端到端约束中的属性将被定义为断言,以检查模块中各个接口在集成后的协同性。
6、检查器模型
检查器模型用于验证设计功能。检查器模型可以用sva断言或sv建模来实现。形式验证的比较器通常用于预期输出和实际输出之间的有序或乱序的数据比较。当集成到更高层级的环境中时,所有封装在形式验证组件内部的检查器模型都可以复用。
7、覆盖率模型
覆盖率模型用于度量验证的完整性。在覆盖率模型中,使用覆盖组或覆盖属性来实现功能覆盖点,收集已经执行的设计行为。
在整个验证过程中,覆盖点不会被无条件采样,而是只在某些事件发生时进行采样,这些事件同时应触发相应的检查程序检查DUT的输出行为。
对于重要的采样事件,将其连接到覆盖率采样接口中,以实现更高层级的重用。
从端口将ACTIVE参数传递进来,用于控制某些覆盖点是否启用:
1)在模块级的形式验证测试平台中,为实现较为全面的覆盖而达到可交付的目标,覆盖率模型中覆盖点的数量普遍非常庞大。此时应将ACTIVE参数配置为1,以启用所有的覆盖点。
2)在更高层级的环境中重用覆盖率模型时,有些模块功能无需再次覆盖,此外在系统中仿真资源十分珍贵,因此只需有选择地重用覆盖率模型中的某些覆盖点。此时将ACTIVE参数配置为0,以禁用这些无需复用的覆盖点。
在更高层级的环境中,若有需要,可创建额外的覆盖点来满足环境的需求。
如图3所示为将形式验证组件集成至系统级仿真平台的方法示意图。
将模块级形式验证组件集成到系统级仿真平台中,需要连接每个形式验证组件实例的三个接口:
1、将每个形式验证组件通过DUT连接接口绑定到其DUT。在bind语句中,将ACTIVE参数配置为0,以便形式验证组件在非活跃模式下工作。
2、将每个覆盖率采样接口连接到仿真测试平台内的系统级覆盖率模型。在创建系统级用例的覆盖率时可以有效利用模块级事件。
3、将每个自由变量控制接口连接到系统级仿真测试平台中的事务处理器。测试用例可以通过事务处理器来驱动随机合法的形式验证自由变量。
系统级测试平台使用事务处理器驱动激励进入DUT。将形式验证组件集成进系统级测试平台,测试平台就继承了所有的模块级检查器以及重要的模块级覆盖率事件。这些模块级事件组合在一起,可用于创建系统级覆盖率。所有的覆盖点收集到的数据可以合并到统一的系统级覆盖率数据库中。
本发明实施例提供的终端设备。该实施例的终端设备包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序。所述处理器执行所述计算机程序时实现上述各个方法实施例中的步骤。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块的功能。
所述计算机程序可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器中,并由所述处理器执行,以完成本发明。
所述终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器、存储器。
所述处理器可以是中央处理单元(CentralProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现成可编程门阵列(Field-ProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
所述存储器可用于存储所述计算机程序和模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和模块,以及调用存储在存储器内的数据,实现所述终端设备的各种功能。
所述终端设备集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
尽管以上结合附图对本发明的实施方案进行了描述,但是本发明并不局限于上述的具体实施方案和应用领域,上述的具体实施方案仅仅是示意性的、指导性的,而不是限制性的。本领域的普通技术人员在说明书的启示下,在不脱离本发明权利要求所保护的范围的情况下,还可以做出很多种的形式,这些均属于本发明保护之列。
Claims (10)
1.一种模块级形式验证测试平台,其特征在于,包括能重用的形式验证组件和不能重用的形式验证环境;
所述形式验证组件包括的检查器模型、配置模块、覆盖率模型、形式化总线模型和形式验证组件接口;
检查器模型:用于验证设计功能;
配置模块:用于控制形式验证组件的模式、内部结构的启用/禁用;
覆盖率模型:用于度量验证的完整性;
形式化验证组件接口:用于与DUT和测试平台的其他部分通信;
形式化总线模型:用于形式验证组件接口协议的建模和检查。
2.根据权利要求1所述的一种模块级形式验证测试平台,其特征在于,所述配置模块具体适用方法为:配置模块中包含ACTIVE参数,当ACTIVE参数配置为1时,表示形式验证组件处于活跃模式,当ACTIVE配置为0时,形式验证组件处于非活跃模式,仅启用形式验证组件。
3.根据权利要求1所述的一种模块级形式验证测试平台,其特征在于,所述形式验证组件接口包括:DUT连接接口、覆盖率采样接口和自由变量控制接口;
所述DUT连接接口用于连接DUT;
所述覆盖率采样接口用于将覆盖率进行重用的验证接口;
所述自由变量控制接口是所有自由变量的集合,且在端口处获取外部参数,并使用这些参数控制驱动方式。
4.根据权利要求3所述的一种模块级形式验证测试平台,其特征在于,所述DUT连接接口使用bind语句来连接DUT。
5.根据权利要求1所述的一种模块级形式验证测试平台,其特征在于,所述形式化总线模型由约束、断言和覆盖组成,根据接口协议的要求实现一些符合规则的属性,并根据当前信号的传输方向来选择将这些属性定义为约束还是断言。
6.根据权利要求1所述的一种模块级形式验证测试平台,其特征在于,所述检查器模型采用sva断言或sv建模来实现。
7.根据权利要求1所述的一种模块级形式验证测试平台,其特征在于,所述形式验证组件还包括端到端约束,所述端到端约束用于当涉及多个接口的设计行为时,根据各个接口之间的依赖关系来创建属性,以确保接口之间按照预期协同工作。
8.一种模块级形式验证测试平台的使用方法,基于权利要求1-7所述的系统,其特征在于,首先使用多个形式验证组件,分别通过DUT连接接口绑定到DUT上,再将每个覆盖率采样接口连接到系统级测试平台内的系统级覆盖率模型,最后将每个自由变量控制接口连接到系统级仿真测试系统中的事务处理器,系统级测试平台就继承了所有的模块级检查器以及模块级覆盖率事件,再将模块级事件组合在一起,创建了系统级覆盖率,所有的覆盖率数据可以合并到统一的系统级覆盖率数据库中。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求8所述一种模块级形式验证测试平台使用方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求8所述一种模块级形式验证测试平台使用方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211528022.6A CN115840696A (zh) | 2022-11-30 | 2022-11-30 | 一种模块级形式验证测试平台、使用方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211528022.6A CN115840696A (zh) | 2022-11-30 | 2022-11-30 | 一种模块级形式验证测试平台、使用方法、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115840696A true CN115840696A (zh) | 2023-03-24 |
Family
ID=85577587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211528022.6A Pending CN115840696A (zh) | 2022-11-30 | 2022-11-30 | 一种模块级形式验证测试平台、使用方法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115840696A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116719747A (zh) * | 2023-08-07 | 2023-09-08 | 上海类比半导体技术有限公司 | 一种芯片多版本的验证方法 |
-
2022
- 2022-11-30 CN CN202211528022.6A patent/CN115840696A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116719747A (zh) * | 2023-08-07 | 2023-09-08 | 上海类比半导体技术有限公司 | 一种芯片多版本的验证方法 |
CN116719747B (zh) * | 2023-08-07 | 2023-11-03 | 上海类比半导体技术有限公司 | 一种芯片多版本的验证方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bringmann et al. | Model-based testing of automotive systems | |
US8606538B2 (en) | Method of testing an electronic system | |
CN107562969B (zh) | 航空发动机控制系统软件的集成方法和装置 | |
CN106446412B (zh) | 一种航空电子系统基于模型的测试方法 | |
CN107633155B (zh) | 用于组件故障树的基于计算机的生成的方法和设备 | |
CN104598373B (zh) | 一种多技术融合的嵌入式软件测试方法 | |
CN111176984A (zh) | 一种面向信号的自动测试实现方法 | |
CN115563019A (zh) | 一种uvm与c联合验证方法和系统 | |
CN115840696A (zh) | 一种模块级形式验证测试平台、使用方法、设备及介质 | |
US8265918B1 (en) | Simulation and emulation of a circuit design | |
CN112380084A (zh) | 一种故障注入与仿真验证方法 | |
CN116431103B (zh) | 一种面向嵌入式软件的数字化DevOps平台设计方法 | |
US20100153053A1 (en) | Stream Based Stimulus Definition and Delivery via Interworking | |
US20220269593A1 (en) | Automatic generation of integrated test procedures using system test procedures | |
Bhatt et al. | Model-based development and the implications to design assurance and certification | |
CN110717305A (zh) | 适用于fpga的验证与确认的方法、系统、设备及介质 | |
Wang et al. | Reuse issues in SoC verification platform | |
Kim | Test driven mobile applications development | |
Ray et al. | Validating automotive control software using instrumentation-based verification | |
Erkkinen et al. | Model-based design for DO-178B with qualified tools | |
CN112613200A (zh) | 一种基于FPGA的Petri网模拟仿真平台 | |
CN114721286A (zh) | 分布式编译的并行实时仿真系统和仿真方法 | |
CN116562204B (zh) | 芯片验证方法及装置、电子设备、计算机可读存储介质 | |
US20230419009A1 (en) | Computer-implemented method for simulating an electrical circuit by means of a real-time platform | |
WO2009047685A2 (en) | Assertion based verification of interconnected subsystems |
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 |