-
Notifications
You must be signed in to change notification settings - Fork 792
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
[prim, rom_ctrl] Remove S&P layer from data scrambling #20855
[prim, rom_ctrl] Remove S&P layer from data scrambling #20855
Conversation
024a840
to
24da245
Compare
a491564
to
fd24cda
Compare
For Ibex, this has to be disabled separately in a second PR, since we'll have to vendor the updated memory backdoor utils and the scrambling primitive into the ibex repository first. |
fd24cda
to
24d408d
Compare
5c36f87
to
db8b466
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.
Some nitty comments, but this looks sensible to me.
db8b466
to
8e4bd19
Compare
As elaborated on lowRISC#20788, the S&P layer is disabled in the SRAM scrambling devices in order to improve error detection guarantees, interactions with ECC and timing. In order to minimize changes and keep the implementation around in case it is needed for byte parity at some point, we just set the NumDiffRounds parameter to zero for the modules that leverage prim_ram_1p_scr. In case of rom_ctrl, the functionality is removed entirely. Signed-off-by: Michael Schaffner <[email protected]>
1f81bf2
to
3462e65
Compare
I am going ahead with this and merge it so that I can do the Ibex re-vendoring. |
The S&P network on the data got removed in lowRISC#20855 as it negatively impacts the end-to-end integrity scheme but the PR forgot to update the documentation of the scrambling primitive (The SRAM_CTRL documentation got updated though). Since the additional diffusion might still be relevant for other implementations, it's worth to keep the documentation but explain that it is not enabled by default. Signed-off-by: Pirmin Vogel <[email protected]>
The S&P network on the data got removed in #20855 as it negatively impacts the end-to-end integrity scheme but the PR forgot to update the documentation of the scrambling primitive (The SRAM_CTRL documentation got updated though). Since the additional diffusion might still be relevant for other implementations, it's worth to keep the documentation but explain that it is not enabled by default. Signed-off-by: Pirmin Vogel <[email protected]>
As elaborated on #20788, the S&P layer is removed from data scrambling in order to improve error detection guarantees, interactions with ECC and timing.