Yes. As in my env I mapped this sequence (I2C single write) with RAL. So every ral_handle.block.regmap.reg1.write (status, value); will initiate the transactions.
Drive code of Driver:
virtual task drive();
bit [31:0] address = req.address;
bit [31:0] data = req.data;
if(!uvm_config_db#(int)::get(null, "*", "i2c_passive_slave_addr", i2c_slv_addr))
`uvm_fatal(get_full_name(), "Error in get i2c_passive_slave_addr");
if(req.write)
begin
I2CSingleWriteSeq i2c_write_seq;
i2c_write_seq = I2CSingleWriteSeq::type_id::create("i2c_write_seq", this);
if (!i2c_write_seq.randomize() with
{
i2c_write_seq.slv_addr == i2c_slv_addr;
i2c_write_seq.wdata[0] == data;
i2c_write_seq.address == address;
})
`uvm_fatal("RAL_I2C_DRIVER", $sformatf("i2c_write_seq randomization failure"))
i2c_write_seq.start(ral_soc_sequencer);
Your posts are very confusing. Your first post shows a sequence that you state doesn’t seem to complete if you remove a call to get_response().
Your next post mentions that you use the RAL and map a sequence to it? It’s not clear what you mean by this in that the RAL will generate sequence items, not run a sequence.
Also, your drive() code of your driver that you posted shows the creation of more sequences. This is not how driver code is supposed to function. The driver code should be designed to translate sequence_items to BFM actions.
It appears that you have some significant misunderstandings on how some UVM concepts should be implemented. Perhaps if you share your environment on EDA Playground, some assistance can be provided.
We have map the I2C sequence to RAL write and read method. So when we initiate the ral.write method, internally it will initiate the I2C write sequence and it working fine. When I tried to send the back to back write (ral.write) and remove the get_response() we are seeing that second ral write event is not trigered.
I have created a wrapper for Driver code.
You are doing strange things like starting a sequence in your driver. This is not a good idea. And we do not see how the get_response is integrated in your environment. Please show more code. Best woukd be to provide the code on EDAPLAYGROUND.