公开/公告号CN113849220A
专利类型发明专利
公开/公告日2021-12-28
原文格式PDF
申请/专利权人 杭州云合智网技术有限公司;
申请/专利号CN202111183914.2
发明设计人 马骁;
申请日2021-10-11
分类号G06F8/71(20180101);G06F8/65(20180101);
代理机构31467 上海洞见未来专利代理有限公司;
代理人苗绘
地址 311202 浙江省杭州市萧山区经济技术开发区建设三路733号信息港五期一号楼202室
入库时间 2023-06-19 13:26:15
技术领域
本发明涉及软件技术领域,特别涉及一种基于UVM方法学的SVA封装方法。
背景技术
当我们对较为复杂的时序协议做验证的时候,往往会使用并发断言来辅助验证,现有的技术方案如图1所示,首先在UVM组件里的build_phase对配置对象进行配置,使用UVM(Universal Verification Methodology)的config_db配置数据库将配置完成的配置对象通过virtual interface的句柄调用set_config和set_checks_enable配置接口方法,向interface传递,然后再由其调用SVA(SystemVerilog Assertion),即这里的protocol_checker的配置接口方法,从而最终实现在protocol_checker中获取配置选项,使得断言检查以正常运行。
现有技术中存在如下缺陷:传递给demo_protocol_checker的配置选项是静态的,如果在仿真过程中配置对象demo_config被动态的修改了,那么demo_protocol_checker中的配置选项的值就不是最新的了,配置选项需要动态的被更新,否则断言就不能正确的完成对目标协议的检查。
发明内容
根据本发明实施例,提供了一种基于UVM方法学的SVA封装方法,包含如下步骤:
创建配置数据库,配置数据库获取UVM的验证环境中配置完成的配置对象;
创建封装断言,在封装断言中设置SVA配置接口方法;
创建辅助组件,辅助组件对配置对象进行监测与更新,并将配置对象动态传递至SVA配置接口方法进行封装。
进一步,辅助组件在封装断言中创建。
进一步,辅助组件包含:第一方法与第二方法;
第一方法实时获取配置数据库中的配置对象并将配置对象传递至封装断言;
第二方法对配置对象进行监测与更新。
进一步,在第一方法获取配置数据库中的配置对象之后,第二方法对配置对象进行更新。
根据本发明实施例的基于UVM方法学的SVA封装方法,实现了在仿真过程中,对配置对象的动态监测与更新,解决了现有技术中配置对象无法被及时更新的缺陷,便于在基于UVM方法学的验证环境中使用SVA 动态获取配置对象。
要理解的是,前面的一般描述和下面的详细描述两者都是示例性的,并 且意图在于提供要求保护的技术的进一步说明。
附图说明
图1为现有技术方案的原理图;
图2为根据本发明实施例基于UVM方法学的SVA封装方法的原理图;
图3为根据本发明实施例基于UVM方法学的流程图。
具体实施方式
以下将结合附图2~3,详细描述本发明的优选实施例,对本发明做进一步阐述。
首先,将结合图2~3描述根据本发明实施例的基于UVM方法学的SVA封装方法,其应用场景广阔。
如图2~3所示,本发明实施例的基于UVM方法学的SVA封装方法,包含如下步骤:
在S1中,如图2~3所示,创建配置数据库(config_db),配置数据库(config_db)获取UVM的验证环境中配置完成的配置对象。
在S2中,如图2~3所示,创建封装断言(protocol_checker),在封装断言(protocol_checker)中设置SVA配置接口方法。
在S3中,如图2~3所示,创建辅助组件(check_helper),辅助组件(check_helper)对配置对象进行监测与更新,并将配置对象动态传递至SVA配置接口方法进行封装,即完成在基于UVM方法学的验证平台中对SVA的封装。
进一步,如图2所示,辅助组件(check_helper)在封装断言(protocol_checker)中创建。
进一步,如图2所示,辅助组件(check_helper)派生于uvm_component组件,以便要借助UVM组件对象内置的phase来完成在仿真过程中对配置对象的动态修改。
进一步,如图2所示,辅助组件(check_helper)包含:第一方法(end_of_elaboration_phase)与第二方法(run_phase);第一方法(end_of_elaboration_phase)实时获取配置数据库(config_db)中的配置对象并将配置对象传递至封装断言(protocol_checker);第二方法(run_phase)实时监测配置对象的数据成员变量值的变化并对配置对象进行对实时更新。
进一步,在第一方法(end_of_elaboration_phase)获取配置数据库(config_db)中的配置对象之后,第二方法(run_phase)对配置对象进行更新。
以上,参照图2~3描述了根据本发明实施例的基于UVM方法学的SVA封装方法,实现了在仿真过程中,对配置对象的动态监测与更新,解决了现有技术中配置对象无法被及时更新的缺陷,便于在基于UVM方法学的验证环境中使用SVA 动态获取配置对象。
需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包含……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。
机译: 将基于OVM / UVM的硅前测试转换为在测试仪上运行硅后的方法
机译: 用于半导体树脂封装件生产的脱模膜以及半导体树脂的生产方法学上的空聚酰胺66
机译: 基于CNN的用于选择有用训练数据的学习方法学习设备和使用该方法的测试方法测试设备