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

Synthesis and P&R: Move closer to OpenROAD-flow-scripts #243

Closed
wants to merge 2 commits into from

Conversation

mtdudek
Copy link
Collaborator

@mtdudek mtdudek commented Dec 13, 2023

Synthesis:
This commit adds a custom abc.script from OpenROAD-flow-scripts. This commit also modifies the synthesis script. It adds 2 new steps: extract adders - it tries to map addition chains to PDK specific full adder and half adder improving overall performance. Runs only when adder_mapping attr is provided.
tie logic cells - it runs hilomap pass.

P&R:
This commit changes output_db file extention to .odb. OpenROAD file explorer only allows for .odb to be opened from GUI.

Allow user to disable improve_placement pass during resize step. It can cause cell overlapping both by not maintaining sufficient cell to cell spacing as well as true cell overlapping.
Some other minor changes to the P&R scripts.

Edit:
Related to #239

Synthesis:
This commit adds a custom abc.script from OpenROAD-flow-scripts.
This commit also modifies the synthesis script. It adds 2 new steps:
extract adders - it tries to map addition chains to PDK specific
full adder and half adder improving overall performance.
Runs only when `adder_mapping` attr is provided.
tie logic cells - it runs `hilomap` pass.

P&R:
This commit changes output_db file extention to .odb.
OpenROAD file explorer only allows for .odb to be opened from GUI.

Allow user to disable `improve_placement` pass during
resize step. It can cause cell overlapping both by
not maintaining sufficient cell to cell spacing as well as
true cell overlapping.
Some other minor changes to the P&R scripts.

Signed-off-by: Maciej Dudek <[email protected]>
Copy link
Member

@mithro mithro left a comment

Choose a reason for hiding this comment

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

This change is going to be a bit complicated to land as it affects the results on Google internal benchmarks. It would be good if we could land this in multiple parts.

@mithro
Copy link
Member

mithro commented Dec 14, 2023

/gcbrun

Copy link
Member

@mithro mithro left a comment

Choose a reason for hiding this comment

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

Sorry about this, but I think we need this pull request split into the following;

  1. enable_improve_placement functionality (should be quick to merge)
  2. .db into .odb (should be quick to merge)
  3. estimate_parasitics addition (should be quick to merge)
  4. set_propagated_clock & detailed_route addition (may cause issues)
  5. remove_buffers change (may cause issues)
  6. Tie cell & hi/low change (may cause issues)
  7. Adder mapping (may cause issues)
  8. ABC script. (may cause issues)

Would you be able to do that?

@@ -210,9 +210,9 @@ def openroad_command(ctx, commands, input_db = None, step_name = None, inputs =

Copy link
Member

Choose a reason for hiding this comment

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

Can you send this changes in this file as a separate pull request. That can be quickly merged then.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

No problem, I'll split it into smaller changes

@mithro
Copy link
Member

mithro commented Dec 19, 2023

I'm going to close this pull request as we are landing it in parts.

@mithro mithro closed this Dec 19, 2023
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