CN114692538A - 一种并行形式验证方法、装置、计算机设备及介质 - Google Patents
一种并行形式验证方法、装置、计算机设备及介质 Download PDFInfo
- Publication number
- CN114692538A CN114692538A CN202210366648.5A CN202210366648A CN114692538A CN 114692538 A CN114692538 A CN 114692538A CN 202210366648 A CN202210366648 A CN 202210366648A CN 114692538 A CN114692538 A CN 114692538A
- Authority
- CN
- China
- Prior art keywords
- verification
- task
- formal verification
- formal
- verification task
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3323—Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/12—Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Geometry (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Architecture (AREA)
- Human Computer Interaction (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及集成电路技术领域,尤其涉及一种并行形式验证方法、装置、计算机设备及介质。所述方法包括:基于多个验证需求定义与每个验证需求对应的形式验证任务,其中,每个形式验证任务均设置有验证环境的入口文件;将所定义的形式验证任务的名称添加到分层验证计划文件中;响应于接收到验证请求,则从所述分层验证计划文件中读取所定义的形式验证任务的名称,并根据每个形式验证任务的名称将对应的形式验证任务拷贝到验证平台的工作目录下;查找并运行所述工作目录下每个形式验证任务的入口文件以启动多个形式验证任务。本发明的方案实现了多个形式验证任务同时处理,可以大大节省形式验证所消耗的总体仿真时间,显著提高验证效率。
Description
技术领域
本发明涉及集成电路技术领域,尤其涉及一种并行形式验证方法、装置、计算机设备及介质。
背景技术
随着芯片集成度和复杂度的不断增加,功能验证的难度也在迅速增大。如何定义一个完备的验证空间,以全面覆盖芯片所有可能的应用场景,是验证工程师们正在面临的一项挑战。形式验证是一种基于严格的数学算法和模型,根据设计规范提取电路的属性描述,在合理的约束条件下穷举和遍历系统运行过程中电路可能达到的所有状态,并自动进行数学分析和证明的新型验证方法。形式验证凭借验证完备性和可靠性,以及验证工具的高度自动化和高效性等独特优势,在业内得到了越来越广泛的应用。
在实际项目中,需要根据不同的验证场景构建多个形式验证任务。因此,如何进行多任务的管理,成为形式验证工作中需要考虑的一个问题。处理多任务的一种方式是按顺序依次执行,即一个任务处理完成后再去处理下一个任务,可以很直观地看到,这种方式需要消耗的总时间为所有任务执行时间的总和。目前的形式验证平台每一次只能提交和执行一个任务,因此只能采用顺序执行的方式。此外,现有形式验证虽然能够很好的管理和控制单个任务的仿真过程和仿真结果的分析,但是不能较好地管理和控制多个并行执行的任务。
发明内容
有鉴于此,有必要针对以上技术问题,提供一种并行形式验证方法、装置、计算机设备及介质。
根据本发明的第一方面,提供了一种并行形式验证方法,所述方法包括:
基于多个验证需求定义与每个验证需求对应的形式验证任务,其中,每个形式验证任务均包括验证环境的入口文件;
将所定义的形式验证任务的名称添加到分层验证计划文件中;
响应于接收到验证请求,则从所述分层验证计划文件中读取所定义的形式验证任务的名称,并根据每个形式验证任务的名称将对应的形式验证任务拷贝到验证平台的工作目录下;
查找并运行所述工作目录下每个形式验证任务的入口文件以启动多个形式验证任务。
在一些实施例中,所述方法包括:
对每个形式验证任务的执行过程进行记录,以生成每个形式验证任务对应的仿真报告;
对每个仿真报告进行分析以生成每个形式验证任务的执行结果,并对所述执行结果进行展示。
在一些实施例中,所述对每个仿真报告进行分析以生成每个形式验证任务的执行结果,并对所述执行结果进行展示的步骤包括:
查询所述仿真报告中是否存预设关键词;
响应于所述仿真报告中存在所述预设关键词,则确认仿真报告对应的形式验证任务执行失败;
响应于所述仿真报告中不存在所述预设关键词,则确认仿真报告对应的形式验证任务执行成功。
在一些实施例中,所述方法还包括:
接收用户对所定义的形式验证任务的选择以得到目标形式验证任务;
所述将所定义的形式验证任务的名称添加到分层验证计划文件中的步骤包括:将所述目标形式验证任务的名称添加到分层验证计划文件中。
根据本发明的第二方面,提供了一种并行形式验证装置,所述装置包括:
定义模块,用于基于多个验证需求定义与每个验证需求对应的形式验证任务,其中,每个形式验证任务均包括验证环境的入口文件;
添加模块,用于将所定义的形式验证任务的名称添加到分层验证计划文件中;
读取模块,用于响应于接收到验证请求,则从所述分层验证计划文件中读取所定义的形式验证任务的名称,并根据每个形式验证任务的名称将对应的形式验证任务拷贝到所验证平台的工作目录下;
执行模块,用于查找并运行所述工作目录下每个形式验证任务的入口文件以启动执行多个形式验证任务。
在一些实施例中,所述装置包括:
记录模块,用于对每个形式验证任务的执行过程进行记录,以生成每个形式验证任务对应的仿真报告;
分析模块,用于对每个仿真报告进行分析以生成每个形式验证任务的执行结果,并对所述执行结果进行展示。
在一些实施例中,所述分析模块进一步用于:
查询所述仿真报告中是否存预设关键词;
响应于所述仿真报告中存在所述预设关键词,则确认仿真报告对应的形式验证任务执行失败;
响应于所述仿真报告中不存在所述预设关键词,则确认仿真报告对应的形式验证任务执行成功。
在一些实施例中,所述装置还包括:
选择模块,用于接收用户对所定义的形式验证任务的选择以得到目标形式验证任务;
所述添加模块进一步用于:将所述目标形式验证任务的名称添加到分层验证计划文件中。
根据本发明的第三方面,还提供了一种计算机设备,该计算机设备包括:
至少一个处理器;以及
存储器,存储器存储有可在处理器上运行的计算机程序,处理器执行程序时执行前述的并行形式验证方法。
根据本发明的第四方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时执行前述的并行形式验证方法。
上述一种并行形式验证方法,基于验证需求定义各验证需求对应的形式验证任务,各形式验证任务相互独立,将所定义的形式验证任务的名称添加到分层验证计划文件中,当需要执行验证请求时,从分层验证计划的文件中读取形式验证任务的名称,再将形式验证任务拷贝到验证平台的工作目录下,最后查找并运行工作目录下每个形式验证任务的入口文件从而启动多个形式验证任务,实现了多个形式验证任务同时处理,使得验证执行的总体消耗的时间只与执行时间最长的任务有关,可以大大节省形式验证所消耗的总体仿真时间,显著提高验证效率。
此外,本发明还提供了一种并行形式验证装置、一种计算机设备和一种计算机可读存储介质,同样能实现上述技术效果,这里不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1本发明一个实施例提供的一种并行形式验证方法的流程示意图;
图2为本发明一个实施例提供的多任务并行的形式验证平台结构示意图;
图3为本发明一个实施例提供的形式验证任务的树形结构图;
图4为本发明一个实施例提供的仿真结果分析流程图;
图5为本发明一个实施例提供的一种并行形式验证装置的结构示意图;
图6为本发明另一个实施例中计算机设备的内部结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
首先声明以下实施例中出现的缩略语和关键属于定义:
Tool Command Language(简称TCL):工具命令语言;
Hierarchical Verification Plan(简称HVP):分层验证计划;
Load Sharing Facility(简称LSF):负荷分配设施;
Register Transfer Level(简称RTL):寄存器传输级;
SystemVerilog Assertion(简称SVA):系统硬件描述语言断言;
Assertion Property Checking(简称APC):断言属性检查;
Formal Property Verification(简称FPV):形式验证属性验证;
Connectivity Checking(简称CC):连接性检查;
Sequential Equivalence Checking(简称SEC):时序一致性检查。
在一个实施例中,请参照图1所示,本发明提供了一种并行形式验证方法100,具体来说,所述方法包括以下步骤:
步骤101,基于多个验证需求定义与每个验证需求对应的形式验证任务,其中,每个形式验证任务均包括验证环境的入口文件;
在本实施例中,形式验证任务是根据不同的场景构建的多个形式验证用例,每一个验证用例负责验证一种功能场景。构建一个验证任务,首先要定义一个可以被形式验证工具直接识别的TCL脚本,工具启动之后直接执行该TCL脚本;然后在TCL脚本里调用其他脚本对验证环境进行配置或者向验证环境中传递参数;最后在验证环境的顶层使用Shell脚本编写一个环境的入口,在系统的命令行执行该Shell脚本,就会启动形式验证工具,形式验证工具启动后就会直接执行TCL脚本,然后依次调用其他一系列脚本和命令,以完成对验证任务的控制和执行。对每一个验证任务都建立这样一个独立的验证环境,并且每一个验证任务都定义一个的任务名
步骤102,将所定义的形式验证任务的名称添加到分层验证计划文件(即HVP文件)中;
步骤103,响应于接收到验证请求,则从所述分层验证计划文件中读取所定义的形式验证任务的名称,并根据每个形式验证任务的名称将对应的形式验证任务拷贝到验证平台的工作目录下;
步骤104,查找并运行所述工作目录下每个形式验证任务的入口文件以启动多个形式验证任务。
上述一种并行形式验证方法,基于验证需求定义各验证需求对应的形式验证任务,各形式验证任务相互独立,将所定义的形式验证任务的名称添加到分层验证计划文件中,当需要执行验证请求时,从分层验证计划的文件中读取形式验证任务的名称,再将形式验证任务拷贝到验证平台的工作目录下,最后查找并运行工作目录下每个形式验证任务的入口文件从而启动多个形式验证任务,实现了多个形式验证任务同时处理,使得验证执行的总体消耗的时间只与执行时间最长的任务有关,可以大大节省形式验证所消耗的总体仿真时间,显著提高验证效率。
在一些实施例中,所述方法包括:
对每个形式验证任务的执行过程进行记录,以生成每个形式验证任务对应的仿真报告;
对每个仿真报告进行分析以生成每个形式验证任务的执行结果,并对所述执行结果进行展示。
在一些实施例中,所述对每个仿真报告进行分析以生成每个形式验证任务的执行结果,并对所述执行结果进行展示的步骤包括:
查询所述仿真报告中是否存预设关键词;
响应于所述仿真报告中存在所述预设关键词,则确认仿真报告对应的形式验证任务执行失败;
响应于所述仿真报告中不存在所述预设关键词,则确认仿真报告对应的形式验证任务执行成功。
在一些实施例中,所述方法还包括:
接收用户对所定义的形式验证任务的选择以得到目标形式验证任务;
所述将所定义的形式验证任务的名称添加到分层验证计划文件中的步骤包括:将所述目标形式验证任务的名称添加到分层验证计划文件中。
在一些实施例中,请结合图2和图3所示,为了便于理解本发明的技术方案,以一种可视化回归测试工具实现验证任务的提交为例说明本发明的技术方案,具体来说一种并行形式验证方法的实施方式如下:首先,根据验证需求在HVP文件中添加验证任务,并定义好验证平台的工作目录;接着,回归测试工具根据HVP中的任务名,把该验证任务所对应的验证环境拷贝到工作目录下;最终,回归测试工具找到相应验证环境的顶层入口文件,并把该文件名作为一个命令,通过LSF系统提交给server去执行。回归测试工具可以同时提交多个任务,因此可以很好的实现,并通过可视化界面控制管理,根据需要选择待执行的任务。
图2示出了含有多任务并行形式验证平台的主要组成部分,下面分别从形式验证任务和回归测试工具两部分进行描述。
第一部分:定义形式验证任务
本发明中一个形式验证任务就是一个独立的验证环境。形式验证任务的结构主要由以下几个部分组成:docs,bind,rtl,sva,scripts,和work。这几个部分及其各自内部的层级,将整个验证任务构建成了一个树形结构。一个典型的形式验证任务的树形结构如下图3所示。
(1)文档(docs)
这一部分主要负责存放相关参考文档,备注说明,注意事项,标准流程等文档。这些文档可以帮助用户更好的理解当前验证任务。
(2)绑定(bind)
根据SVA语法,可以把断言语句放到具体的设计里面,也可以单独做成一个module的检查器,把module检查器和RTL设计bind在一起。本发明推荐使用后者,把SVA断言单独封装成一个检查器,这样做会便于后期SVA断言的维护和调试。
(3)设计代码(rtl)
这一部分放的是待验证的设计。但是一般情况下,设计的结构比较复杂,设计模块也比较多,所以如果把所有设计文件都放在这里就会比较难以管理。因此,预先把所有RTL设计文件根据功能模块放在不同的目录下,再把这些目录的路径整理成一个列表。所以这个部分实际上放的是一个RTL文件列表。
(4)断言检查器(sva)
如上文所述,本发明中把SVA断言单独封装成一个检查器,然后把检查器和RTL设计bind在一起。而封装好的检查器就放置在本部分中
(5)脚本(scripts)
当对形式验证任务进行一些配置或者向形式验证任务内部传递一些必要的参数的时候,就需要一系列脚本的帮助,而scripts就是放置所有脚本的地方。根据功能,可以把脚本分为两大模块:控制模块和验证模块。
控制模块负责实现对形式验证任务属性的配置,以及对形式验证任务全流程的控制。其内部负责属性配置的脚本包括:约束条件(constraints),黑盒设置(black-boxsetting),时钟复位定义(clk-rst definition),等。负责全流程控制的是控制脚本(ctrl.tcl)。
验证模块是一套完整的验证命令,这一系列命令是形式验证工具内部定义的命令,只有验证工具可以识别和执行。验证模块负责实现的就是基于断言属性的检查(APC)。
(6)工作空间(work)
本发明中工作空间是整个形式验证任务启动和运行的地方,它是整个形式验证任务的入口。回归测试工具就是根据形式验证任务的名字找到该任务的工作空间,然后直接执行工作空间中定义的可执行文件run_formal,依次调用所有脚本,有序地完成整个形式验证任务。
第二部分:回归测试工具
回归测试工具负责形式验证任务的提交。根据验证需求预先在HVP中添加形式验证任务,回归测试工具读到任务名时会自动寻找相应的形式验证任务,然后通过exec直接执行该任务工作空间中的run_formal脚本。当run_formal脚本被执行后,整个形式验证任务就会被启动,直到整个任务执行完毕。任务执行过程中回归测试工具会打印一些仿真报告,并且当仿真执行结束时会对仿真报告进行分析,最终将仿真执行的结果返回到回归测试工具的可视化界面。用户可以根据界面中返回的“PASS”或者“FAIL”来得到当前任务执行的结果。如果是“FAIL”,则可以通过check_log来查看仿真过程中所有的error和warning信息。
(1)参数入口-HVP
如上述,HVP是回归测试工具的输入源。通过对HVP的解析,获取每一个任务的:项目名称,层次路径,模块名称,验证计划名称,和任务名等等。一个典型的HVP结构如下:
(2)配置信息-config
回归测试工具的启动和运行也需要一些配置信息,这些配置信息统一集中放在config文件。这些配置信息包括指定一些目录来帮助回归测试工具搜索相关文件,或者可以设置最多可以同时运行的任务数量等等。
…
MY_SIM_DIR=/xxx/xxx/xxx/
MY_LOG_DIR=/xxx/xxx/xxx/xxx.log
MY_WORK_DIR=/xxx/xxx/xxx/work
MY_HVP_DIR=/xxx/xxx/xxx.hvp
MAX_TASK=10
USR_CFG=/xxx/xxx/usr.cfg
…
(3)管理执行–exec(控制管理模块)
回归测试工具从一开始的启动和初始化,到接受形式验证任务申请,根据任务名建立形式验证任务,再到形式验证任务的提交和具体执行等等一系列流程,都需要进行管理和调度,这个功能就是由exec来完成的。下面展示了exec的部分代码实现:
…
-run_cmd:formal_env
-echo“This step is to build formal env and run formal task.”
-cp–rf${FML_ENV}/task_xxx${MY_WORK_DIR}
-cd${MY_WORK_DIR}/task_xxx/work/
-make clean
-run_formal
-make restore
…
这部分代码主要实现了形式验证任务的建立和运行,流程中其他环节的实现方法和代码的组织结构与之类似。回归测试工具就是依据以上exec文件去控制和管理整个流程的每一步和每一个环节。
(4)结果分析–check_log
回归测试工具支持自动分析仿真日志log文件功能。仿真结束后,回归测试工具会收集所有的仿真日志,然后从中筛选出所有的warning,error和fatal信息并输出到check_log_result文件。在实际项目中很多warning信息可以不用关心,有些error信息有可能是假错误或者误报,这个时候就需要让回归测试工具自动排查和过滤。工具根据仿真日志文件中出现warning,error和fatal的数量,并结合误报过滤机制,最终分析出一个仿真结果。
请结合图4所示,如果一次提交多个任务,则通过回归测试工具的可视化界面,可以很直观的看到每一个任务的仿真的结果。如果仿真失败,则并可以通过check_log操作迅速打开check_log_result文件,查看所有的错误信息。
下面结合以上所提及的形式验证任务和回归测试工具详细说明多任务并行的实现过程:
步骤一,定义HVP;根据验证计划分解出明确的验证目标。每一个验证目标定义一个形式验证任务,将所有的任务声明在HVP的feature模块的source变量中。
步骤二,建立形式验证任务;根据验证目标,选择合适的形式验证模式(FPV、CC、SEC等),再根据验证需要基于APC编写完备且精确的检查器模型(checker),最后按照图3所示的形式验证任务的树形结构组织和建立一个完整且独立的形式验证任务。
步骤三,配置回归测试工具;在启动回归测试工具前,配置好工具的config文件。根据上文所述,在config中定义好回归测试工具运行时所需要的目录路径,最大任务数量等配置信息。
步骤四,启动和运行;在回归测试工具的工作目录下启动工具,弹出可视化图形界面。选择界面中的“hvp”按键,将第一步定义好的HVP加载到工具中。根据验证需求,可以任意选中需要执行的形式验证任务,然后在被选中的状态下点击界面中的“submit”即可批量提交所选任务。任务提交成功后,可以通过图形界面实时地观察任务运行的状态。
步骤五,仿真结果分析;当一个形式验证任务执行结束后,回归测试工具会自动分析该任务的仿真结果,并在图形界面非常直观地显示本次仿真是“成功(即PASS)”还是“失败(即FAIL)”。如果仿真失败,则可以通过图形界面的check_log功能,直接查看被筛选出来的所有异常信息。如果需要进一步地追踪、定位和调试,则可以通过make restore命令调出Verdi图形化调试工具,重建本次仿真的session。Session中包含代码信息,波形信息,电路结构和信号驱动信息等。
本实施例的一种并行形式验证方法至少具备以下有益技术效果:通过一系列脚本将验证目标封装为一个独立的形式验证任务,并可以同时提交多个任务,实现了对多任务并行的支持。这种方法可以根据需求选择一次可以提交多少个任务,并且也可以根据需要对每个任务进行一些配置。当用户需要同时跑多个形式验证任务时,只需要定义好任务名,然后就可以在可视化界面非常直观地对多个任务进行批量操作。控制管理模块(exec)和可视化界面使得用户对验证过程的控制非常方便,具有非常高的灵活性。同时验证任务的树形结构具有很强的可扩展性、可迭代性和可复用性,任务中所有的脚本都可以复用到不同的模块或者不同的项目中,而多任务并行的特性可以显著提高形式验证的验证效率。
在一些实施例中,请结合图5所示,本发明还提供了一种并行形式验证装置200,所述装置包括:
定义模块201,用于基于多个验证需求定义与每个验证需求对应的形式验证任务,其中,每个形式验证任务均包括验证环境的入口文件;
添加模块202,用于将所定义的形式验证任务的名称添加到分层验证计划文件中;
读取模块203,用于响应于接收到验证请求,则从所述分层验证计划文件中读取所定义的形式验证任务的名称,并根据每个形式验证任务的名称将对应的形式验证任务拷贝到所验证平台的工作目录下;
执行模块204,用于查找并运行所述工作目录下每个形式验证任务的入口文件以启动执行多个形式验证任务。
上述一种并行形式验证装置,基于验证需求定义各验证需求对应的形式验证任务,各形式验证任务相互独立,将所定义的形式验证任务的名称添加到分层验证计划文件中,当需要执行验证请求时,从分层验证计划的文件中读取形式验证任务的名称,再将形式验证任务拷贝到验证平台的工作目录下,最后查找并运行工作目录下每个形式验证任务的入口文件从而启动多个形式验证任务,实现了多个形式验证任务同时处理,使得验证执行的总体消耗的时间只与执行时间最长的任务有关,可以大大节省形式验证所消耗的总体仿真时间,显著提高验证效率。
在一些实施例中,所述装置包括:
记录模块,用于对每个形式验证任务的执行过程进行记录,以生成每个形式验证任务对应的仿真报告;
分析模块,用于对每个仿真报告进行分析以生成每个形式验证任务的执行结果,并对所述执行结果进行展示。
在一些实施例中,所述分析模块进一步用于:
查询所述仿真报告中是否存预设关键词;
响应于所述仿真报告中存在所述预设关键词,则确认仿真报告对应的形式验证任务执行失败;
响应于所述仿真报告中不存在所述预设关键词,则确认仿真报告对应的形式验证任务执行成功。
在一些实施例中,所述装置还包括:
选择模块,用于接收用户对所定义的形式验证任务的选择以得到目标形式验证任务;
所述添加模块进一步用于:将所述目标形式验证任务的名称添加到分层验证计划文件中。
需要说明的是,关于并行形式验证装置的具体限定可以参见上文中对并行形式验证方法的限定,在此不再赘述。上述并行形式验证装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
根据本发明的另一方面,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图请参照图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时实现以上所述的并行形式验证方法,具体来说,所述方法包括以下步骤:
基于多个验证需求定义与每个验证需求对应的形式验证任务,其中,每个形式验证任务均包括验证环境的入口文件;
将所定义的形式验证任务的名称添加到分层验证计划文件中;
响应于接收到验证请求,则从所述分层验证计划文件中读取所定义的形式验证任务的名称,并根据每个形式验证任务的名称将对应的形式验证任务拷贝到验证平台的工作目录下;
查找并运行所述工作目录下每个形式验证任务的入口文件以启动多个形式验证任务。
根据本发明的又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上所述的并行形式验证方法,具体来说,包括执行以下步骤:
基于多个验证需求定义与每个验证需求对应的形式验证任务,其中,每个形式验证任务均包括验证环境的入口文件;
将所定义的形式验证任务的名称添加到分层验证计划文件中;
响应于接收到验证请求,则从所述分层验证计划文件中读取所定义的形式验证任务的名称,并根据每个形式验证任务的名称将对应的形式验证任务拷贝到验证平台的工作目录下;
查找并运行所述工作目录下每个形式验证任务的入口文件以启动多个形式验证任务。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种并行形式验证方法,其特征在于,所述方法包括:
基于多个验证需求定义与每个验证需求对应的形式验证任务,其中,每个形式验证任务均包括验证环境的入口文件;
将所定义的形式验证任务的名称添加到分层验证计划文件中;
响应于接收到验证请求,则从所述分层验证计划文件中读取所定义的形式验证任务的名称,并根据每个形式验证任务的名称将对应的形式验证任务拷贝到验证平台的工作目录下;
查找并运行所述工作目录下每个形式验证任务的入口文件以启动多个形式验证任务。
2.根据权利要求1所述的并行形式验证方法,其特征在于,所述方法包括:
对每个形式验证任务的执行过程进行记录,以生成每个形式验证任务对应的仿真报告;
对每个仿真报告进行分析以生成每个形式验证任务的执行结果,并对所述执行结果进行展示。
3.根据权利要求2所述的并行形式验证方法,其特征在于,所述对每个仿真报告进行分析以生成每个形式验证任务的执行结果,并对所述执行结果进行展示的步骤包括:
查询所述仿真报告中是否存预设关键词;
响应于所述仿真报告中存在所述预设关键词,则确认仿真报告对应的形式验证任务执行失败;
响应于所述仿真报告中不存在所述预设关键词,则确认仿真报告对应的形式验证任务执行成功。
4.根据权利要求1所述的并行形式验证方法,其特征在于,所述方法还包括:
接收用户对所定义的形式验证任务的选择以得到目标形式验证任务;
所述将所定义的形式验证任务的名称添加到分层验证计划文件中的步骤包括:将所述目标形式验证任务的名称添加到分层验证计划文件中。
5.一种并行形式验证装置,其特征在于,所述装置包括:
定义模块,用于基于多个验证需求定义与每个验证需求对应的形式验证任务,其中,每个形式验证任务均包括验证环境的入口文件;
添加模块,用于将所定义的形式验证任务的名称添加到分层验证计划文件中;
读取模块,用于响应于接收到验证请求,则从所述分层验证计划文件中读取所定义的形式验证任务的名称,并根据每个形式验证任务的名称将对应的形式验证任务拷贝到所验证平台的工作目录下;
执行模块,用于查找并运行所述工作目录下每个形式验证任务的入口文件以启动执行多个形式验证任务。
6.根据权利要求5所述的并行形式验证装置,其特征在于,所述装置包括:
记录模块,用于对每个形式验证任务的执行过程进行记录,以生成每个形式验证任务对应的仿真报告;
分析模块,用于对每个仿真报告进行分析以生成每个形式验证任务的执行结果,并对所述执行结果进行展示。
7.根据权利要求6所述的并行形式验证装置,其特征在于,所述分析模块进一步用于:
查询所述仿真报告中是否存预设关键词;
响应于所述仿真报告中存在所述预设关键词,则确认仿真报告对应的形式验证任务执行失败;
响应于所述仿真报告中不存在所述预设关键词,则确认仿真报告对应的形式验证任务执行成功。
8.根据权利要求1所述的并行形式验证装置,其特征在于,所述装置还包括:
选择模块,用于接收用户对所定义的形式验证任务的选择以得到目标形式验证任务;
所述添加模块进一步用于:将所述目标形式验证任务的名称添加到分层验证计划文件中。
9.一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器中运行的计算机程序,所述处理器执行所述程序时执行权利要求1-4任意一项所述的并行形式验证方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行权利要求1-4任意一项所述的并行形式验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210366648.5A CN114692538A (zh) | 2022-04-08 | 2022-04-08 | 一种并行形式验证方法、装置、计算机设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210366648.5A CN114692538A (zh) | 2022-04-08 | 2022-04-08 | 一种并行形式验证方法、装置、计算机设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114692538A true CN114692538A (zh) | 2022-07-01 |
Family
ID=82143561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210366648.5A Pending CN114692538A (zh) | 2022-04-08 | 2022-04-08 | 一种并行形式验证方法、装置、计算机设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114692538A (zh) |
-
2022
- 2022-04-08 CN CN202210366648.5A patent/CN114692538A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6182245B1 (en) | Software test case client/server system and method | |
CA3131079A1 (en) | Test case generation method and device, computer equipment and storage medium | |
CN109189469B (zh) | 基于反射的安卓应用微服务化方法及系统 | |
CN111832236A (zh) | 一种芯片回归测试方法、系统、电子设备及存储介质 | |
CN106227654B (zh) | 一种测试平台 | |
CN109933521A (zh) | 基于bdd的自动化测试方法、装置、计算机设备及存储介质 | |
US12118339B2 (en) | Image file obtaining method and apparatus | |
CN110069404A (zh) | 代码调试方法、装置、设备及介质 | |
CN114297056A (zh) | 一种自动化测试方法及系统 | |
CN112685312A (zh) | 一种未覆盖代码的测试用例推荐方法及装置 | |
CN114996127A (zh) | 固态硬盘固件模块智能化测试方法及系统 | |
CN110750457A (zh) | 一种基于内存数据库的自动化单元测试方法及装置 | |
Thooriqoh et al. | Selenium Framework for Web Automation Testing: A Systematic Literature Review | |
CN114297961A (zh) | 一种芯片测试用例处理方法及相关装置 | |
CN117806654A (zh) | 一种基于Tekton的自定义云原生DevOps流水线系统及方法 | |
CN111767218B (zh) | 一种用于持续集成的自动化测试方法、设备及存储介质 | |
US9396239B2 (en) | Compiling method, storage medium and compiling apparatus | |
CN109359039B (zh) | 一种提升Sahi自动化测试效率的方法 | |
CN114692538A (zh) | 一种并行形式验证方法、装置、计算机设备及介质 | |
CN115757172A (zh) | 测试执行方法、装置、存储介质及计算机设备 | |
CN113868140A (zh) | 一种自动化测试的方法及存储介质 | |
CN114116674A (zh) | 基于综合业务平台的业务建模方法、装置、介质及设备 | |
Deshpande et al. | Test automation and continuous integration using Jenkins for smart card OS | |
CN111090638A (zh) | 一种数据库迁移中交易功能的对比方法及装置 | |
CN112597669B (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 |