Jump to content

UVM way of passing information from a monitor to a sequence inside of the same agent?


Recommended Posts

Hi All,

is there a UVM way to pass information from a monitor to a sequence running on a sequencer

inside of the same agent?

I was thinking about adding a "uvm_analysis_export" to my sequencer and connecting it to

a "uvm_analysis_port" of my monitor.

But I've seen an implementation which is using a uvm_event in order to get the transaction

from the monitor into a sequence.

So my question is which way should I go from here?

What is the difference between a uvm_analysis_port implementation in opposite to a

uvm_event based implementation?

Thanks for any advice,


Link to comment
Share on other sites


if you use a uvm_event you always need to expose that event. if you do use a analysis_port you can hide it through multiple levels via *_exports(=proxies).

i think its better to use a

1. instantiate an uvm_blocking_peek_imp#() in the monitor

2. implement the montor::peek task()

3. from the sequence peek into that .addr_ph_port.peek(util_transfer);

see the ubus for an example (in the slave)


Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...