Tuesday 15 April 2014

agent - UVM: connecting sequencer+monitor with a scoreboard -


I want to add the scoreboard to an agent's secrecyr + monitor. Monitor is direct using an analysis monitor ( uvm_analysis_imp ) monitor holds an analysis port.

However, I'm not sure how to connect the sequencer and scoreboard to the sequencer one uvm_seq_item_pull_imp and it is not possible to connect to an analysis hole only My thoughts Was to check the port used by uvm_driver instead, it is uvm_seq_item_pull_port

Unfortunately, to connect this sequencer and scoreboard It does not seem common, but it is necessary for my purpose Received. Is it possible to use uvm_seq_item_pull_port for sequencer-skoobox connection or is there any easy way?

Due to reusable aspects, such connections between active components (sequencer or driver) (I agree to say that: D). However, this could mean at the SOC level.

What you can do, create your own sequencer class (you probably already have one), in which the analysis port is, you can also write that code on that code to send_request ( ...) then you can add this analysis port to the scoreboard as if you have a general monitoring:

  class some_sequencer extends UVM_sensor # (some_item) happened; Uvm_analysis_port # (some_item) Support; Function zero send_request (uvm_sequence_base sequence_ptr, uvm_sequence_item t, bit rerandomize = 0); Some_item items; If (! $ Cast (item, T)) `uvm_fatal (" CASTERR "," can not be cast ") super.Send_request (sequence_pTR, T, resize); Aport.write (item); Endfiction EndClass  

You can find examples working on (note: I've taken some shortcuts from the acceptable UVM coding guidelines).


No comments:

Post a Comment