ambreezesj Posted August 29, 2016 Report Share Posted August 29, 2016 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? Quote Link to comment Share on other sites More sharing options...
bhunter1972 Posted August 30, 2016 Report Share Posted August 30, 2016 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. Quote Link to comment Share on other sites More sharing options...
tudor.timi Posted September 3, 2016 Report Share Posted September 3, 2016 There's a 'recording_detail' configuration property that all UVM components have. I'd use this to enable/disable recording, since you can configure it via the command line. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.