一种覆盖率获取方法技术

技术编号:38567668 阅读:16 留言:0更新日期:2023-08-22 21:04
本发明专利技术涉及电子设计自动化技术领域,特别是涉及一种覆盖率获取方法,该方法通过获取覆盖率数据文件,在覆盖率数据文件中包括每个实例的覆盖率数据块,每个覆盖率数据块中包括实例身份标识和覆盖数据,覆盖数据包括覆盖项身份标识、覆盖想数量和覆盖值;根据实例身份标识和覆盖项指标类型得到覆盖指标文件,并根据覆盖指标文件配置的索引标识,依次从覆盖率数据文件的覆盖率数据块中获取覆盖状态标识,进而根据覆盖状态标识计算覆盖率,通过该方式不仅能够计算覆盖率,而且能够使覆盖指标的结构化数据和覆盖率数据分开存储,解决了标准UCIS数据库中整体读入内存的问题以及覆盖指标数据容易被篡改的问题。据容易被篡改的问题。据容易被篡改的问题。

【技术实现步骤摘要】
一种覆盖率获取方法


[0001]本专利技术涉及电子设计自动化
,特别是涉及一种覆盖率获取方法。

技术介绍

[0002]前端验证的目的是确保设计的逻辑功能的正确性和完备性。覆盖率驱动的验证技术是通过分析RTL代码的功能覆盖率和代码覆盖率来衡量设计完备性的一个指标。其中覆盖率包括多种类型的覆盖指标,如状态机覆盖率、行覆盖率、条件覆盖率和断言覆盖率等。无论是软件还是硬件仿真,包括形式化验证,都可以输出对应测试模块覆盖率的数据,这些交叉数据必须统一到一个最终的覆盖率数据库和访问接口中,在各工具间共享,才能制定高效的测试计划,避免重复测试。目前的覆盖率数据交换标准UCIS(Unified Coverage Interoperability Standard)提供了标准的节点名称命名格式、不同类型覆盖指标中每种节点的类型标识以及标准化接口等。在UCIS标准中,数据库中的所有数据存储为一个xml格式的数据库文件。当用户查看其中某一类覆盖指标时,系统将xml格式的整个数据库文件读入内存,然后解析并建立层级关系,获取相应的覆盖指标。由于将覆盖率数据和覆盖指标的结构化数据同时存储在同一个数据库文件中,用户每次都访问整个数据库文件也可能会导致覆盖指标的结构化数据被篡改的数据安全风险。

技术实现思路

[0003]为了解决标准UCIS数据库中在计算覆盖率时加载整个数据库导致加载慢的技术问题,本专利技术采用的技术方案为:一种覆盖率获取方法,所述方法包括以下步骤:
[0004]G200,获取第h个覆盖率数据文件fdat
h
,其中,fdat
h
包括:T个实例的覆盖率数据块inst
h
,inst
h
中的第t个实例的覆盖率数据块inst
h,t
包括实例身份标识instid
h,t
和覆盖数据data
h,t
,data
h,t
包括覆盖项类型标识itype
h,t
、所有覆盖项数量的字段Sum
h,t
和覆盖值字段Val
h,t
,Val
h,t
的二进制位数等于Sum
h,t
,且每一个二进制位对应一个覆盖项的覆盖状态标识。
[0005]G400,根据instid
h,t
查找映射文件sdb,sdb包括模块身份标识和实例身份标识之间的映射关系,获取instid
h,t
对应的设计模块身份标识rid
m1

