Jump to content
Sign in to follow this  
ambreezesj

Improving transaction recording

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?

Share this post


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.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×