Jump to content
Somasekhar

`uvm_do(), `uvm_create/`uvm_send vs sart_item/finish_item

Recommended Posts

I've been using various types of calling uvm_sequences while developing sequences and every approach works. But I've a doubt what is the best one to be used when compared between using uvm_create, uvm_send and start_item, finish_item. In either cases the type and amount of control on the transactions is the same.

Can anyone help me in understanding the differences better?

Are there any guidelines to choose a specific style of coding for a given requirement?

Thanks

Share this post


Link to post
Share on other sites

Hello Somasekhar,

UVM_Sequence has a body method and communication between driver and sequencer, so we must follow some steps as shown below.

1.create_item() / create req.

2.wait_for_grant().
3.randomize the req.
4.send the req.
5.wait for item done.
6.get response(optional).

As per your question,

`uvm_do:- This macro takes seq_item or sequence as an argument. On calling `uvm_do() the above-defined 6 steps and start_item and finish_item will be executed.

`uvm_create:- This macro creates the item or sequence.

`uvm_send:- create() and randomize() are skipped, rest all other steps are  executed.

start_item():- Tells the sequencer that your sequence is available for arbitration by the sequencer. When it returns, your sequence should then set the variables in your sequence_item to the required values (i.e. by randomization or manual methods)

finish_item():-  when all the steps are executed in body method then call finish_item() to finish the transactions. 

Note : start_item() and finish_item() calls do not call pre or post_body().

Thanks,
Bhagwan Jha

Agnisys Inc.

Share this post


Link to post
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.

Guest
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...