CN116451621A - 一种功能覆盖率代码生成方法、系统、设备及介质 - Google Patents
一种功能覆盖率代码生成方法、系统、设备及介质 Download PDFInfo
- Publication number
- CN116451621A CN116451621A CN202310345255.0A CN202310345255A CN116451621A CN 116451621 A CN116451621 A CN 116451621A CN 202310345255 A CN202310345255 A CN 202310345255A CN 116451621 A CN116451621 A CN 116451621A
- Authority
- CN
- China
- Prior art keywords
- coverage
- coverage rate
- verification
- file
- group information
- 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
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000012795 verification Methods 0.000 claims abstract description 132
- 230000004048 modification Effects 0.000 claims abstract description 9
- 238000012986 modification Methods 0.000 claims abstract description 9
- 238000005070 sampling Methods 0.000 claims description 48
- 230000006870 function Effects 0.000 claims description 17
- 230000001172 regenerating effect Effects 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 238000007405 data analysis Methods 0.000 claims description 4
- 238000012360 testing method Methods 0.000 abstract description 23
- 238000010998 test method Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 239000000047 product Substances 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 239000012467 final product Substances 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000007795 chemical reaction product Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明属于芯片验证领域,具体涉及一种功能覆盖率代码生成方法、系统、设备及可读存储介质。其中方法包括:获取基于验证环境的覆盖组信息;基于覆盖组信息生成可实例化于对应验证平台的覆盖率代码文件和/或将覆盖组信息保存到覆盖率配置文件,并将覆盖率代码文件注册到验证平台环境中。本发明将原有的生成整体环境的方式修改为仅生成覆盖率代码文件和覆盖率配置文件,当覆盖组对应的测试方案改变时,仅通过修改覆盖率配置文件即可,再通过覆盖率配置文件重新生成覆盖率代码文件进行覆盖率测试。可有效提高芯片验证测试工作时的效率,无需每次修改都生成完整的验证环境,验证工程时无需在生成验证环境时等待。大大提高芯片验证效率。
Description
技术领域
本发明属于芯片验证领域,具体涉及一种功能覆盖率代码生成方法、系统、设备及可读存储介质。
背景技术
在芯片的设计开发过程中功能验证是最重要的环节之一,而功能覆盖率作为衡量功能验证完备性的重要指标就显得日益重要。功能覆盖率是通过验证工程师根据DUT的功能要求所提取的一系列的覆盖组和覆盖点来验证DUT功能所编写的程序代码,这些覆盖组和覆盖点对特定的信号在特定的采样时刻进行采样,通过获取与预期值相一致的采样值来衡量DUT的功能验证是否完整。倘若在芯片验证过程中能够快速且准确的定义覆盖率代码,不仅能够保证芯片验证工作的质量而且能够加快验证进程,从而加快流片的速度,使芯片产品尽可能早地进行量产和上市,从而占据市场的先机。
目前有很多自动生成覆盖率的工具,它们都有能够实现自动生成覆盖率代码的功能。但是这些工具也存在或多或少的缺点,这些工具基本上采取模板输入的方式为生成工具输入验证环境、采样信号和覆盖率的配置等信息。这种方式往往需要输入很多信息,如验证环境顶层描述信息、接口信息、覆盖组的配置等信息,这样就会填写多个输入信息模板,使用步骤繁杂,不利于初次接触者使用。另一方面,这些工具通常生成的最终产物是含有覆盖率代码的完整验证环境,而实际的芯片验证过程中往往是先搭建验证环境,再进行测试用例仿真,待到环境和用例稳定之后才会进行收集覆盖率的工作。因此,在收集覆盖率之前,芯片架构或DUT的设计势必要经过许多次改动,倘若生成工具生成的是完整的验证环境,在环境和用例稳定之前可能需要修改验证环境和覆盖率代码。所以最终产物是含有覆盖率代码的验证环境的最大局限性是在开展收集覆盖率的工作之前要多次修改环境或者覆盖率代码,工具使用不够灵活,复用性不强。
因此,亟需一种灵活高效的解决方案来解决上述问题。
发明内容
为解决上述问题,本发明提出一种功能覆盖率代码生成方法,包括:
获取基于验证环境的覆盖组信息;
基于所述覆盖组信息生成可实例化于对应验证平台的覆盖率代码文件和/或将所述覆盖组信息保存到覆盖率配置文件,并将所述覆盖率代码文件注册到所述验证平台环境中。
在本发明的一些实施方式中,获取基于验证环境的覆盖组信息包括:
根据用户提供的验证环境的基础文件提取验证环境的采样信号,并根据所述采样信号按照预定方式生成覆盖组信息。
在本发明的一些实施方式中,根据所述采样信号按照预定方式生成覆盖组信息包括:
将所述采样信号通过图形界面展示给用户,并基于用户在所述图形界面对采样信号的分组操作生成覆盖组;或者
根据验证环境的各个模块的功能,将满足互联要求的模块所对应的采样信息随机分配生成对应的覆盖组。
在本发明的一些实施方式中,获取基于验证环境的覆盖组信息包括:从所述覆盖率配置文件获取覆盖组信息;
在本发明的一些实施方式中,方法还包括:
响应于用户需要对覆盖组信息进行修改,将所述覆盖率配置文件中覆盖组信息和/或基于所述覆盖组信息转换而成的采样信号加载到图形界面,并将用户在图形界面对覆盖组信息的修改重新生成覆盖率配置文件;
基于所述重新生成的覆盖率配置文件重新生成覆盖率代码文件,并将重新生成的覆盖率代码文件注册到所述验证平台环境中。
在本发明的一些实施方式中,基于所述覆盖组信息生成可实例化于对应验证平台的覆盖率代码文件包括:
将所述覆盖组信息根据验证平台的编程语言生成对应的代码类;以及
响应于覆盖组信息中存在引用传递的覆盖组,将所述覆盖组信息以代码块的方式生成并在所述覆盖率代码文件的预定区域进行声明。
在本发明的一些实施方式中,将所述覆盖率代码文件注册到所述验证平台环境中包括:
将所述覆盖率代码文件中的内容在所述验证平台环境文件中的指定区域进行声明,以及将所述覆盖率代码文件的路径添加对应的扩展配置文件中。
本发明的另一方面还提出一种功能覆盖率代码生成系统,包括:
数据解析模块,所述数据解析模块配置用于获取基于验证环境的覆盖组信息;
代码生成模块,所述代码生成模块配置用于基于所述覆盖组信息生成可实例化于对应验证平台的覆盖率代码文件和/或将所述覆盖组信息保存到覆盖率配置文件,并将所述覆盖率代码文件注册到所述验证平台环境中。
本发明的又一方面还提出一种计算机设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现上述实施方式中任意一项所述方法的步骤。
本发明的再一方面还提出一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述实施方式中任意一项所述方法的步骤。
通过本发明提出的一种功能覆盖率代码生成方法,将原有的生成整体环境的方式修改为仅生成覆盖率代码文件和覆盖率配置文件,当覆盖组对应的测试方案改变时,仅通过修改覆盖率配置文件即可,再通过覆盖率配置文件重新生成覆盖率代码文件进行覆盖率测试。可有效提高芯片验证测试工作时的效率,无需每次修改都生成完整的验证环境,验证工程时无需在生成验证环境时等待。大大提高芯片验证效率
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种功能覆盖率代码生成方法的流程示意图;
图2为本发明实施例提供的一种功能覆盖率代码生成系统的结构示意图;
图3为本发明实施例提供的一种计算机设备的结构示意图;
图4为本发明实施例提供的一种计算机可读存储介质的结构示意图;
图5为的芯片验证的流程示意图;
图6为本发明实施例提供的部分工作原理示意图;
图7为本发明实施例提供的部分工作原理示意图;
图8为本发明实施例提供的部分工作原理示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
本发明旨在解决现有的芯片验证测试环节,如图5所示,对应测试的覆盖率代码随测试环境整体生成,以至于每次测试需要修改测试方向或测试内容时需要重新生成一个整体测试环境,仅确定一次测试至少需要生成多次测试环境,使用不够灵活,复用性不强的问题。
如图1所示,为解决上述问题,本发明提出一种功能覆盖率代码生成方法,包括:
步骤S1、获取基于验证环境的覆盖组信息;
步骤S2、基于所述覆盖组信息生成可实例化于对应验证平台的覆盖率代码文件和/或将所述覆盖组信息保存到覆盖率配置文件,并将所述覆盖率代码文件注册到所述验证平台环境中。
在本发明的实施例中,验证环境的覆盖组信息是指当前需要验证的芯片对应功能模块的具体地覆盖组,覆盖率代码文件是指本发明提出的可在验证平台上使用的独立的测试代码。覆盖率配置文件是指本发明提出的与生成的覆盖率代码匹配的配置文件,该配置文件中的内容等同于覆盖率代码文件对应的测试方案。通过覆盖率代码文件可以重新生成对应的覆盖率代码。
进一步,在步骤S1中,在本发明的一些实施例中可以通过验证环境的信息文件,如接口文件、寄存器模型或寄存器信息文件按照预定方式生成覆盖组信息,在本发明的一些实施例中,也可以对接口文件、寄存器模型或寄存器信息文件进行解析,将解析的结果以图形界面的方式展示给用户,由用户进行覆盖组的选组操作形成对应的覆盖组。
在本发明的一些实施例中,用户可以通过修改覆盖率配置文件中的相关覆盖组内容,然后重新加载成覆盖组信息。
在在步骤S2中,基于获取到覆盖组信息生成对应的独立的覆盖率代码文件,同时生成与此次覆盖率代码文件匹配的覆盖率配置文件,并将覆盖率代码文件注册到验证平台的环境中,使得在验证平台开始测试时可以找到并加载覆盖率代码文件进行测试。覆盖率配置文件包含了生成此次覆盖率代码的所有覆盖组的配置信息和作为采样信号的接口信号和寄存器模型信号。
在本发明的一些实施方式中,获取基于验证环境的覆盖组信息包括:
根据用户提供的验证环境的基础文件提取验证环境的采样信号,并根据所述采样信号按照预定方式生成覆盖组信息。
在本发明的一些实施方式中,根据所述采样信号按照预定方式生成覆盖组信息包括:
将所述采样信号通过图形界面展示给用户,并基于用户在所述图形界面对采样信号的分组操作生成覆盖组;或者
根据验证环境的各个模块的功能,将满足互联要求的模块所对应的采样信息随机分配生成对应的覆盖组。
在本实施例中,采样信号是指在用例测试时,需要收集的待测试模块中的相关信号,主要包括接口信号,即待测试模块对应的接口在测试时输出的结果,以及寄存器信号。如前所述,在本发明中生成覆盖组方式共分两种类型,一种是根据与验证环境相关的基础文件方式生成,基础文件包括:待测试模块的接口文件、寄存器模型或寄存器信息文件。
进一步,基于基础文件的生成覆盖组信息的方式也有两种,第一种为:先由用户根据业务需求将对应的接口和寄存器组成对应的覆盖组;第二种为根据验证环境验证的芯片的各个模块的功能,如果模块与模块之前可以互联,则随机将可以互联的模块所对应的寄存器以及相应的接口生成对应的覆盖组。无需用户设定。
在本发明的一些实施方式中,获取基于验证环境的覆盖组信息包括:从所述覆盖率配置文件获取覆盖组信息。
在本实施例中,本发明所提出的覆盖率配置文件可由验证工程师直接进行修改,然后将修改后的覆盖率配置文件中对应的覆盖组信息可用于生成覆盖率代码文件。
在本发明的一些实施方式中,方法还包括:
响应于用户需要对覆盖组信息进行修改,将所述覆盖率配置文件中覆盖组信息和/或基于所述覆盖组信息转换而成的采样信号加载到图形界面,并将用户在图形界面对覆盖组信息的修改重新生成覆盖率配置文件;
基于所述重新生成的覆盖率配置文件重新生成覆盖率代码文件,并将重新生成的覆盖率代码文件注册到所述验证平台环境中。
进一步,在本实施例中,如果用户(指验证工程师)在生成覆盖率代码文件之后,发现需要修改相应的覆盖组,可通过修改覆盖率配置文件的方式实现。
具体地,可以从覆盖率配置文件中将覆盖组对应的接口信息和寄存器信息直接以覆盖组的形式加载到图形界面,由用户直接修改。也可以t将覆盖率配置中对应的接口信息和寄存器信息全部展示,并且不以覆盖组的形式展示,由用户自己重新选择对应的接口信号和/或寄存器组成新的一个或多个覆盖组。
在本发明的一些实施方式中,基于所述覆盖组信息生成可实例化于对应验证平台的覆盖率代码文件包括:
将所述覆盖组信息根据验证平台的编程语言生成对应的代码类;以及
响应于覆盖组信息中存在引用传递的覆盖组,将所述覆盖组信息以代码块的方式生成并在所述覆盖率代码文件的预定区域进行声明。
在本实施例中,将覆盖组以代码类的方式生成,在本发明中如果存在引用传递的覆盖组,所谓引用传递是指多个覆盖组中内容相同,但是对应的覆盖组名称有细微差别,其差别具有一定的规律性,例如假设是对芯片中中断通道进行测试的覆盖组,假设中断通道有128个并且结构相同,则对应的覆盖组应该都是结构内容相同名字不同的覆盖组,如果将这些覆盖组都单独用代码类的方式生成对应的覆盖率代码则导致覆盖率代码可读性变差,存在一些潜在的不稳定因素,因此可采用代码块的方式,将覆盖组中变化的部分以循环的方式递归命名,在具体的测试中,即该代码块运行是在内存自动生成对应个数的覆盖代码类。因为芯片中具有相同功能的模块的子单元存在很多。同时将引用传递形式的覆盖组的代码块在指定的build_phase区域进行声明。
在本发明的一些实施方式中,将所述覆盖率代码文件注册到所述验证平台环境中包括:
将所述覆盖率代码文件中的内容在所述验证平台环境文件中的指定区域进行声明,以及将所述覆盖率代码文件的路径添加对应的扩展配置文件中。
在本实施例中,需要将生成的独立的覆盖率代码文件在验证平台环境中进行集成,因此需要对覆盖率代码文件进行声明,具体地首先根据验证环境信息中的环境路径打开验证环境env并逐行读取,根据关键字识别匹配适当的位置写入覆盖率声明代码,随后在识别到build_phase在其中例化创建覆盖率的类。于此同时本发明按照同样的方法将覆盖率代码的路径写入组件pkg文件当中,就此覆盖率代码的集成任务完成。
实施例:
本发明实现的第一步是运行模式选择和验证环境信息的输入,运行本发明之后可以根据提示选择运行模式,如图6所示,有两个运行模式,分别是更改已生成的覆盖率代码模式和生成新的覆盖率代码模式。若选更改已生成的覆盖率代码模式则需要在GUI界面中相应的位置中输入覆盖率配置文件的路径,输入完成后再运行本发明即可生成新的覆盖率代码。若选择生成新的覆盖率代码模式,则需要输入已有的验证环境的接口文件、寄存器模型文件、组件pkg文件和验证环境env文件(生成后的覆盖率代码要声明例化在验证环境env文件当中)的路径。本发明接收到这些文件路径之后,本发明中会根据内置的关键字匹配搜索功能按照输入的路径打开文件进行逐行搜索匹配,将能够匹配的信息按照接口信号、寄存器信号和验证环境信息分类,并存放在类别所对应的列表或元组当中以供后续使用。于此同时,还要对接口信号和寄存器信号进行排序,可以按照首字母在ASCII表中的顺序排序或者采用其他的排序方式。完成排序后,本发明将接口信号和寄存器模型信号以复选框的方式输出到GUI界面上供使用者进行下一步覆盖组配置的信号选择,被选中的信号即为对应覆盖组的采样信号。
第二步是覆盖组配置信息的输入,如图8所示,在上一步的操作中本工具将接口和寄存器模型信号等信息先进行分类和排序处理,然后在GUI界面上以复选框的方式进行输出显示,同时在GUI界面上显示出覆盖组配置的子界面,随后使用者可以按照GUI界面上的提示信息,按部就班完成覆盖组的配置。首先要配置的是覆盖组的数量和覆盖组的定义形式(普通形式和引用传递形式),在引用传递形式当中还需要指定重复定义的信号次数,也可将指定的采样信号按位拆分处理。随后使用者可以在GUI界面上通过勾选复选框的方式将想要作为采样信号的接口或寄存器模型信号选入寄存器配置子界面作为各个覆盖组的采样信号,这样就完成了覆盖率采样信号的选择。完成采样信号的选择后可以根据覆盖组配置子界面上的提示继续为采样信号添加采样条件,最后需要按照覆盖组配置子界面的提示完成采样点的仓(bins)的输入。这样就完成了覆盖组的配置。
经过上述两步的之后,使用者的操作步骤就已经结束了。剩下的其他工作均由本发明自动完成。如图7所示。接下来要进行覆盖率代码的集成、覆盖率代码的生成以及覆盖组配置文件的生成三项任务。经过之前的步骤,本发明已经获得了所有的输入信息,随后本发明将要对这些输入信息进行操作,最终生产覆盖率代码和覆盖率配置文件。首先本发明要根据验证环境信息中传来的环境路径打开验证环境env文件并逐行读取,根据关键字识别匹配适当的位置写入覆盖率声明代码,随后在识别到build_phase在其中例化创建覆盖率的类。于此同时本发明按照同样的方法将覆盖率代码的路径写入组件pkg文件当中,就此覆盖率代码的集成任务完成。覆盖率代码生成的任务主要是本工具根据验证环境信息中传来的接口路径,在接口文件中识别和提取相应的有用信息,先在覆盖率代码中声明virtualinterface。这样做的目的是为了确保采样信号的通畅。这些工作完成后,本工具将开始生成覆盖率代码,首先判断在输入进来的覆盖组配置信息中是否有需要引用传递方式定义的覆盖组,如果有,要优先生成这部分覆盖组,因为本发明要将这部分覆盖组的代码生成在class的外部,工具也要判断这部分覆盖组例化创建的位置,引用传递方式的覆盖组是需要在build_phase中进行例化并且也要创建与重复次数数量相同的引用传递覆盖组。普通覆盖组按照System Verilog的语法正常生成即可。生成覆盖率代码之后还要生成覆盖率配置文件,该文件的主要形式是将所有所需的覆盖组的配置信息和作为采样信号的接口和寄存器模型信号,都需要按照特定的格式陈列出来,重复定义的引用传递覆盖组只需显示一组但需要列出重复定义的次数,覆盖组的组内信息包含采样信号、采样时刻、采样点仓的值。最后将所有的生成产物输出到使用者所指定的路径中。
本发明突破常规覆盖率代码自动生成工具的模板输入的模式,转而采取输入验证环境文件路径和GUI界面交互输入覆盖组配置信息的方式来自动生成覆盖率代码,这样的方式能够减少使用者的编码工作量,也可以直观的看到覆盖组的配置过程,不易出错。使用者就能够有更多的时间投入对覆盖组定义的合理性的考量,从而也可以间接提升覆盖率的质量。此外,本发明的最终生成的产物有别于其他覆盖率生成工具,本发明生成的主要产物是独立于验证环境的覆盖率代码,而不是一整套验证环境,这样做的优势在于使用更加灵活,可以把覆盖率代码集成在任何已有的验证环境中,也可以在不同的验证阶段集成在不同的验证环境中,在模块级验证中可以集成到模块级验证环境中,在子系统及以及SOC级验证中也可集成到对应的验证环境中。可以实现覆盖率代码的多次复用。伴随覆盖率代码一同生成的覆盖率配置文件可以实现使用者通过直接修改覆盖率配置文件的相应信息来达到修改覆盖率代码的目的,实现了对已生成覆盖率代码的快速修改的目的。综上所述,本发明可以在功能验证收集覆盖率这一阶段加快验证的进程,加快芯片的流片速度,从而使芯片企业能够抢占市场获取经济利益。
如图2所示,本发明的另一方面还提出一种功能覆盖率代码生成系统,包括:
数据解析模块1,所述数据解析模块1配置用于获取基于验证环境的覆盖组信息;
代码生成模块2,所述代码生成模块2配置用于基于所述覆盖组信息生成可实例化于对应验证平台的覆盖率代码文件和/或将所述覆盖组信息保存到覆盖率配置文件,并将所述覆盖率代码文件注册到所述验证平台环境中。
如图3所示,本发明的又一方面还提出一种计算机设备,包括:
至少一个处理器21;以及
存储器22,所述存储器22存储有可在所述处理器21上运行的计算机指令23,所述指令23由所述处理器21执行时实现一种功能覆盖率代码生成方法,包括:
获取基于验证环境的覆盖组信息;
基于所述覆盖组信息生成可实例化于对应验证平台的覆盖率代码文件和/或将所述覆盖组信息保存到覆盖率配置文件,并将所述覆盖率代码文件注册到所述验证平台环境中。
在本发明的一些实施方式中,获取基于验证环境的覆盖组信息包括:
根据用户提供的验证环境的基础文件提取验证环境的采样信号,并根据所述采样信号按照预定方式生成覆盖组信息。
在本发明的一些实施方式中,根据所述采样信号按照预定方式生成覆盖组信息包括:
将所述采样信号通过图形界面展示给用户,并基于用户在所述图形界面对采样信号的分组操作生成覆盖组;或者
根据验证环境的各个模块的功能,将满足互联要求的模块所对应的采样信息随机分配生成对应的覆盖组。
在本发明的一些实施方式中,获取基于验证环境的覆盖组信息包括:从所述覆盖率配置文件获取覆盖组信息;
在本发明的一些实施方式中,方法还包括:
响应于用户需要对覆盖组信息进行修改,将所述覆盖率配置文件中覆盖组信息和/或基于所述覆盖组信息转换而成的采样信号加载到图形界面,并将用户在图形界面对覆盖组信息的修改重新生成覆盖率配置文件;
基于所述重新生成的覆盖率配置文件重新生成覆盖率代码文件,并将重新生成的覆盖率代码文件注册到所述验证平台环境中。
在本发明的一些实施方式中,基于所述覆盖组信息生成可实例化于对应验证平台的覆盖率代码文件包括:
将所述覆盖组信息根据验证平台的编程语言生成对应的代码类;以及
响应于覆盖组信息中存在引用传递的覆盖组,将所述覆盖组信息以代码块的方式生成并在所述覆盖率代码文件的预定区域进行声明。
在本发明的一些实施方式中,将所述覆盖率代码文件注册到所述验证平台环境中包括:
将所述覆盖率代码文件中的内容在所述验证平台环境文件中的指定区域进行声明,以及将所述覆盖率代码文件的路径添加对应的扩展配置文件中。
如图4所示,本发明的再一方面还提出一种计算机可读存储介质401,所述计算机可读存储介质401存储有计算机程序402,所述计算机程序402被处理器执行时实现一种功能覆盖率代码生成方法,包括:
获取基于验证环境的覆盖组信息;
基于所述覆盖组信息生成可实例化于对应验证平台的覆盖率代码文件和/或将所述覆盖组信息保存到覆盖率配置文件,并将所述覆盖率代码文件注册到所述验证平台环境中。
在本发明的一些实施方式中,获取基于验证环境的覆盖组信息包括:
根据用户提供的验证环境的基础文件提取验证环境的采样信号,并根据所述采样信号按照预定方式生成覆盖组信息。
在本发明的一些实施方式中,根据所述采样信号按照预定方式生成覆盖组信息包括:
将所述采样信号通过图形界面展示给用户,并基于用户在所述图形界面对采样信号的分组操作生成覆盖组;或者
根据验证环境的各个模块的功能,将满足互联要求的模块所对应的采样信息随机分配生成对应的覆盖组。
在本发明的一些实施方式中,获取基于验证环境的覆盖组信息包括:从所述覆盖率配置文件获取覆盖组信息;
在本发明的一些实施方式中,方法还包括:
响应于用户需要对覆盖组信息进行修改,将所述覆盖率配置文件中覆盖组信息和/或基于所述覆盖组信息转换而成的采样信号加载到图形界面,并将用户在图形界面对覆盖组信息的修改重新生成覆盖率配置文件;
基于所述重新生成的覆盖率配置文件重新生成覆盖率代码文件,并将重新生成的覆盖率代码文件注册到所述验证平台环境中。
在本发明的一些实施方式中,基于所述覆盖组信息生成可实例化于对应验证平台的覆盖率代码文件包括:
将所述覆盖组信息根据验证平台的编程语言生成对应的代码类;以及
响应于覆盖组信息中存在引用传递的覆盖组,将所述覆盖组信息以代码块的方式生成并在所述覆盖率代码文件的预定区域进行声明。
在本发明的一些实施方式中,将所述覆盖率代码文件注册到所述验证平台环境中包括:
将所述覆盖率代码文件中的内容在所述验证平台环境文件中的指定区域进行声明,以及将所述覆盖率代码文件的路径添加对应的扩展配置文件中。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (10)
1.一种功能覆盖率代码生成方法,其特征在于,包括:
获取基于验证环境的覆盖组信息;
基于所述覆盖组信息生成可实例化于对应验证平台的覆盖率代码文件和/或将所述覆盖组信息保存到覆盖率配置文件,并将所述覆盖率代码文件注册到所述验证平台环境中。
2.根据权利要求1所述的方法,其特征在于,所述获取基于验证环境的覆盖组信息包括:
根据用户提供的验证环境的基础文件提取验证环境的采样信号,并根据所述采样信号按照预定方式生成覆盖组信息。
3.根据权利要求2所述的方法,其特征在于,所述根据所述采样信号按照预定方式生成覆盖组信息包括:
将所述采样信号通过图形界面展示给用户,并基于用户在所述图形界面对采样信号的分组操作生成覆盖组;或者
根据验证环境的各个模块的功能,将满足互联要求的模块所对应的采样信息随机分配生成对应的覆盖组。
4.根据权利要求1所述的方法,其特征在于,所述获取基于验证环境的覆盖组信息包括:从所述覆盖率配置文件获取覆盖组信息。
5.根据权利要求1所述的方法,其特征在于,所还包括:
响应于用户需要对覆盖组信息进行修改,将所述覆盖率配置文件中覆盖组信息和/或基于所述覆盖组信息转换而成的采样信号加载到图形界面,并将用户在图形界面对覆盖组信息的修改重新生成覆盖率配置文件;
基于所述重新生成的覆盖率配置文件重新生成覆盖率代码文件,并将重新生成的覆盖率代码文件注册到所述验证平台环境中。
6.根据权利要求1所述的方法,其特征在于,所述基于所述覆盖组信息生成可实例化于对应验证平台的覆盖率代码文件包括:
将所述覆盖组信息根据验证平台的编程语言生成对应的代码类;以及
响应于覆盖组信息中存在引用传递的覆盖组,将所述覆盖组信息以代码块的方式生成并在所述覆盖率代码文件的预定区域进行声明。
7.根据权利要求1所述的方法,其特征在于,所述将所述覆盖率代码文件注册到所述验证平台环境中包括:
将所述覆盖率代码文件中的内容在所述验证平台环境文件中的指定区域进行声明,以及将所述覆盖率代码文件的路径添加对应的扩展配置文件中。
8.一种功能覆盖率代码生成系统,其特征在于,包括:
数据解析模块,所述数据解析模块配置用于获取基于验证环境的覆盖组信息;
代码生成模块,所述代码生成模块配置用于基于所述覆盖组信息生成可实例化于对应验证平台的覆盖率代码文件和/或将所述覆盖组信息保存到覆盖率配置文件,并将所述覆盖率代码文件注册到所述验证平台环境中。
9.一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现权利要求1-7任意一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310345255.0A CN116451621A (zh) | 2023-03-30 | 2023-03-30 | 一种功能覆盖率代码生成方法、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310345255.0A CN116451621A (zh) | 2023-03-30 | 2023-03-30 | 一种功能覆盖率代码生成方法、系统、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116451621A true CN116451621A (zh) | 2023-07-18 |
Family
ID=87134998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310345255.0A Pending CN116451621A (zh) | 2023-03-30 | 2023-03-30 | 一种功能覆盖率代码生成方法、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116451621A (zh) |
-
2023
- 2023-03-30 CN CN202310345255.0A patent/CN116451621A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7895575B2 (en) | Apparatus and method for generating test driver | |
US8402438B1 (en) | Method and system for generating verification information and tests for software | |
US5390320A (en) | Automatically converting structured analysis tool database outputs into an integrated simulation model via transportable standardized metafile | |
CN103235759B (zh) | 测试用例生成方法和装置 | |
US20060020931A1 (en) | Method and apparatus for managing complex processes | |
CN108710571B (zh) | 一种生成自动化测试代码的方法和装置 | |
CN111176984A (zh) | 一种面向信号的自动测试实现方法 | |
CN108984393A (zh) | 一种单元测试代码自动生成方法及装置 | |
CN110297760A (zh) | 测试数据的构造方法、装置、设备及计算机可读存储介质 | |
CN114757135B (zh) | 一种基于需求驱动验证的可编程逻辑器件验证方法及系统 | |
CN105739481B (zh) | 工控软件的测试方法、装置及系统 | |
CN114138667A (zh) | 一种soc芯片驱动程序自动化测试系统及测试方法 | |
CN110908915B (zh) | 一种测试覆盖率的展示方法、装置及计算机系统 | |
CN116049014A (zh) | Amba总线的验证平台生成方法及装置 | |
CN110244688A (zh) | 基于LabVIEW的仪表总线面板自动生成方法及其系统 | |
CN111966597B (zh) | 测试数据生成方法及装置 | |
CN110286882B (zh) | 一种基于模型检测的前台系统设计与验证方法 | |
CN116451621A (zh) | 一种功能覆盖率代码生成方法、系统、设备及介质 | |
CN116893803A (zh) | 一种功能覆盖率代码生成方法、系统、设备及介质 | |
JPH09244921A (ja) | ソフトウエア試験の自動化システム | |
CN115470106A (zh) | 一种可重构芯片的验证方法和系统 | |
JP2002014845A (ja) | テスト・スクリプト部品の自動生成方法および装置 | |
CN108521350A (zh) | 一种基于xml驱动脚本的工业网关设备自动化测试方法 | |
CN113505283A (zh) | 一种测试数据的筛选方法及系统 | |
CN100440226C (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 |