uvm_config_db#(uvm_object_wrapper)::set(this, "env.v_sqr.main_phase", "default_sequence", virtual_sequence::type_id::get()); 的方法set default_sequence,还可以用与1370行对应的代码的另一种方法(直接set virtual_sequence的实例): virtual_sequence myseq = new("myseq"); uvm_config_db #(...
uvm_config_db#(uvm_object_wrapper)::set(this, "env.i_agt.sqr.main_phase", "default_sequence", case0_sequence::type_id::get()); uvm_config_db#(uvm_sequence_base)::set(this, "env.i_agt.sqr.main_phase", "default_sequence", cseq); sequence启动后会自动执行sequence的body任务,,还会自...
uvm_config_db#(int)::set(this,"env.i_agt.drv","pre_num",100); uvm_config_db#(int)::set(this,"env.i_agt.drv","pre_num",109);//当上面两个语句同时出现在测试用例的build_phase中时,driver最终获取到的值将会是109 非直线的设置与获取 在uvm_test_top,env或者i_agt中,对driver中的某些...
5)第二个参数出现main_phase,是UVM在设置default_sequence 的要求。除了main_phase 外,还有其他的任务phase(需要仿真时间的),如configure_phase,reset_phase等,所以必须指定是哪个phase,sequencer才知道在哪个phae启动这个sequence。 6)第三个和第四个参数,以及uvm_config_db#(uvm_object_wrapper)是怎么来的,纯粹是U...
二、sequence的启动方式——start()/default_sequence UVM中sequence的启动分为显示启动和隐式启动两种方式。 显式启动(直接启动)——调用start()方法启动。 隐式启动 ——使用uvm_config_db机制配置default_sequence启动。 //sequence的显式启动//该方法提起和落下objection,通过phase.raise_objection(this)/...
uvm_config_db#(uvm_object_wrapper)::set(this,"env.fish_agt.sqr.main_phase","default_sequence",case0_sequence::type_id::get());) 或者先例化,再采用default_sequence启动: 代码语言:javascript 复制 functionvoidfish_case0::build_phase(uvm_phase phase);case0_sequence cseq;super.build_phase(phas...
一种是通过在my_case的build_phase使用uvm_config_db设置default_sequence给sequencer,另一种方式是先实例化要启动的sequence,之后再通过default_sequence启动。两者的区别就在于config_db::set的第四个参数,即要设置的值的获取方式不同,前者通过type_id::get获取,后者则直接用实例化后的变量即可。当一个sequence...
通常sequence不会直接发送给sequencer,而是通过virtual_sequence和virtual_sequencer; raise_objection和drop_objection往往伴随sequence的启动; 第二种:default_sequence 采用default_sequence启动,实际上还是调用了start任务, uvm_config_db#(uvm_object_wrapper)::set(this,"env.fish_agt.sqr.main_phase","default_sequen...
一、sequence的执行流程 二、sequence的启动方式——start()/default_sequence 二、sequence生产数据——body( ) 2.1.宏`uvm_do( )的功能 2.2.sequence的嵌套启动 2.3.sequence接收响应rsp 三、config_db配置sequence 3.1.默认执行的sequence 3.2.配置sequence——get_full_name() / m_sequencer ...
uvm_config_db#(uvm_object_wrapper)::set(this,"env.i_agt.sqr.main_phase","default_sequence",case0_sequence::type_id::get()); (3)使用uvm_config_db#(uvm_sequence_base)配置default_sequence functionvoidmy_case0::build_phase(uvm_phase phase);case0_sequence cseq;super.build_phase(phase);...