Hi,
Can RAL backdoor read be done in monitor?
If yes, a lead to the code help me a lot.
Thanks,
Pavan
Hi,
Can RAL backdoor read be done in monitor?
If yes, a lead to the code help me a lot.
Thanks,
Pavan
In reply to Pavan Acharya G:
Yes, if you have access to the register model you can do whatever you want, for that you just need to catch the register model from uvm_config_db inside a function or even an task. For example:
regmodel regmodel_inst;
function void build_phase(uvm_phase phase);
super.....
uvm_config_db#(regmodel)::get(null, "*", "regmodel", regmodel_inst);
endfunction : build_phase
Note that depends on the usage of your register model you will need to connect then to the local register model instance using the connect_phase function:
function void connect_phase(uvm_phase phase);
super....
regmodel_inst = from_some_place.regmodel_inst;
endfunction : connect_phase
In reply to Valmor:
regmodel_inst = from_some_place.regmodel_inst;
Here, what “from_some_place” refers to?
In reply to Pavan Acharya G:
Hi,
Can RAL backdoor read be done in monitor?
If yes, a lead to the code help me a lot.
Thanks,
Pavan
It is common practice to put the register model into a configuration object passing thius to the configuration_db. Then you can retrieve your register model in any place where you need it, also in a monitor. Finally you cannot start a read to the register model from the monitor, because the monitor is absolutely passive! But you can have a handle to the register model in your monitor and observe the content of the registers.
In reply to chr_sue:
Finally you cannot start a read to the register model from the monitor, because the monitor is absolutely passive! But you can have a handle to the register model in your monitor and observe the content of the registers.
Can you please elaborate this?
Thanks
In reply to Pavan Acharya G:
Any RD/WR to the RAL requires a sequence and sequences are executed in the sequencer the seq_items generated are processed byx the driver and not by the monitor.
If you have a handle to the register model in the monitor you can observe the register content directly because there is a path to all registers.