IMPORTANT NOTICE: Please be advised that the Verification Academy Forums will be offline for scheduled maintenance on Sunday, March 23rd at 4:00 US/Pacific.
I am writing on these registers one after another - awaddr = {1C, 30, 34, 44, 48}
and the bresp for all these writes is 3
Observation after adding above pass/fail variable is that the Assertion only fails for awaddr 1C, 30 and doesn’t pass or fail for other invalid writes (assertion inactive?)
Expectation is that it should fail for all above writes. Please check waveform below and suggest.
You have 3 signals. Is the reset a logical one?
Otherwise, I have no idea why the assertion is not triggering; it should.
Show a closeup for all the signals at address==34.
ake sure you have pass=pass+1; else fail=fail+1;
In reply to verif_guy12:
The assertion is dependent upon 3 signals and having assertions enabled.
Your signals are
reset, set to 1. // no issue here as to why assertion is not triggering
bvalid // Question: Is the value of valid at sampling time ==1?
// It looks like its value is 1, thus antecedent is a match
bresp is !=0 thus expecting a failure
I assume you do not have an $assertoff or assert control that disables assertions.
If those above conditions are true, then I fail to understand your results.
Maybe the tool you are using has an issue or a limitation as to the number of cycles you can use.
We do not address tools in this forum; talk to you vendor.
Code below works as expected.