End Of Test Mechanisms(从Objections开始)

上一篇 / 下一篇  2018-12-28 16:38:45

Objections

    Objections

       uvm_objection类提供了一种在参与组件和sequences之间共享计数器的方法。 每个参与者可以异步地提起撤销异议,这会增加或减少计数器值。 当计数器达到零(意思是从非零值到零)时,出现全部撤销状态。 “全撤销事件的含义取决于特定objection object的预期应用。 例如,UVM phasing机制使用uvm_objection object来协调每个运行时阶段的结束。 用户流程在phase中启动以提起objection为触发条件,且在phase中结束以撤销objection为触发条件。 phaseobjection计数变为零时,它向phase机制指示每个参与者都同意应该结束phase
       objection
处理的细节相当复杂,并且会产生很高的开销。 通常,建议仅使用控制UVM结束的内置object 建议不要创建和使用您自己的objection
      
注意:objection计数传播仅限于组件和sequence 其他object类型可以参与,但它们必须使用组件或sequence object对象作为context

  Interfaces

       uvm_objection类有三个接口或API。

    Objection Control

       提起和撤销objection以及设定 drain time的方法:

  • raise_objection ( uvm_object bj = null, string description = "" , int count = 1).
    按count计算源object的objection数,默认为1.objection的提升沿层次结构向上传播;
  • drop_objection ( uvm_object bj = null, string description = "" , int count = 1).
    按计数撤销源object的objection数,默认为1.objection的撤销在层次结构中向上传播。 如果任何组件的objection计数降为0,则首先执行可选的drain_time和该组件的all_dropped()回调。 如果此后objection计数仍为0,则传播进入层次结构中的下一级别;
  • set_drain_time ( uvm_object bj = null, time drain).
    设置给定object的drain time。

    建议:

  • 在组件的phase method中使用phase.raise_objection / phase.drop_objection,使该组件参与管理phase结束;
  • 始终提供描述 - 它有助于调试;
  • 通常使用默认计数值;
  • 将drain_time的使用限制在uvm_top或顶层test(如果使用的话)。

   Objection Status

       用于获得关于objection的状态信息的方法:

  • get_objection_count ( uvm_object obj)
    返回给定object显式提起的objection计数值;
  • get_objection_total ( uvm_object bj = null)
    返回object和所有子类的objection计数值;
  • get_drain_time ( uvm_object obj)
    返回object的 drain time(默认值:0ns)。
  • display_objections ( uvm_object bj = null, bit show_header = 1)
    显示有关object的objection信息。

     建议:

  • 通常只对调试有用;
  • 将+ UVM_OBJECTION_TRACE添加到vsim命令行以打开详细的run-time objection跟踪。 这样可以在不必修改代码和重新编译的情况下进行调试;
  • 在调试phase间跳转的问题时,还要添加+ UVM_PHASE_TRACE以增强objection跟踪。

    



TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2019-01-17  
  12345
6789101112
13141516171819
20212223242526
2728293031  

数据统计

  • 访问量: 19769
  • 日志数: 75
  • 建立时间: 2018-09-03
  • 更新时间: 2018-12-29

RSS订阅

Open Toolbar