另外说下response_queue_depth这个int类型变量,它的默认值为8,也就是response_queue队列默认只能放8个rsp,如果超过的话,会被直接忽视掉(用户可以打开response_queue_error_report_disabled来报错)。 但如果用户想要让response_queue队列可以放更多的rsp呢?需要调用uvm_sequence_base里的set_response_queue_depth(xx)来...
m_transaction_id: get_transaction_id / set_transaction_id 在使用SNPS VIP时需注意,response_queue[$]的size一般不设限制,调用set_response_queue_depth(-1)。 sequence中的get_response(rsp,reg.get_transaction_id()) 与 driver中的put_response(rsp)握手。若不指明ID,则直接pop出response_queue[$]的trans...
可以看出,在put_base_response函数里会将uvm_driver送过的rsp放到response_queue队列了,response_queue队列定义为:protected uvm_sequence_item response_queue[$]。另外说下response_queue_depth这个int类型变量,它的默认值为8,也就是response_queue队列默认只能放8个rsp,如果超过的话,会被直接忽视掉(用户可以打开respon...
uvm_config_db#(virtual my_if)::set(null, "uvm_test_top.env.i_agt.drv", "vif", input_vif); 在top_tb中设置virtual interface时,由于top_tb不是一个类,无法使用this指针,所以设置set的第一个参数为null,第二个参数使用绝对路径uvm_test_top.xxx。 uvm_config_db#(virtual my_if)::set(uvm_roo...
另外说下response_queue_depth这个int类型变量,它的默认值为8,也就是response_queue队列默认只能放8个rsp,如果超过的话,会被直接忽视掉(用户可以打开response_queue_error_report_disabled来报错)。但如果用户想要让response_queue队列可以放更多的rsp呢?需要调用uvm_sequence_base里的set_response_queue_depth(xx)来...
response_queue.delete(); endfunction 从以上5个function可看出UVM中response的机制,首先是定义一个queue,用于存放response,protected uvm_sequence_itemresponse_queue[$]; 并定义一该queue的深度,protected intresponse_queue_depth = 8;由此可见有一个depth为8的queue用于存放response,每当put_response时,就向该...
set_response_queue_depth(8); 通过修改sequence,仿真正常结束。 classgf_op_sequenceextends uvm_sequence #(gf_op_item);virtualgf_op_interface vif;ivt_gf_op_config cfg;randintnum_data;`uvm_object_utils_begin(gf_op_sequence)`uvm_object_utils_end ...
set_response_queue_depth function void set_response_queue_depth(intvalue) The default maximum depth of the response queue is 8. These method is used to examine or change the maximum depth of the response queue. Setting the response_queue_depth to -1 indicates an arbitrarily deep response queue...
rsp.set_id_info(req);// seq_item_port.item_done(rsp);// end response的数量问题 通常来说,一个transaction对应一个response,但是事实上,UVM也支持一个transaction对应多个response的情况,在这种情况 下,在sequence中需要多次调用get_response,而在driver中,需要多次调用put_response: ...
What is the response queue getting filled with? When I write something to a fifo, I don’t expect a response. Thank You! `ifndef FIFO_SVH `define FIFO_SVH import uvm_pkg::*; `include "uvm_macros.svh" `include "fifo_transaction.sv" ...