svt_axi_slave_agent中封装了:
在monitor中定义了一个TLM端口:
uvm_blocking_peek_imp#(`SVT_AXI_SLAVE_TRANSACTION_TYPE, svt_axi_slave_monitor) response_request_imp
在sequencer中定义了一个TLM端口:
uvm_blocking_peek_port#(`SVT_AXI_SLAVE_TRANSACTION_TYPE) response_request_port
在sequence中body函数定义如下:
forever begin
p_sequencer.response_request_port.peek(req_resp);
req_resp.randomize; //随机各种延时及bresp和rresp的类型
put_write_transaction_data_to_mem(req_resp);
get_read_data_from_mem_to_ransaction(req_resp);
$cast(req, req_resp);
`uvm_send(req) //send to driver
end