Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mshr: Prevent assertion misfire during reset #44

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

paulsc96
Copy link

@paulsc96 paulsc96 commented Nov 6, 2024

While the cache is held in reset, the one_command_assert assertion in hpdcache_mshr will always fail, raising a false-positive error any time the cache is being reset:

# ** Error: MSHR: ack with concurrent alloc or check

This should not happen as the reported error is not an actual issue. Furthermore, it presents a problem for testing setups designed to fail on assertion failures, as any meaningful simulation will trigger this assertion.

The proposed fix masks the assertion during reset with the disable iff clause.

@cfuguet
Copy link
Contributor

cfuguet commented Nov 7, 2024

Hello @paulsc96,

Yes, thank you for this PR. I accept it.

Could you please accept the Eclipse agreement before I can merge your contribution ?

Thank you

@cfuguet cfuguet self-assigned this Nov 7, 2024
@khandelwaltanuj
Copy link

Hi @cfuguet

I just looked at this issue and I am wondering why we never caught it in the regression run by CEA. Is it a recent change or there is a scenerio that we need to add to reproduce this issue ?

Thanks and regards
Tanuj Khandelwal

@cfuguet
Copy link
Contributor

cfuguet commented Nov 20, 2024

Yes, I don't know why this was not triggered in the UVM testbench.

I've never saw it neither in the Verilator testbench, but probably because Verilator only models 1 and 0 in bit vectors (not X or Z).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants