一种基于UVM事件机制的自适应仿真结束方法技术

技术编号:37668407 阅读:10 留言:0更新日期:2023-05-26 04:28
本发明专利技术公开一种基于UVM事件机制的自适应仿真结束方法,属于验证方法领域。本发明专利技术主要通过UVM事件、“看门狗”机制和UVM的Phase投票机制实现。仿真开始时,“看门狗”机制开始计数,当特定UVM事件触发时,清零计数器;若一段时间没有事件触发,计数器达到阈值,进入仿真结束流程。本发明专利技术解决了在没有办法通过简单的延时、等待特定条件情况下自适应结束仿真的方法,使用简单,使用范围广,可以提高验证效率。可以提高验证效率。可以提高验证效率。

【技术实现步骤摘要】
一种基于UVM事件机制的自适应仿真结束方法


[0001]本专利技术涉及验证方法
,特别涉及一种基于UVM事件机制的自适应仿真结束方法。

技术介绍

[0002]UVM(Universal Verification Methodology,通用验证方法学)是以SystemVerilog语言为基础的验证库;在UVM出现之前,还有OVM(Open Verification Methodology,开放验证方法学)和VMM(Verification Methodology Manual,验证方法论手册)在2011年2月由Accellera推出,得到了Sysnopsys、Mentor和Cadence的支持。UVM继承了前两者的优点并克服缺点,代表了未来验证方法学发展方向。
[0003]UVM的Phase机制将仿真运行过程分为多个部分,每个部分对应一个Phase,如build_phase一般用于各组件例化、连接,main_phase用于执行仿真功能等,目的是为了规范代码执行顺序,划分每个阶段验证环境应该做的事。Phase中的Objection投票机制用于控制各Phase间的跳转,raise_objection表示该Phase还不能结束,drop_objection表示该Phase可以结束并跳转到下一个Phase,一般成对出现。
[0004]在验证流程中常用的控制仿真结束的方式,一是直接延迟,可以通过Phase机制中的set_drain_time方法设置此Phase在drop_objection之前延时多久,也可以直接在Phase中用“#”方式延时,实际项目中DUT(Design Under Test,设计测试)的输出延时会随着激励的变化而变化,这种固定延时的方式会造成仿真提前结束或者浪费仿真时间的情况,因此只适用于场景固定的直接用例;二是等待特定条件再drop_objection,这种方式在某些等待条件无法达成的情况下,会出现仿真无法停止的情况。

技术实现思路

[0005]本专利技术的目的在于提供一种基于UVM事件机制的自适应仿真结束方法,以解决
技术介绍
中的问题。
[0006]为解决上述技术问题,本专利技术提供了一种基于UVM事件机制的自适应仿真结束方法,包括:
[0007]步骤A:在需要的位置新建UVM事件并触发;
[0008]步骤B:建立一个全局事件资源池,将所有新建事件加入到该全局事件资源池中;
[0009]步骤C:检测事件触发,如果没有事件触发则计数器自加,否则清零计数器;
[0010]步骤D:在达到计数的阈值时进入仿真结束流程。
[0011]在一种实施方式中,所述步骤A中,在验证环境中需要的位置新建UVM事件,在符合条件时触发该新建的UVM事件。
[0012]在一种实施方式中,所述步骤B中,通过UVM内建方法,建立一个全局事件资源池。
[0013]在一种实施方式中,所述步骤C中,并行检测所述全局事件资源池中的所有事件是否触发,检测到有任何一个事件触发时,将“看门狗”计数器清零,否则“看门狗”计数器自
加。
[0014]在一种实施方式中,所述步骤D中,将“看门狗”计数器的计数值与设定阈值比较,若达到阈值,则停止事件触发监测和计数,进入仿真结束流程。
[0015]在本专利技术提供的一种基于UVM事件机制的自适应仿真结束方法中,在验证环境中触发事件,通过“看门狗”机制并行监测是否有事件被触发,通过控制UVM仿真Phase的跳转,从而控制仿真结束。这种方式使用简单,适用范围广,在验证环境中例化该组件,在需要的地方新建事件并设置触发条件即可,组件会自动识别并监测新增的事件;设置合适的“看门狗”阈值后,组件即可根据事件触发情况自动调整仿真结束事件,提高验证效率。
附图说明
[0016]图1是添加了自适应仿真结束组件的验证环境结构示意图;
[0017]图2是基于UVM事件机制的自适应仿真结束工作流程图;
[0018]图3是在Master Agent和Slave Agent中新建及触发事件的流程图;
[0019]图4是“看门狗”监测事件触发和“喂狗”组件工作流程图。
具体实施方式
[0020]以下结合附图和具体实施例对本专利技术提出的一种基于UVM事件机制的自适应仿真结束方法作进一步详细说明。根据下面说明,本专利技术的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本专利技术实施例的目的。
[0021]图1为一个集成了本专利技术自适应仿真结束方法的比较通用的UVM验证平台结构图,End_of_Test组件继承自uvm_component,负责监测事件触发及“看门狗”计数,使用时只需要在Env中例化End_of_Test组件,并且在每个Master Agent中的Driver组件和Slave Agent中的Monitor组件中新建事件并设置事件触发。
[0022]图2为本专利技术自适应仿真结束方法的整体工作流程示意图,新建事件时将此事件加入全局事件资源池中,当Driver或Monitor收到数据时,会触发对应的事件。每个事件都有单独的使能配置,通过config_db机制从顶层Env配置到每个Master Agent和Slave Agent。在顶层Env例化时,设置“看门狗”超时阈值,单位为纳秒(ns),即任一使能的事件在阈值时间内都没有被触发,则退出“看门狗”结束仿真。
[0023]图3为在每个Master Agent和Slave Agent中进行事件新建和触发的具体步骤,首先新建一个uvm_event变量(即UVM事件),然后将该变量加入全局事件资源池,如果当前事件使能有效,则在Driver或Monitor收到数据时触发事件。
[0024]如图4所示为End_of_Test组件工作流程,End_of_Test组件可在不同项目中复用。事件触发监测和“看门狗”计数在End_of_Test的main_phase中进行,进入main_phase先raise_objection。事件触发监测和“看门狗”计数并行,同时并行监测事件资源池中所有事件,当任一事件触发时,“看门狗”计数器清零;计数器每隔1纳秒加1,当达到设定的阈值时结束事件监测和计数,然后drop_objection,进入仿真结束流程。
[0025]本专利技术主要通过UVM事件机制和“看门狗”相结合,在验证环境中设置事件触发“喂狗”以实现自适应结束仿真,以上所述流程只是本专利技术方法的其中一种实现方法,另外还可
以做出若干变形和改进,这些都属于本专利技术的保护范围。
[0026]上述描述仅是对本专利技术较佳实施例的描述,并非对本专利技术范围的任何限定,本专利
的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于UVM事件机制的自适应仿真结束方法,其特征在于,包括:步骤A:在需要的位置新建UVM事件并触发;步骤B:建立一个全局事件资源池,将所有新建事件加入到该全局事件资源池中;步骤C:检测事件触发,如果没有事件触发则计数器自加,否则清零计数器;步骤D:在达到计数的阈值时进入仿真结束流程。2.如权利要求1所述的基于UVM事件机制的自适应仿真结束方法,其特征在于,所述步骤A中,在验证环境中需要的位置新建UVM事件,在符合条件时触发该新建的UVM事件。3.如权利要求1所述的基于UVM事件机制的自适...

【专利技术属性】
技术研发人员:戴威陈谡范学仕唐茂洁
申请(专利权)人:中科芯集成电路有限公司
类型:发明
国别省市:

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

1