在UVM中,uvm_do_on_with是一种用于协调测试场景执行的重要方法。它允许设计验证工程师在执行特定的uvm_sequence对象时,在指定的uvm_component上执行回调方法。这种方法在测试场景控制和信号处理方面非常有用。 使用uvm_do_on_with方法,我们首先需要创建一个uvm_sequence对象。这个对象将包含需要执行的测试步骤。然后,我...
第一部分:uvm_do_on_with概述 -引言uvm_do_on_with的作用和意义,解释其在验证中的重要性。 第二部分:uvm_do_on_with的基本用法 -构造函数:明确定义uvm_do_on_with的基本属性和参数 - start函数:开始uvm_do_on_with的执行 - wait函数:等待一定条件满足后继续执行 - post_do函数:uvm_do中执行完do_on_...
`uvm_do_on_with(mem_abv,p_sequencer.memseqr,{req.addr >= 200;}) .. endtask endclass : mem_vseq There is no issue, if I use “uvm_do_on”, but issue with “uvm_do_on_with” Getting error as below… `uvm_do_on_with(mem_abv,p_sequencer.memseqr,{req.addr >= 200;}) | ...
与with对应。 所以,`uvm_do_on_pri_with的具体形式为:`uvm_do_on_pri_with(SEQ_OR_ITEM, SEQR, PRIORITY, CONSTRAINT)。 内在篇: 代码解析: 虽然说uvm_do系列宏有八个,但是每一个宏最终的落脚点都是在`uvm_do_on_pri_with,这8个是统一的。具体源码里面怎么实现的呢? 宏中没有on的,其实是`uvm_do_...
最后,带有with的宏,都有传一个”CONSTRAINT“的参数,该参数是由{ }包括的约束,表示对SEQ_OR_ITEM的一个约束。与with对应。 所以,`uvm_do_on_pri_with的具体形式为:`uvm_do_on_pri_with(SEQ_OR_ITEM, SEQR, PRIORITY, CONSTRAINT)。 内在篇:
1.uvm_do 相关宏 在sequence的body中使用uvm_do系列宏,可以自动完成transaction的创建,随机化和发送。 uvm_do系列宏对transaction和sequence都能支持。 如参数是transaction时它会调用start_item&finish_item任务。 如果是sequence,它会调用start任务。 所有uvm_do宏均由uvm_do_on_pri_with而来,如下图示: ...
第一种时利用uvm_do系列宏 在一个sequence的body中,除了可以使用uvm_do宏产生transaction外,还可以启动其它sequence,这就是嵌套sequence。 uvm_do系列宏有uvm_do/uvm_do_pri/uvm_do_with/uvm_do_pri_with/uvm_do_on/uvm_do_on_pri/uvm_do_on_with/uvm_do_on_pri_with ...
8:uvm_do系列的宏一共有8个,但是它们都是由uvm_do_on_pri_with这一个宏来添加不同的约束条件产生的,其中_do表示产生一个transaction,_on表示显式的指定使用哪个sequencer发送此transaction,_with表示约束,_pri表示产生的transaction的优先级。 `uvm_do(SEQ_OR_ITEM)o`uvm_do_pri(SEQ_OR_ITEM,PRIORITY)`uvm...
5215 full expansion of macro (uvm_do_on_with), error at line 9 5216 … 5217 $cast(i2c_mst_seq , create_item(w_, m_env.i2c_env.i2c_system_env.sequencer.master_sequencer[0], “i2c_mst_seq”)); 5218 end 5219 if (!$cast(__seq,i2c_mst_seq)) start_item(i2c_mst_seq, -1); ...
最基础的sequence宏是uvm_do及其衍生,uvm_do系列宏主要包含以下八个: `uvm_do`uvm_do_pri`uvm_do_with`uvm_do_pri_with`uvm_do_on`uvm_do_on_pri`uvm_do_on_with`uvm_do_on_pri_with 从其组织形式可以看出,是uvm_do及pri,with,on等关键词的排列组合,这样有助于我们去记忆。回顾一下uvm_do宏的功...