walkeranderson 3 Report post Posted November 14, 2014 I think there's a bug in the UVM 1.2 burst_read() task of the uvm_mem_region class. The "value" argument is defined as an output, not a reference, so an implementation of say a backdoor read cannot get the size of the value array to use to determine the burst size. I believe this same bug was found and fixed in the burst_read() task of the uvm_mem class but the same fix is needed for the uvm_mem_region class burst_read(). Code snippets from UVM 1.2 for uvm_mem_region and uvm_mem shown below. Does anyone else agree it's a bug? Thanks. From uvm_mem_mam.svh task uvm_mem_region::burst_read(output uvm_status_e status, input uvm_reg_addr_t offset, output uvm_reg_data_t value[], input uvm_path_e path = UVM_DEFAULT_PATH, input uvm_reg_map map = null, input uvm_sequence_base parent = null, input int prior = -1, input uvm_object extension = null, input string fname = "", input int lineno = 0); From uvm_mem.svh task uvm_mem::burst_read(output uvm_status_e status, input uvm_reg_addr_t offset, ref uvm_reg_data_t value[], input uvm_path_e path = UVM_DEFAULT_PATH, input uvm_reg_map map = null, input uvm_sequence_base parent = null, input int prior = -1, input uvm_object extension = null, input string fname = "", input int lineno = 0); Share this post Link to post Share on other sites
walkeranderson 3 Report post Posted November 15, 2014 I accidentally put this in the wrong forum. Probably should be in the UVM methodology or System Verilog forum I think. My apologies. Maybe there's some way to move it? Share this post Link to post Share on other sites
chlalex 0 Report post Posted September 16, 2015 I met the same problem with you. I agree with you that it's a bug. How did you cope with this issue in the end? patch the UVM package? Share this post Link to post Share on other sites