[0006]G600,根据itype
h,t
得到data
h,t
的覆盖指标类型。
[0007]G800,根据data
h,t
的覆盖指标类型获取第i类覆盖指标文件item
i
,其中item
i
的覆盖项数据块中还包括覆盖项类型标识和索引标识,且属于同一个父节点的覆盖项数据块中的索引标识唯一。
[0008]G1000,根据itype
h,t
查找item
i
,得到所有目标覆盖项数据块。
[0009]G1200,根据目标覆盖项数据块中的索引标识依次从data
h,t
中取出每个数据块对应的覆盖状态标识。
[0010]G1400,根据每个数据块的覆盖状态标识计算覆盖率。
[0011]本专利技术至少具有以下有益效果:
[0012]本专利技术提供了一种覆盖率获取方法,通过覆盖指标文件配置的索引标识,准确的从覆盖率数据文件的覆盖率数据块中获取覆盖状态标识,进而根据覆盖状态标识计算覆盖率,通过该方式不仅能够计算覆盖率,而且能够使覆盖指标的结构化数据和覆盖率数据分开存储,在每次执行测试用例时只需要更新覆盖率数据文件,解决标准UCIS数据库中在计算覆盖率时加载整个数据库导致加载慢的技术问题。
附图说明
[0013]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0014]图1为实施例一提供的覆盖指标的结构化数据离散存储系统示意图;
[0015]图2为本专利技术实施例二提供的数据定位方法流程图;
[0016]图3为本专利技术实施例三提供的数据可视化定位方法流程图;
[0017]图4为本专利技术实施例四提供的数据库部分加载方法流程图;
[0018]图5为本专利技术实施例五提供的目标文件部分加载方法流程图;
[0019]图6为本专利技术实施例六提供的部分加载目标文件的方法流程图;
[0020]图7为本专利技术实施例七提供的覆盖率存储方法流程图;
[0021]图8为本专利技术实施例八提供的覆盖率获取方法流程图。
具体实施方式
[0022]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0023]由于UCIS提供的数据库包括源文件的基本信息、设计模块的基本信息、实例的基本信息、覆盖指标的结构化数据和不同测试用例得到的覆盖率数据等,其中结构化数据包括不同类型覆盖指标的层级结构关系。在UCIS标准中,数据库中的所有数据存储为一个xml格式的数据库文件。当用户查看其中某一类覆盖指标时,系统将xml格式的整个数据库文件读入内存,然后解析并建立层级关系,获取相应的覆盖指标。由于将覆盖率数据和覆盖指标的结构化数据同时存储在同一个数据库文件中,用户每次都访问整个数据库文件也可能会导致覆盖指标的结构化数据被篡改的数据安全风险。针对该技术问题,本专利技术提出了实施例一。
[0024]实施例一
[0025]请参阅图1,实施例一提供了一种覆盖指标的结构化数据离散存储系统,该系统包括数据库、处理器和存储有计算机程序的存储器,所述数据库包括N个覆盖指标文件item={item1,item2,

,item
i
,

item
N
},其中item
i
为设计模块的第i类覆盖指标的结构化数据存储文件,i的取值范围为1到N。需要说明的是,由于不同的覆盖指标所需的数据不同,因此用不同的覆盖指标文件存储对应的结构化数据;在同一个覆盖指标文件item
i
中可以包括多
个不同的设计模块的结构化数据。其中,覆盖指标(metric)的类型包括条件覆盖指标、行覆盖指标、断言覆盖指标、有限状态机覆盖指标、翻转覆盖指标或功能覆盖指标等。
[0026]可选的,item
i...

【技术保护点】

【技术特征摘要】
1.一种覆盖率获取方法,其特征在于,所述方法包括以下步骤:G200,获取第h个覆盖率数据文件fdat
h
,其中,fdat
h
包括:T个实例的覆盖率数据块inst
h
,inst
h
中的第t个实例的覆盖率数据块inst
h,t
包括实例身份标识instid
h,t
和覆盖数据data
h,t
,data
h,t
包括覆盖项类型标识itype
h,t
、所有覆盖项数量的字段Sum
h,t
和覆盖值字段Val
h,t
,Val
h,t
的二进制位数等于Sum
h,t
,且每一个二进制位对应一个覆盖项的覆盖状态标识;G400,根据instid
h,t
查找映射文件sdb,sdb包括模块身份标识和实例身份标识之间的映射关系,获取instid
h,t
对应的设计模块身份标识rid
m1
;G600,根据itype
h,t
得到data
h,t
的覆盖指标类型;G800,根据data
h,t
的覆盖指标类型获取第i类覆盖指标文件item
i
,其中item
i
的覆盖项数据块中还包括覆盖项类型标识和索引标识,且属于同一个父节点的覆盖项数据块中的索引标识唯一;G1000,根据itype
h,t
查找item
i
,得到所有目标覆盖项数据块;G1200,根据目标覆盖项数据块中的索引标识依次从data
h,t
中取出每个数据块对应的覆盖状态标识;G1400,根据每个数据块的覆盖状态标识计算覆盖率。2.根据权利要求1所述的方法,其特征在于,所述item
i
中不包括用于在图形用户界面显示的扩展信息。3.根据权利要求1所述的方法,其特征在于,所述扩展信息为对象在源文件中的位置信息。4.根据权利要求1所述的方法,其特征在于,当item
i
为条件覆盖指标文件时,所述扩展信息为条件和参数的键值对、对象在源文件中的位置信息。5.根据权利要求1所述的方法,其特征在于,所述inst
h,t
还包括实例的全路径名instNa
h,t
。6.根据权利要求1所述的方法,其特征在于,所述F1000之前还包括:G900,部分加载item...

【专利技术属性】
技术研发人员:汤杰高波金俏慧
申请(专利权)人:上海合见工业软件集团有限公司
类型:发明
国别省市:

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

1