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

[hmac,dv] Kill S&R process when reset is asserted #25843

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

Conversation

martin-velay
Copy link
Contributor

@martin-velay martin-velay commented Jan 10, 2025

  • there was a mismatch on hmac_err intr_state between the RTL and the DV environment. The DV environment was not taking into account the reset signal to stop the S&R process. This was causing the DV environment to skip an hmac_err. Now, sar_skip_ctxt signal is zeroed and the S&R process is stopped when the reset signal is asserted.
  • linked to : [hmac,dv] intr_state TB issue #24691

- there was a mismatch on hmac_err intr_state between the RTL and the DV
  environment. The DV environment was not taking into account the reset
  signal to stop the S&R process. This was causing the DV environment to
  skip an hmac_err. Now, sar_skip_ctxt signal is zeroed and the S&R
  process is stopped when the reset signal is asserted.

Signed-off-by: Martin Velay <[email protected]>
@martin-velay martin-velay marked this pull request as ready for review January 10, 2025 13:39
@martin-velay martin-velay requested a review from a team as a code owner January 10, 2025 13:39
@martin-velay martin-velay self-assigned this Jan 10, 2025
@martin-velay martin-velay added Component:DV DV issue: testbench, test case, etc. IP:hmac labels Jan 10, 2025
Copy link
Contributor

@rswarbrick rswarbrick left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, I'm not sure that's quite going to work. I think that e.g. sar_stop_and_continue calls csr_spinwait. What happens if a reset appears when we're half-way through the call?

I think the fix is probably to make it so that each of the sar_* functions exit early if they see a reset, then exit early after they have completed.

@martin-velay
Copy link
Contributor Author

Hmm, I'm not sure that's quite going to work. I think that e.g. sar_stop_and_continue calls csr_spinwait. What happens if a reset appears when we're half-way through the call?

I think the fix is probably to make it so that each of the sar_* functions exit early if they see a reset, then exit early after they have completed.

@rswarbrick
If I am not wrong, the disable fork will kill all the descendants, which means all the sub-tasks/functions initiated by one of these process. Is it clearing your doubt?

@rswarbrick
Copy link
Contributor

I think that will run into the original problem that caused all of this "outstanding access" tracking in the first place. The problem is that killing a sequence in the middle of a CSR operation leaves things in an inconsistent state.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component:DV DV issue: testbench, test case, etc. IP:hmac
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants