这是indexloc提供的服务,不要输入任何密码
Skip to content

[rv_core_ibex] Re-vendor Ibex and reduce number of PRINCE rounds for ICache scrambling #22948

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

Merged
merged 2 commits into from
May 3, 2024

Conversation

vogelpi
Copy link
Contributor

@vogelpi vogelpi commented May 2, 2024

This PR mainly reduced the number of PRINCE rounds for ICache scrambling to improve the timing. From a security perspective, this is acceptable. The scrambling of the other memory primitives (OTBN IMEM, DMEM, ROM etc.) is not touched.

To enable this change, Ibex needs to be re-vendored.

This is related to #22462.

vogelpi added 2 commits May 2, 2024 23:29
Update code from upstream repository
https://github.com/lowRISC/ibex.git to revision
eea2bf0c1c62bbd676edf69cc60a56041d53b669

* [rtl] Expose ICacheScrNumPrinceRoundsHalf parameter (Pirmin Vogel)
* Add missing copyright headers (James Wainwright)
* [simple_system] Bump C++ version in core files (Rupert Swarbrick)
* [dv] Output VCS simulation log to file (Greg Chadwick)
* [dv] Add flag needed to allow force under VCS (Greg Chadwick)
* [dv] Fix use of plusargs (Greg Chadwick)
* [fcov] Fix illegal bins related to stall types (Greg Chadwick)
* [dv] Handle missing paths when producing regression log (Greg
  Chadwick)
* [dv] Only run SecureIbex relevant tests for SecureIbex configs (Greg
  Chadwick)
* [dv] Fix regression for non PMP configs (Greg Chadwick)
* [dv] Fix path for vcs.tcl for wave dumping (Greg Chadwick)
* [dv, cov] Log coverage merge stdout for VCS (Greg Chadwick)
* [cosim] Fix SIGSEGV in ~SpikeCosim (Greg Chadwick)
* [dv] Skip SVG generation in DV flow if svg module is missing (Greg
  Chadwick)
* [dv] Flow modifications for CentOS 7 for testbench compile (Greg
  Chadwick)

Signed-off-by: Pirmin Vogel <vogelpi@lowrisc.org>
To improve timing, this commit reduces the number of half rounds of the
PRINCE cipher used for ICache scrambling from 3 (7 effective rounds)
back to 2 (5 effective rounds). All other scrambled memory primitives
in the design keep using 3 half rounds (7 effective rounds). For the
ICache, we have less stringent security requirements and a weaker
scrambling is acceptable.

Signed-off-by: Pirmin Vogel <vogelpi@lowrisc.org>
@vogelpi vogelpi requested a review from a team as a code owner May 2, 2024 21:32
@vogelpi vogelpi requested review from eshapira, andreaskurth and meisnere and removed request for a team and eshapira May 2, 2024 21:32
Copy link
Member

@nasahlpa nasahlpa left a comment

Choose a reason for hiding this comment

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

Thanks Pirmin, as discussed offline, reducing the number of PRINCE rounds is fine.

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.

This looks good to me!

Copy link
Contributor

@johannheyszl johannheyszl left a comment

Choose a reason for hiding this comment

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

Thanks @vogelpi, as discussed offline, agree

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants