[发明专利]增强对SVA调试和控制的方法在审
| 申请号: | 202210085220.3 | 申请日: | 2022-01-25 |
| 公开(公告)号: | CN114443007A | 公开(公告)日: | 2022-05-06 |
| 发明(设计)人: | 马骁 | 申请(专利权)人: | 杭州云合智网技术有限公司 |
| 主分类号: | G06F8/20 | 分类号: | G06F8/20;G06F30/33 |
| 代理公司: | 上海洞见未来专利代理有限公司 31467 | 代理人: | 苗绘 |
| 地址: | 311200 浙江省杭州市萧山区萧山经济技*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 增强 sva 调试 控制 方法 | ||
本发明公开了一种增强对SVA(SystemVerilog Assertion)调试和控制的方法,包含如下步骤:在UVC agent封装的包文件中编写代理抽象类;对代理抽象类进行封装,获得代理封装类;在代理封装类中新增get_proxy方法;在信号接口中对代理抽象类与代理封装类进行派生并对代理封装类进行构造实例化并在其中实现get_proxy方法;配置数据库传递代理封装类至agent组件;agent组件获取代理封装类并调用get_proxy方法,对代理抽象类进行实例化,获得第二代理类,同时将第二代理类自身的字符串名称与所属父节点对象进行传递;编写消息回调对象;应用所述消息回调对象控制消息统计日志;动态获取配置对象。本发明便于对配置对象进行控制和管理,具有项目代码管理方便以及可用性、后期的问题调试方便的特点。
技术领域
本发明涉及芯片验证技术领域,特别涉及一种增强对SVA调试和控制的方法。
背景技术
现有技术如图1所示,利用UVM(Universal Verification Methodology)配置数据库config_db获取验证环境中配置完成的配置对象,在interface接口中对UVM组件类进行派生,从而借助UVM的phase机制,实现在end_of_elaboration_phase中直接获取并传递配置对象,在run_phase中保持对配置对象的监测和更新,最终实现向SVA中动态传递配置对象。
现有方案没有采用UVM的消息打印方式,因此不能够使用更加丰富的消息类型等控制回调方法,从而导致出现问题后调试的不便。
现有方案的SVA(SystemVerilog Assertion)封装在静态的interface接口里,因此现有方案中配置对象的设置,需要在顶层直接向下进行传递到同样在顶层模块中进行声明传递的interface接口里,传递的路径作用域太广,应该将配置对象层层传递给传递给对应的UVC(Universal Verification Component,通用验证组件)封装,最终传递给agent,再由agent向其底层进行传递,从而方便配置对象的控制和管理。
现有方案是将SVA封装在了相应的interface接口里,而改进后的方案实现了类似在agent组件中封装例化SVA代码的效果,这更符合UVC封装的原则,方便了项目代码的管理及可重用性和后期的问题调试。
发明内容
根据本发明实施例,提供了一种增强对SVA调试和控制的方法,包含如下步骤:
在UVCagent封装的包文件中编写代理抽象类;
在包文件中对代理抽象类进行封装,获得代理封装类;
在代理封装类中编写get_proxy方法;
在信号接口中对代理抽象类与代理封装类进行派生并对代理封装类进行构造实例化;
UVM的配置数据库传递代理封装类至UVM 的agent组件;
agent组件获取代理封装类并调用get_proxy方法,对代理抽象类的派生子类进行构造实例化,获得第二代理类;
编写消息回调对象;
UVM的消息报告系统应用消息回调对象控制消息统计日志;
动态获取配置对象,并对配置对象的配置参数进行实时的更新同步。
进一步,在对代理封装类进行构造实例化的同时,在信号接口中编写第一实现方法,用于对get_proxy方法进行重载实现。
进一步,agent组件调用第一实现方法,对代理抽象类的派生子类进行构造实例化的同时,agent组件自身作为父节点进行传递。
进一步,编写消息回调对象,包含如下子步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州云合智网技术有限公司,未经杭州云合智网技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210085220.3/2.html,转载请声明来源钻瓜专利网。





