Jump to content
gaurav_brcm

X's in mirrored value (UVM hardware reset sequence)

Recommended Posts

Hi All,

I am facing an issue:

One of the register field is configured as :

 
field_a.configure(this, 12, 17, "RO", 0, 12'h0, 1, 0, 1);
field_a.set_compare(UVM_NO_CHECK);
 
While doing a reset test, first I reset model then start test.
 
But test fails with :

UVM_ERROR -- value read from DUT (0x0000000080001e00) does not match mirrored value (0x00000000XxxXfe00)

 

Basically the fields declared as RO and UVM_NO_CHECK goes X ?

 

 

Any idea what I am missing or doing wrong ?

 

Thanks.

Share this post


Link to post
Share on other sites

They don't go to X. That's just to show you that the positions where you put UVM_NO_CHECK (regardless of what access policy they have) are treated as "don't care". Your problem there is that there are some checked bits that don't match. I see an 8 and a 1e in the value read from the DUT, but I see a 0 and an fe in the mirrored value.

Share this post


Link to post
Share on other sites

I think that's what the big X means, that just some of the bits are unchecked. The little x's probably mean that all the bits of that nibble are unchecked. Are you sure you don't have another field between [31:28]?

Share this post


Link to post
Share on other sites

No I have fields defined between 28 to 31 and thats what amazes me. These are defined as :

 

field_b.configure(this,  1, 31, "RW", 0,  1'h1, 1, 1, 1)
field_c.configure(this,  2, 29, "RW", 0,  2'h0, 1, 1, 1)
 
So X should not in bit 29 , 30  , 31.

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

×