Hi All,
I am using AXI4 adapter to write/read registers using UVM RAL.
I notice that the write / read RAL API tasks don’t unblock till a respective RRESP/BRESP is received.
( our adapter flags an uvm_error incase RRESP/BRESP is Not OK )
Although AXI4 protocol supports pipelined / outstanding transactions,
user can’t initiate multiple write / read transactions due to following code in UVM library ::
// Within class uvm_reg_map::do_bus_write / uvm_reg_map::do_bus_read
if (adapter.provides_responses) begin // True since driver sends Response
uvm_sequence_item bus_rsp;
rw.parent.get_base_response(bus_rsp); // write/read task blocks here
adapter.bus2reg(bus_rsp,rw_access);
end
else begin
adapter.bus2reg(bus_req,rw_access);
end
I wanted to know whether one can achieve outstanding transactions via UVM RAL ?
Reference to any papers / docs / edacode that we could use as guidance would be extremely helpful
Thanks,
Arshi