Welcome ! This website will help YOU (recent graduates/professionals) learn verification languages like SystemVerilog and UVM. Register for free and access more content !
  1. Nayan Naware
  2. UVM
  3. Thursday, 21 February 2019
From the following link i understood how to use uvm_put_imp_decl.

I tried the same in my Scoreboard.

But how to call different write function of respective monitor ?????


`uvm_put_imp_decl (_1)
`uvm_put_imp_decl (_2)

class my_put_imp #(type T=int) extends uvm_component;
uvm_put_imp_1 #(T, my_put_imp #(T)) put_imp1;
uvm_put_imp_2 #(T, my_put_imp #(T)) put_imp2;

function void put_1 (input T t);
// puts coming from put_imp1
endfunction

function void put_2 (input T t);
// puts coming from put_imp2
endfunction
...
endclass
Responses (1)
Accepted Answer Pending Moderation
You need to connect put_imp1 to the first monitor and put_imp2 to the second monitor.


mon1.pport.connect(my_put_imp_inst.put_imp1);
mon2.pport.connect(my_put_imp_inst.put_imp2);


Typically monitors have analysis ports and hence it would be better to use `uvm_analysis_imp_decl. In that case, you can have two different analysis implementations for two different monitors.


mon1.analysis_port.connect(my_aport_imp_inst.aport1);
mon2.analysis_port.connect(my_aport_imp_inst.aport2);
  1. more than a month ago
  2. UVM
  3. # 1
  • Page :
  • 1


There are no replies made for this post yet.
However, you are not allowed to reply to this post.

You consent to our cookies if you continue to use our website. To know more about cookies, see our privacy policy. I accept cookies from this site.

Agree