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

[top_earlgrey] Reduce number of PRINCE half rounds for main SRAM scrambling #24378

Merged
merged 3 commits into from
Aug 30, 2024

Conversation

vogelpi
Copy link
Contributor

@vogelpi vogelpi commented Aug 22, 2024

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.

Note that this PR is currently WIP. It will most likely not pass CI yet as I need to also update the tooling to support backdoor loading of memories using different numbers of scrambling rounds. But this PR is sufficient to allow the PD team kicking off another synthesis run. The RTL changes are okay and I pushed this through lint which hasn't flagged any warnings / errors.

For reference, the PRs where we increased the number of scrambling rounds in the past are:

The counterpart on master is #24376. #24447 and has now been merged. I've updated this PR to correctly cherry-pick things over.

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.

This is a cherry pick of commit 72ea1a1
to branch earlgrey_1.0.0.

Signed-off-by: Pirmin Vogel <vogelpi@lowrisc.org>
This is a cherry pick of commit c3732b3
to branch earlgrey_1.0.0.

Signed-off-by: Pirmin Vogel <vogelpi@lowrisc.org>
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.

This is a cherry pick of commit 0ff694a
to branch earlgrey_1.0.0.

Signed-off-by: Pirmin Vogel <vogelpi@lowrisc.org>
@vogelpi vogelpi force-pushed the sram-scrambling-to branch from bc7bfd5 to ee1d334 Compare August 30, 2024 12:47
@vogelpi vogelpi requested a review from johannheyszl August 30, 2024 12:48
@vogelpi vogelpi marked this pull request as ready for review August 30, 2024 12:48
@vogelpi vogelpi requested a review from a team as a code owner August 30, 2024 12:48
@vogelpi vogelpi requested review from hcallahan-lowrisc and removed request for a team August 30, 2024 12:48
@vogelpi
Copy link
Contributor Author

vogelpi commented Aug 30, 2024

CHANGE AUTHORIZED: hw/ip/sram_ctrl/data/sram_ctrl.hjson
CHANGE AUTHORIZED: hw/ip/sram_ctrl/rtl/sram_ctrl.sv
CHANGE AUTHORIZED: hw/top_earlgrey/data/top_earlgrey.hjson
CHANGE AUTHORIZED: hw/top_earlgrey/rtl/autogen/top_earlgrey.sv

This is an ECO confirmed by the PD team.

@vogelpi vogelpi removed the request for review from hcallahan-lowrisc August 30, 2024 12:54
@andreaskurth
Copy link
Contributor

CHANGE AUTHORIZED: hw/ip/sram_ctrl/data/sram_ctrl.hjson
CHANGE AUTHORIZED: hw/ip/sram_ctrl/rtl/sram_ctrl.sv
CHANGE AUTHORIZED: hw/top_earlgrey/data/top_earlgrey.hjson
CHANGE AUTHORIZED: hw/top_earlgrey/rtl/autogen/top_earlgrey.sv

This is an ECO confirmed by the PD team.

Copy link
Contributor

@andreaskurth andreaskurth left a comment

Choose a reason for hiding this comment

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

Cherry picks LGTM. This is aligned with TO partners, thus allowed to go on the release branch.

Thanks @vogelpi!

@vogelpi vogelpi added the ECO Accepted as an ECO label Aug 30, 2024
@vogelpi vogelpi merged commit 2f7d946 into lowRISC:earlgrey_1.0.0 Aug 30, 2024
29 checks passed
@vogelpi vogelpi deleted the sram-scrambling-to branch September 17, 2024 10:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ECO Accepted as an ECO
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants