[发明专利]实现覆盖率收集代码重用的方法、计算机可读介质在审
申请号: | 202210085225.6 | 申请日: | 2022-01-25 |
公开(公告)号: | CN114443028A | 公开(公告)日: | 2022-05-06 |
发明(设计)人: | 马骁 | 申请(专利权)人: | 杭州云合智网技术有限公司 |
主分类号: | G06F8/36 | 分类号: | G06F8/36;G06F8/30;G06F11/36 |
代理公司: | 上海洞见未来专利代理有限公司 31467 | 代理人: | 苗绘 |
地址: | 311200 浙江省杭州市萧山区萧山经济技*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 实现 覆盖率 收集 代码 重用 方法 计算机 可读 介质 | ||
本发明公开了一种实现覆盖率收集代码重用的方法,包含如下步骤:创建覆盖仓基类;根据需要,覆盖仓基类派生覆盖仓子类,并重载覆盖仓基类的函数;创建覆盖率收集对象,覆盖率收集对象中包含声明static的静态数组变量,静态数组变量用于获取需要忽略的覆盖率收集;声明和实例化覆盖率收集对象,用于创建测试用例;在测试用例中,重载测试用例中默认使用的覆盖仓基类中的实际需要的类对象,用于重用覆盖率收集代码。本发明降低了芯片验证平台的系统复杂度,整体芯片验证方法更加简洁,同时,直接重载项目需要的覆盖率收集组件对象来忽略不再支持的一些性能特性的覆盖率收集,重载过程更加直观、便于理解,方便后期对于验证环境代码的维护。
技术领域
本发明涉及芯片验证技术领域,特别涉及一种实现覆盖率收集代码重用的方法及计算机可读介质。
背景技术
如图1所示,是对一款芯片的功能逻辑进行抽象后的示例图。
各个端口信号如下:
op:运算指令,包括加法ADD,减法SUB,乘法MUL,除法DIV运算;
A:运算操作数,使用寄存器组来运算和寄存操作数;B:运算操作数,使用寄存器组来运算和寄存操作数;rslt:运算结果,使用寄存器组来运算和寄存结果。
通常为了面向不同的市场需要,会制定不同的产品策略,并进行相应的产品规划,规划出多种不同性能的同类型系列芯片,那么对该芯片支持的性能参数可以做如下抽象:
support_mode:支持的工作模式,包括HIGH_MODE,MEDIUM_MODE,LOW_MODE,性能越高,其支持的模式就越多;
support_op:支持的运算指令,包括ADD,SUB,MUL,DIV性能越高,其支持的运算指令种类就越多,而这取决于其支持的工作模式support_mode;
support_reg:支持的寄存器组,包括寄存器R0~R7,性能越高,其对运算指令进行运算时,运算的操作数和运算后的结果使用的寄存器就越多,那么运算速度就越快,而这同样取决于其支持的工作模式support_mode。
那么简单对其运算指令进行抽象,并在验证平台中用枚举型变量来表示。具体包括:
mode:工作模式;
op:运算指令;
A_reg:运算操作数A所使用的寄存器组;
B_reg:运算操作数B所使用的寄存器组;
rslt_reg:运算结果rslt所使用的寄存器组。
通常需要编写覆盖率组件coverage来对该芯片的一些重要覆盖点做覆盖率收集统计,该组件获取来自monitor监测到的事务数据,可以通过订阅者模式来实现,也可以通过TLM通信端口连接来实现。
该覆盖率组件包含的覆盖点一般至少包括:
mode:收集覆盖到所支持的工作模式;
op:收集覆盖到所支持的运算指令;
A_reg:收集覆盖到的运算操作数A所使用的寄存器组;
B_reg:收集覆盖到的运算操作数B所使用的寄存器组;
rslt_reg:收集覆盖到的运算结果rslt所使用的寄存器组。
一些交叉覆盖点,比如运算指令和运算操作数A所使用的寄存器组等其他一些corner覆盖点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州云合智网技术有限公司,未经杭州云合智网技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210085225.6/2.html,转载请声明来源钻瓜专利网。