-
Notifications
You must be signed in to change notification settings - Fork 807
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
[top_earlgrey] Reduce number of PRINCE half rounds for main SRAM scrambling #24447
Conversation
Previously, all scrambled memory primitives had to use the same number of PRINCE half rounds which was set to 3. This commit adds a new and optional argument to the mem_bkdr_util constructor, to allow configuring different values. If the argument is not provided, the default of 3 PRINCE half rounds is used. Signed-off-by: Pirmin Vogel <[email protected]>
Signed-off-by: Pirmin Vogel <[email protected]>
This commit reduces the number of PRINCE half rounds for the scrambling of the main SRAM to 2 half rounds as used in the past. This is done to reduce timing pressure. Signed-off-by: Pirmin Vogel <[email protected]>
CHANGE AUTHORIZED: hw/ip/sram_ctrl/data/sram_ctrl.hjson This is an ECO PR confirmed by the PD team. |
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.
Many thanks for this well-designed and -structured PR, @vogelpi! The changes LGTM and are aligned with discussions/decisions.
Just one question: What evidence on the DV side (top- and block-level tests) do we have that this works as intended?
To ensure there are no inadvertent changes compared to what the PD team is working with, I |
CHANGE AUTHORIZED: hw/ip/sram_ctrl/data/sram_ctrl.hjson This is an ECO PR confirmed by the PD team. |
Thanks for your review @andreaskurth . We have the following tests running in CI:
There is also a C++ model of the scrambler |
From a security side, this has been approved already by @johannheyszl . |
This PR contains multiple commits to reduce the number of PRINCE half rounds for the main SRAM scrambling from 3 back to 2 as used for Earlgrey ES. This is done to reduce timing pressure.
The scrambling parameters of the other scrambled memory primitives (retention SRAM, ROM, OTBN IMEM & DMEM) are not touched by this PR.
This PR supersedes #24376 as it also includes the required tooling changes. #24376 is intentionally left untouched to allow comparing the RTL changes as #24376 has already been absorbed by the PD team last week, i.e., we must not change the RTL beyond #24376.
For reference, the PRs where we increased the number of scrambling rounds in the past are: