-
Notifications
You must be signed in to change notification settings - Fork 420
synth: Save checkpoint without stdcells #3817
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
base: master
Are you sure you want to change the base?
synth: Save checkpoint without stdcells #3817
Conversation
Between the canonicalization step and the rest of synthesis we store a .rtlil checkpoint. Make it smaller by stripping standard cell definitions from it. Signed-off-by: Martin Povišer <povik@cutebit.org>
|
@oharboe take two, we'll see if any errors appear |
|
@povik I suppose the difference in WNS is just the garden variety Yosys churn? |
|
@oharboe I think so, yeah |
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
🤞 |
|
@maliberty Thoughts? |
| # Strip away standard cell definitions to make the checkpoint smaller. | ||
| delete =A:\liberty_cell=1 |
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.
@povik you'll have a better idea than I do if this is a good change.
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.
I think it's fine even though it relies on undocumented yosys behavior. We can always go back
|
Why does this change QOR? |
|
I think the ball is in my court to resolve the conflict and add update of private metrics. I had a secure CI running but before I reacted to its results the public metrics went stale
The theory is internal yosys counters used for naming objects are influenced by the extra read_liberty command. This propagates to different iteration order and optimization results |
|
merge? |
|
It has conflicts so no |
Between the canonicalization step and the rest of synthesis we store a .rtlil checkpoint. Make it smaller by stripping standard cell definitions from it.
Resolves #3815
Updated Rules
[WARNING] Multiple clocks not supported. Will use first clock: mrx_clk_pad_i: 300.0000.
[WARNING] Multiple clocks not supported. Will use first clock: mrx_clk_pad_i: 300.0000.
designs/asap7/jpeg_lvt/rules-base.json updates:
designs/asap7/mock-alu/rules-base.json updates:
[WARNING] Multiple clocks not supported. Will use first clock: clk: 333.0000.
designs/asap7/uart/rules-base.json updates:
designs/nangate45/bp_be_top/rules-base.json updates:
designs/nangate45/ibex/rules-base.json updates:
designs/nangate45/jpeg/rules-base.json updates:
[WARNING] Multiple clocks not supported. Will use first clock: clk_i: 3.0000.
designs/sky130hd/jpeg/rules-base.json updates:
[WARNING] Multiple clocks not supported. Will use first clock: ext_clk: 15.0000.
designs/sky130hd/microwatt/rules-base.json updates:
designs/sky130hs/ibex/rules-base.json updates:
designs/sky130hs/riscv32i/rules-base.json updates:
Messages from CI
[INFO] asap7/minimal not included in CI.
[INFO] gf12 not included in the update.
[INFO] gf55 not included in the update.
[INFO] nangate45/bp_quad not included in CI.
[INFO] rapidus2hp not included in the update.