if(req_resp.xact_type == svt_axi_slave_transaction::WRITE) begin
put_write_transaction_data_to_mem(req_resp);
$cast(req,req_resp);
`uvm_send(req)
end else begin
fork begin
write_threshold_evnt.wait_on();
foreach(rd_txn_q[i]) begin
rd_txn_q[i].suspend_response=0;
get_read_data_from_mem_to_transaction(rd_txn_q[i]);
threshold_reached_flag=1;
end//foreach
end
join_none
if(threshold_reached_flag) begin
get_read_data_from_mem_to_transaction(req_resp);
end//threshold_reached_flag
else begin
req_resp.suspend_response=1;
rd_txn_q.push_back(req_resp);
end//else threshold_reached_flag
$cast(req,req_resp);
`uvm_send(req)
end
AXI读写依赖
于 2023-01-29 16:49:09 首次发布