Quantcast
Channel: UVM Forums RSS Feed
Viewing all articles
Browse latest Browse all 756

W0CRS doesn't predict correct value if reset value is '1'

$
0
0

Hi UVM experts,

 

I am working on a testbench to verify register behavior and came a cross an issue with W0CRS register fields with reset value of 1.   Please correct me if i am wrong here.

 

A 3-bit register field of type W0CRS with default value 3'b101. W0CRS states "W: 1/0 no effect on/clears matching bit, R: sets all bits"

tx_byte_bus.configure(this, 3, 0, "W0CRS", 0, `UVM_REG_DATA_WIDTH'h00000005, 1, 1, 1);

 

and my testcase does the following transactions to verify the register:

after system reset and regModel.reset (reset all mirrored values to their default) -> write all 1's -> then followed by a read -> then followed by a 2nd read

 

I expected the first read return 3'b101 as W0CRS shouldn't change m_value after write-all-1's is done, but the test failed with an uvm_error complaining the mirrored value is 3'b000, not match DUT value 3'b101.

 

- if I update the default value to all 0's in both DUT and UVM_REG file, then test passed

- if I udpate the default value to all 1's in both DUT and UVM_REG file, then test failed with the same error.

 

Is this a bug with W0CRS register? 

 

thanks,

Judy

 

 


Viewing all articles
Browse latest Browse all 756

Trending Articles