SystemVerilog覆盖集生成方法及装置制造方法及图纸

技术编号:29402678 阅读:18 留言:0更新日期:2021-07-23 22:40
本发明专利技术涉及一种SystemVerilog覆盖集生成方法及装置,该方法包括:基于预设的按照预设规则在Excel文档中写入收集的功能测试点的相关信息;使用预设的脚本基于所述Excel文档生成覆盖集。本发明专利技术采用以上技术方案,验证工作者只需在Excel文件中以更友好的输入界面量化功能点,再由脚本(Perl)基于该文件自动生成覆盖集以提高效率。避免了手动书写覆盖集则工作量大且效率低下的问题。

【技术实现步骤摘要】
SystemVerilog覆盖集生成方法及装置
本专利技术涉及集成电路代码层面验证相关
,具体涉及一种SystemVerilog覆盖集生成方法及装置。
技术介绍
随机集成电路规模越来越大,VerilogRTL代码层面功能性验证考验也越来越大,基于SystemVerilog语法的随机验证方法也被大量推广,而随机验证方法下功能验证的完备性是由覆盖集进行保证。在项目执行期间,如果很复杂的模块验证的话,会有对应功能覆盖集大量书写,而手动书写覆盖集则工作量很大也效率低下。
技术实现思路
有鉴于此,提供一种SystemVerilog覆盖集生成方法及装置,以解决
技术介绍
中的问题。本专利技术采用如下技术方案:第一方面,本专利技术实施例提供了一种SystemVerilog覆盖集生成方法,包括:基于预设的按照预设规则在Excel文档中写入收集的功能测试点的相关信息;使用预设的脚本基于所述Excel文档生成所述覆盖集。可选的,所述功能测试点的相关信息包括:覆盖点/组合覆盖点名字、要收集的变量名字、要组合的收集名字、收集的条件和用于生成仓的信息中的一种或多种。可选的,所述用于生成仓的信息为按照预设规则在预设脚本处理后可以生成仓的信息。可选的,所述预设规则中Excel对应覆盖点用户自定义仓一栏写法的规则包括:当有多个关心值或者值范围,直接以‘,’隔开追加;几个范围或者值想作为一个要覆盖的仓,以{}包括起来,里面内容以|进行隔开;定义关键字切分;表示后面范围需要产生独立要覆盖的仓;定义关键字独热有效码;表示后面的多bit变量的‘独热有效码’集要单独产生仓进行覆盖收集;定义通配符,以实现只关心某个变量某些bit位值;定义跳变仓的写法,以实现关心某个变量值变化的序列以标识某种功能有被覆盖到;定义“全位覆盖且关心值为1”写法;定义“全位覆盖且关心值为0”写法;可选的,所述预设规则,包括:所述Excel文档中预先写入具有引导作用的关键词,以便于相关人员在所述具有引导作用的关键词的引导下将所述相关信息下入所述Excel文档。可选的,所述使用预设的脚本基于所述Excel文档生成覆盖集,包括:步骤一:基于预设规则中约定的格式和关键字,查找所述Excel文档中的关键字;步骤二:匹配查找到的关键字,并执行所述预设规则中的对应的处理方式;其中,不断重复步骤一和步骤二直至遍历所述Excel文档。可选的,在同一份Excel文档中包括一页或多页表格;每一页表格内被写入用于生成一份覆盖集的信息;在使用预设的脚本基于所述Excel文档生成覆盖集时,基于每一页表格生成一份覆盖集。第二方面,本申请提供一种SystemVerilog覆盖集生成装置,包括:写入模块,用于基于预设的按照预设规则在Excel文档中写入收集的功能测试点的相关信息;生成模块,用于使用预设的脚本基于所述Excel文档生成覆盖集。第三方面,本申请提供一种SystemVerilog覆盖集生成设备,包括:处理器,以及与所述处理器相连接的存储器;所述存储器用于存储计算机程序,所述计算机程序至少用于执行本申请第一方面所述的SystemVerilog覆盖集生成方法;所述处理器用于调用并执行所述存储器中的所述计算机程序。第四方面,本申请提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如本申请第一方面所述的SystemVerilog覆盖集生成方法中各个步骤。本专利技术采用以上技术方案,验证工作者只需在Excel文件中以更友好的输入界面量化功能点,再由脚本(Perl)基于该文件自动生成覆盖集(SystemVerilogCovergroup)以提高效率。避免了手动书写覆盖集则工作量大且效率低下的问题。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的一种SystemVerilog覆盖集生成方法的流程图;图2是本专利技术实施例提供的一种SystemVerilog覆盖集生成方法的流程图;图3是本专利技术实施例提供的一种SystemVerilog覆盖集生成装置的结构示意图;图4是本专利技术实施例提供的一种SystemVerilog覆盖集生成设备的结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将对本专利技术的技术方案进行详细的描述。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本专利技术所保护的范围。首先对本专利技术实施例的应用场景进行说明,随机集成电路规模越来越大,VerilogRTL代码层面功能性验证考验也越来越大,基于SystemVerilog语法的随机验证方法也被大量推广,而随机验证方法下功能验证的完备性是由覆盖集进行保证。在项目执行期间,如果很复杂的模块验证的话,会有对应功能覆盖集大量书写,而手动书写覆盖集则工作量很大也效率低下。进一步的,SystemVerilog提供覆盖集方法,通过仓的收集率以反向表示功能覆盖情况,而实际应用层面不会用到太复杂的覆盖集语法,基本的Coverpoint(覆盖点)/Crosspoint(组合覆盖点)使用即可表示出功能点。在书写SystemVerilogCovergroup(覆盖集)时候如上描述,语法比较单一,且有规律可循。实施例图1为本专利技术实施例提供的一种SystemVerilog覆盖集生成方法的流程图,该方法可以由本专利技术实施例提供的SystemVerilog覆盖集生成设备来执行。参考图1,该方法具体可以包括如下步骤:S101、基于预设的按照预设规则在Excel文档中写入收集的功能测试点的相关信息;需要说明的是,在本申请提供方案中,验证工作者需在Excel文档中以更友好的输入界面量化功能点即:功能测试点的相关信息。当然,在将功能测试点的相关信息写入的过程中,需要遵循预先设置的规则。因为在书写覆盖集时,语法比较单一,且有规律可循,所以可以基于某种共同约定,让验证工程师可以比较以友好界面填写需要收集的功能测试点,然后由脚本基于文件自动生成覆盖集,验证工程师只需要把生成的文件集成在验证环境中并进行覆盖率收集,提高验证工程师工作效率同时也减少人为因素导致漏测漏覆盖。具体的,面背景已经提到,实际应用中,不会用到太复杂的覆盖集语法,基本的Coverpoint(覆盖点)/Crosspoint(组合覆盖点)使用即可表示出功能点。所以该专利技术主要也针对经常使用覆盖集语法格式下,约定一本文档来自技高网...

