m_uvm_reg_mem_built_in_seq.start(null)
时间: 2023-09-14 10:14:57 浏览: 182
在UVM中,m_uvm_reg_mem_built_in_seq.start(null)是用于启动一个内建寄存器或内建存储器的默认序列的方法。当该方法被调用时,它会根据内建寄存器或内建存储器的类型生成默认的读、写、重置等操作序列,并启动这些序列。如果该内建寄存器或内建存储器的默认序列需要在测试中进行修改,也可以通过继承该类并重载相应的方法来实现。需要注意的是,该方法只适用于内建寄存器和内建存储器,不能用于用户自定义的寄存器和存储器。同时,该方法需要在一个UVM组件的run_phase中被调用,以确保序列的正确执行。
相关问题
uvm 中m_uvm_reg_mem_built_in_seq
m_uvm_reg_mem_built_in_seq是UVM中的一个类,用于生成针对内建寄存器和内建存储器的序列。该类提供了多个方法,如do_write、do_read、do_reset等,可以在测试中方便地使用。不过需要注意的是,该类只适用于内建寄存器和内建存储器,不能用于用户自定义的寄存器和存储器。
下面代码的作用是什么:class scp_2_pdma_mem2perip_burst_test extends base_test; `uvm_component_utils (scp_2_pdma_mem2perip_burst_test) virtual function void test_cfg(); endfunction function new (string name="scp_2_pdma_mem2perip_burst_test", uvm_component parent=null); super.new (name, parent); endfunction : new function void build_phase(uvm_phase phase); super.build_phase(phase); endfunction : build_phase task run_phase(uvm_phase phase); ahb1_spi0_std_mode_sequence ahb1_spi0_std_mode_seq; ahb_master_8corecfg_sequence ahb_mst_8ccfg_seq; sysctrl_dma_config_sequence stsctrl_dma_seq; pdma_config_mem2perip_burst_sequence pdma_cfg_mem2perip_burst_seq; super.run_phase(phase); ahb1_spi0_std_mode_seq = ahb1_spi0_std_mode_sequence::type_id::create("ahb1_spi0_std_mode_seq"); ahb_mst_8ccfg_seq = ahb_master_8corecfg_sequence::type_id::create("ahb_mst_8ccfg_seq"); stsctrl_dma_seq = sysctrl_dma_config_sequence::type_id::create("stsctrl_dma_seq"); pdma_cfg_mem2perip_burst_seq = pdma_config_mem2perip_burst_sequence::type_id::create("pdma_cfg_mem2perip_burst_seq"); phase.raise_objection(this); // seq.starting_phase = phase; ahb1_spi0_std_mode_seq.start(env.scp_2_8core_master_agent.sequencer); ahb_mst_8ccfg_seq.start(env.scp_2_8core_master_agent.sequencer); stsctrl_dma_seq.start(env.scp_2_8core_master_agent.sequencer); pdma_cfg_mem2perip_burst_seq.start(env.scp_2_8core_master_agent.sequencer); phase.drop_objection(this); endtask endclass
这段代码定义了一个类 "scp_2_pdma_mem2perip_burst_test",它是 "base_test" 类的子类,并且使用了 UVM (Universal Verification Methodology)框架。这个类包含以下成员函数:test_cfg() 和 new(),以及 build_phase() 和 run_phase() 函数,它们均重写了 base_test 中对应的函数。在 run_phase() 函数中,定义了四个不同的 sequence,然后启动这四个 sequence,实现对 "env.scp_2_8core_master_agent" 中的 sequencer 的控制。这段代码可能是用于硬件验证的测试代码。
阅读全文