functionvoiduvm_transaction::set_transaction_id(integerid); m_transaction_id = id; endfunction // get_transaction_id functionintegeruvm_transaction::get_transaction_id(); return(m_transaction_id); endfunction // new functionuvm_transaction::new(stringname="", uvm_component initiator =null); su...
为了方便调试和追踪transaction,uvm_transaction基类提供了get_transaction_id()成员方法来根据ID进行追踪。此外由于uvm_sequence_item是从uvm_transaction继承而来的,因此也可以使用这个方法。 举个简单的例子: classsimple_itemextendsuvm_sequence_item;randintunsignedaddr;randintunsigneddata;randintunsigneddelay;constraintc1...
component,transaction_id,开始事件,结束事件 3.function void uvm_transaction::set/get_transaction_id(integer id);对m_transaction_id的访问 4.function void uvm_transaction::set/get_initiator(uvm_component initiator);对initiator的访问 5.function uvm_event_pool uvm_transaction::get_event_pool();//返回...
uvm_component parent); super.new(name, parent); endfunction function void build_phase(uvm_phase phase); super.build_phase(phase); env = m_env::type_id::create("env",this); endfunction function void connect_phase(uvm_phase phase); super.connect_phase(phase); end...
get_base_response( rsp, transaction_id);$cast(response,rsp); endtask get_base_response(xxx)方法的代码如下: 从以上代码可以看出,get_reponse(xxx)就是从response_queue队列里拿数据,response_queue里的数据是put_response在没有使能response_handler机制情况下放进去的。因此用户要注意一旦采用response_handler机...
18、uvm_transaction和uvm_sequence_item有什么区别? 19、copy()、clone()和create()方法之间有什么区别? 20、解释UVM方法学中的Agent概念。 21、get_name()和get_full_name()有什么区别 22、ACTIVE agent与PASSIVE agent有何不同? 23、Agent如何配置为“ACTIVE”或“PASSIVE”?
seq_item_port.get_next_item(tmp); void'($cast(req, tmp)); `uvm_info("DRV", $sformatf("got a item \n %s", req.sprint()), UVM_LOW) void'($cast(rsp, req.clone())); rsp.set_sequence_id(req.get_sequence_id()); rsp.set_transaction_id(req.get_transaction_id()); ...
发送transaction的宏如uvm_do_on, uvm_do_on_pri, uvm_do_on_with等提供了灵活的发送选项。3. Sequence、sequencer、driver之间的通信sequence通过ID信息标识item来源,确保item发送的准确性。4. config_db在sequence中的使用sequence中可以通过get_full_name获取组件路径,用于动态获取或设置config_db中的...
set_report_id_action("my_drv", UVM_DISPLAY | UVM_COUNT):对某个特定的ID进行计数。把ID为my_drv的所有信息加入到计数中,UVM_INFO, UVM_WARNING, UVM_ERROR, UVM_FATAL。 set_report_severity_id_action(UVM_WARNING, "my_driver", UVM_DISPLAY | UVM_COUNT); ... 命令行中设置技术目标: <sim com...
get_type() get_transaction_id() clone() set_sequence_id() copy() get_sequence_id() print() set_id_info() sprint() set_sequencer() copy() get_sequencer() compare() set_parent_sequence() pack() get_parent_sequence() unpack() ...