-
Notifications
You must be signed in to change notification settings - Fork 778
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,rtl/dv] DV synchronization and error handling fixes #23383
Conversation
7db9e77
to
ec90656
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have few non-blocking comments. If the regression is passing, it could be merged IMO
cfg.clk_rst_vif.wait_clks((msg.size() % 4 || !legal_seq_c.constraint_mode()) ? | ||
HMAC_KEY_PROCESS_CYCLES * 2 : | ||
$urandom_range(0, HMAC_KEY_PROCESS_CYCLES * 2)); | ||
key_process_cycles * 2 : |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you add a comment to explain why this factor 2?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm still not entirely sure to be honest, I went down memory lane and git blame takes it back to this 1d1febc. It is a delay to avoid checking fifo_empty interrupt since it is hard to synchronize with the scoreboard and it is doubled since the prim_packer may also be holding more data. I haven't figured it out, I will rework the existing comment and add a TODO
, so we can revisit it post M4.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
RTL change LGTM. Thanks for this fix, @gdessouky!
@gdessouky: Did you run this through a regression (all block-level tests of HMAC, potentially with reduced reseed factor)? If so, could you please post the results? |
ec90656
to
01c2bc1
Compare
I've pushed now with minor fixes (thanks @martin-velay), and have run earlier the block-level regression with the results below, so it looks good to me (the V3 failing test was always failing).
|
This synchronizes the scoreboard checks for digest sizes 384 and 512, and implements a fix with the loading from the message FIFO. This also implements DV fixes for the error handling checks when simultaneous errors are triggered. Signed-off-by: Ghada Dessouky <[email protected]>
01c2bc1
to
ace5b41
Compare
This synchronizes the scoreboard checks for digest sizes 384 and 512, and once merged would close #22578. This also implements a minor RTL fix with the loading from the message FIFO for SHA-2 384/512; this has no impact on functionality and digests computation, but aligns reading the words from the FIFO (and thus depth and status throughout) with what would be expected. This also implements additional DV fixes for the error handling checks when simultaneous errors are triggered.