上面代码中的scope_name默认设置为"uvm_test_top.env.sub_env.agent1.sequencer.initialization_sequence"。 sequence配置最常见的用例是为agent及其组成组件(sequencer、driver、monitor……)获取agent的配置对象集。 classsub_envextendsuvm_env;...functionvoidbuild_phase(uvm_phasephase);...my_bus_configagent1_c...
env_vcs.f :env_vcs.f文件,针对vcs工具的filelist文件,包含设计和验证平台的文件列表。 env_xrun.f :env_xrun.f文件,针对xrun工具的filelist文件,包含设计和验证平台的文件列表。 tc.list :tc.list文件,包含所有测试用例信息,可为测试用例设定分组,方便回归测试。 my_env_cfg.sv :my_env_cfg.sv文件,整个...
`uvm_component_utils( jelly_bean_base_test ) jelly_bean_env jb_env; jelly_bean_env_config jb_env_cfg; jelly_bean_agent_config jb_agent_cfg; jelly_bean_partnership_reg_block jb_partnership_reg_block; function new( string name, uvm_component parent ); super.new( name, parent ); endfunc...
scoreboard:分别从chnl_master_agent、chnl_slv_agent和reg_cfg_agent的monitor接收监测数据,并且对channel的流入流出数据进行比对.register和chnl连接的信号只有一个ch_en,reg_cfg_agent做的事就是什么driver什么时候enable,什么时候disable。monitor监测什么时候打开,什么时候关掉 ARB_ENV arbiter_master_agent:给arbiter提...
class env_config extends uvm_object; int is_coverage = 0; int is_check = 0; agent_config m_agent_cfg; `uvm_object_utils_begin(env_config) `uvm_field_int(is_coverage, UVM_ALL_ON) `uvm_field_int(is_check, UVM_ALL_ON) `uvm_field_object(m_agent_cfg, UVM_ALL_ON) `uvm_object_...
"env","cfg",cfg);...endfunctionendclass 在test.env中get:class my_env extends uvm_env;my_config cfg;...function void bulid_phase(uvm_phase phase);...if(!uvm_config_db#(my_config)::get(this,"","cfg",cfg))begin`uvm_fatal(" get config object failed")end...endfunctionendclass ...
UVM_INFO @ 0.00ns: uvm_test_top.fifo_env.rd_agt.drv [CFGPRT] visible resources: rd_drv_if [/^uvm_test_top\.fifo_env\.rd_agt\.drv$/] : (virtual interface rd_interface#(8)) ? - UVM_INFO @ 0.00ns: uvm_test_top.fifo_env.rd_agt.drv.rsp_port [CFGPRT] visible resources: ...
env_xrun.f : env_xrun.f文件,针对xrun工具的filelist文件,包含设计和验证平台的文件列表。 tc.list : tc.list文件,包含所有测试用例信息,可为测试用例设定分组,方便回归测试。 my_env_cfg.sv : my_env_cfg.sv文件,整个验证平台的配置文件,内含静态变量,可传递至平台任意模块,完成验证平台的配置。
第一,在这么多不同的case下,我们可以设置一个base_case,base_case将环境env,cfg等一些东西包进去; 第二,需要几个不同的sequence就写几个sequence,sequence之间没有联系,继承于uvm_sequence; 第三,在每个具体的执行case下,可以用asserte插入具体的配置参数,并且每个case设置自己独立的default_sequence; ...
env= sfr_env::type_id::create("env",this); env.cfg= env_cfg;endfunction: build_phase When the abstract-concrete class connection pattern is used, the agent does not have to be parameterised, since class handles are used to make the connection. ...