Jump to content

Recommended Posts

I am trying to improve transaction recording. So far we have used field automation macros, but to make debugging efficient I am trying to customize the recording.

 

I've understood that the do_record function should do the trick

class proj_brc_tr extends proj_tr;
   rand time cmd_width;
   rand time brc_per;
   `uvm_object_utils_begin(proj_brc_tr)
   `uvm_field_int(cmd_width,UVM_ALL_ON+UVM_TIME)
   `uvm_field_int(brc_per,UVM_ALL_ON+UVM_TIME)
   `uvm_object_utils_end



    function void do_record(uvm_recorder recorder) ;
     `uvm_record_attribute(recorder.tr_handle,"cmd_width",cmd_width) ;
     
 endfunction
   

So here I'm trying to override the field automation micros and display only 'cmd_width' using do _record.

But the change is not getting reflected when I simulate the files.

I've read in some forums that do_record needs to be called by the record function, but doesn't do_record gets called automatically when begin_tr() and end_tr() are called in monitors and drivers?

Link to post
Share on other sites

 

I've read in some forums that do_record needs to be called by the record function, but doesn't do_record gets called automatically when begin_tr() and end_tr() are called in monitors and drivers?

 

 

Only if recording is enabled for that transaction. To do that, you need to call the enable_recording() function and give it a stream.

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