Skip to content

Adjust interpretation of SYNTH_KEEP_MODULES#3384

Closed
openroad-ci wants to merge 2 commits into
The-OpenROAD-Project:masterfrom
The-OpenROAD-Project-staging:synth-keep-modules-interp
Closed

Adjust interpretation of SYNTH_KEEP_MODULES#3384
openroad-ci wants to merge 2 commits into
The-OpenROAD-Project:masterfrom
The-OpenROAD-Project-staging:synth-keep-modules-interp

Conversation

@openroad-ci

Copy link
Copy Markdown
Member

Only apply SYNTH_KEEP_MODULES when SYNTH_HIERARCHICAL=1. Also make this variable override the list of kept modules selected by the SYNTH_MINIMUM_KEEP_SIZE threshold. This is done to reduce user confusion.

Only apply `SYNTH_KEEP_MODULES` when `SYNTH_HIERARCHICAL=1`. Also make
this variable override the list of kept modules selected by the `SYNTH_MINIMUM_KEEP_SIZE` threshold. This is done to reduce user
confusion.

Signed-off-by: Martin Povišer <povik@cutebit.org>
Signed-off-by: Martin Povišer <povik@cutebit.org>
@povik

povik commented Aug 6, 2025

Copy link
Copy Markdown
Contributor

FYI @oharboe @jeffng-or

@povik

povik commented Aug 6, 2025

Copy link
Copy Markdown
Contributor

We could go further and make setting SYNTH_KEEP_MODULES without enabling SYNTH_HIEARCHICAL an error as the user probably intended hierarchical synthesis.

@povik povik requested a review from maliberty August 6, 2025 19:13
@oharboe

oharboe commented Aug 6, 2025

Copy link
Copy Markdown
Collaborator

We could go further and make setting SYNTH_KEEP_MODULES without enabling SYNTH_HIEARCHICAL an error as the user probably intended hierarchical synthesis.

I use SYNTH_KEEP_MODULES to ensure they are not flattened together or without SYNTH_HIERACHICAL to automatically flatten small modules

Also, I do parallel abc builds in bazel where I use SYNTH_KEEP_MODULES as part of the mechanics. Parallel abc is MUCH faster on my design.

@oharboe oharboe left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

So I may need infinite minimum keep size if I want to manually list keep modules?

Confusing.

Maybe SYNTH_HIERARCHICAL should be removed?

We either keep modules or not based on automatic and/or manual criteria?

@povik

povik commented Aug 6, 2025

Copy link
Copy Markdown
Contributor

So I may need infinite minimum keep size if I want to manually list keep modules?

We either keep modules or not based on automatic and/or manual criteria?

The state after this change would be: SYNTH_HIEARCHICAL=1 implies we keep some modules. If SYNTH_KEEP_MODULES is defined, the selection is manual, otherwise we go by minimum keep size.

Let me know if this sounds good. This is in response to a seasoned user of ORFS being confused by how the options currently work (if you want manual selection, you need to define KEEP_MODULES and disable SYNTH_HIERARCHICAL)

@povik

povik commented Aug 6, 2025

Copy link
Copy Markdown
Contributor

I use SYNTH_KEEP_MODULES to ensure they are not flattened together or without SYNTH_HIERACHICAL to automatically flatten small modules

@oharboe I see so with this change we won't be able to support your "together" use case.

@oharboe

oharboe commented Aug 6, 2025

Copy link
Copy Markdown
Collaborator

I use SYNTH_KEEP_MODULES to ensure they are not flattened together or without SYNTH_HIERACHICAL to automatically flatten small modules

@oharboe I see so with this change we won't be able to support your "together" use case.

Yes. We either keep modules or not and we have manual and/or automatic criteria.

The default minimum automatic keep size is a PDK specific default.

@povik

povik commented Aug 6, 2025

Copy link
Copy Markdown
Contributor

We need a different change then.

@povik povik closed this Aug 6, 2025
@openroad-ci openroad-ci deleted the synth-keep-modules-interp branch August 6, 2025 19:53
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