【技术保护点】
1.一种SystemVerilog覆盖集生成方法,其特征在于,包括:/n基于预设的按照预设规则在Excel文档中写入收集的功能测试点的相关信息;/n使用预设的脚本基于所述Excel文档生成所述覆盖集。/n

【技术特征摘要】
1.一种SystemVerilog覆盖集生成方法,其特征在于,包括:
基于预设的按照预设规则在Excel文档中写入收集的功能测试点的相关信息;
使用预设的脚本基于所述Excel文档生成所述覆盖集。


2.根据权利要求1所述的方法,其特征在于,所述功能测试点的相关信息包括:覆盖点/组合覆盖点名字、要收集的变量名字、要组合的收集名字、收集的条件和用于生成仓的信息中的一种或多种。


3.根据权利要求2所述的方法,其特征在于,所述用于生成仓的信息为按照预设规则在预设脚本处理后可以生成仓的信息。


4.根据权利要求1所述的方法,其特征在于,所述预设规则中Excel对应覆盖点用户自定义仓一栏写法的规则包括:
当有多个关心值或者值范围,直接以‘,’隔开追加;
几个范围或者值想作为一个要覆盖的仓,以{}包括起来,里面内容以|进行隔开;
定义关键字切分;表示后面范围需要产生独立要覆盖的仓;
定义关键字独热有效码;表示后面的多bit变量的‘独热有效码’集要单独产生仓进行覆盖收集;
定义通配符,以实现只关心某个变量某些bit位值;
定义跳变仓的写法,以实现关心某个变量值变化的序列以标识某种功能有被覆盖到;
定义“全位覆盖且关心值为1”写法;
定义“全位覆盖且关心值为0”写法。


5.根据权利要求1所述的方法,其特征在于,所述预设规则,包括:所述Excel文档中预先写入具有引导作用的关键词,以便于相关人员在所述具有引导作用的关键词的引导下将所述相关信息下入所述...

【专利技术属性】
技术研发人员:朱琳琳刘小波杜世淼
申请(专利权)人:四川微巨芯科技有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1