Skip to content

[RTL] Synthesis optimization barriers for DCLS#472

Open
nasahlpa wants to merge 2 commits into
mainfrom
dev/nasahlpa/synthesis_optimization
Open

[RTL] Synthesis optimization barriers for DCLS#472
nasahlpa wants to merge 2 commits into
mainfrom
dev/nasahlpa/synthesis_optimization

Conversation

@nasahlpa

Copy link
Copy Markdown
Collaborator

This PR:

  • Adds el2_prim_buf, which can act as synthesis optimization barriers when constraint correctly
  • Use those el2_prim_bufs to prevent that aggressive synthesis optimization passes could reduce the security of the DCLS

@nasahlpa nasahlpa force-pushed the dev/nasahlpa/synthesis_optimization branch from 06dccfd to d929187 Compare June 30, 2026 06:11
@nasahlpa nasahlpa marked this pull request as ready for review June 30, 2026 06:11
In OpenTitan as well as in Caliptra, prim_buf is used as a synthesis
optimization barrier. It can be used to avoid that synthesis tools
remove some FI hardening that is based on redundancy, e.g., DCLS.

Signed-off-by: Pascal Nasahl <nasahlpa@lowrisc.org>
@nasahlpa nasahlpa force-pushed the dev/nasahlpa/synthesis_optimization branch from d929187 to 52ca0dd Compare June 30, 2026 11:24
moidx
moidx previously approved these changes Jun 30, 2026
kgugala
kgugala previously approved these changes Jun 30, 2026

@kgugala kgugala left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The changes look good. Please rebase the branch on top of current main.

It'd be good to run the whole testsuite on this (including private jobs). To do it we need to push this code to a branch in this repo and trigger the CI. I can do that for you

@nasahlpa

nasahlpa commented Jun 30, 2026

Copy link
Copy Markdown
Collaborator Author

The changes look good. Please rebase the branch on top of current main.

It'd be good to run the whole testsuite on this (including private jobs). To do it we need to push this code to a branch in this repo and trigger the CI. I can do that for you

Thanks for the review @kgugala!

I've checked, the PR is already rebased on top of the most recent main commit (4d9fdbf). The code in this PR is already pushed to a branch in this repo (https://github.com/chipsalliance/Cores-VeeR-EL2/tree/dev/nasahlpa/synthesis_optimization). Should this be sufficient to run the private jobs?

@kgugala

kgugala commented Jul 1, 2026

Copy link
Copy Markdown
Member

looks like DCLS block test is failing, can you look into that?

@nasahlpa nasahlpa dismissed stale reviews from kgugala and moidx via 5f714ab July 1, 2026 09:22
@nasahlpa nasahlpa force-pushed the dev/nasahlpa/synthesis_optimization branch from 52ca0dd to 5f714ab Compare July 1, 2026 09:22
Depending on synthesis constraints and synthesis tools, some
synthesis tools could potentially remove the shadow core of the DCLS
feature as it always should be an identical copy of the main core.
To prevent this optimiziation, use the prim_buf module on the core
IOs.

Signed-off-by: Pascal Nasahl <nasahlpa@lowrisc.org>
@nasahlpa nasahlpa force-pushed the dev/nasahlpa/synthesis_optimization branch from 5f714ab to 9816a14 Compare July 1, 2026 09:36
@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown

@nasahlpa

nasahlpa commented Jul 1, 2026

Copy link
Copy Markdown
Collaborator Author

looks like DCLS block test is failing, can you look into that?

This is now fixed and CI is all green.

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.

3 participants