Skip to content

synth: never map logic onto a hardened block; update OpenROAD - #4801

Merged
maliberty merged 2 commits into
The-OpenROAD-Project:masterfrom
The-OpenROAD-Project-staging:synth-abc-dont-use-blocks
Nov 7, 2026
Merged

maliberty merged 2 commits into
The-OpenROAD-Project:masterfrom
The-OpenROAD-Project-staging:synth-abc-dont-use-blocks

Conversation

@maliberty

Copy link
Copy Markdown
Member

Fixes the ihp-sg13g2/i2c-gpio-expander failure.

synth: A block's timing model can give a constant output a function, and ABC then takes the block for a gate and maps logic onto it. Every BLOCKS entry is now passed to ABC as -dont_use, alongside DONT_USE_CELLS.

OpenROAD update: picks up OpenROAD #12158 (rsz: never swap pins on a cell with an opaque or constant output). With the synthesis change, repair_timing in global route runs SwapPinsMove on the path to io_i2c_interrupt_PAD. The old swap-pins simulation then threw unordered_map::at: key not found.

The submodule moves f131605002..82a809c749, which also brings in the other OpenROAD merges since the last update, so metrics on other designs may shift.

A block's timing model can give a constant output a function, and ABC
then takes the block for a gate. Pass every BLOCKS entry to ABC as
-dont_use.

Update OpenROAD to pick up rsz: never swap pins on a cell with an
opaque or constant output (OpenROAD #12158), which crashed
repair_timing in global route on ihp-sg13g2/i2c-gpio-expander.

Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
@maliberty maliberty self-assigned this Nov 7, 2026
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 7, 2026 •

Copy link
Copy Markdown
Codex Review Summary: ✅ Completed

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-07T18:36:13.324991Z 215f408 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request updates the tools/OpenROAD submodule to a newer commit and modifies flow/scripts/synth_preamble.tcl to ensure logic is not mapped onto hardened blocks by appending any blocks specified in the BLOCKS environment variable to the -dont_use arguments. There are no review comments to address, and I have no additional feedback to provide.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 215f408ee8

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread flow/scripts/synth_preamble.tcl Resolved
synth_preamble.tcl passes BLOCKS to ABC as -dont_use, so its
variables.yaml entry declares that stage.

Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
@openroad-ci

openroad-ci commented Nov 7, 2026 •

Copy link
Copy Markdown
Member

🔍 QoR check

Metrics reflect the PR merge build — i.e. what will land on the target branch.

Commit 7b40a46 · Jenkins build #2 · Baseline: build · View build on dashboard

62 design(s) checked — 12 with regression(s), 0 without a comparable baseline.

❌ asap7/chi_async_bridge base — 3 failing metric(s)
Metric target base delta limit band
cts__timing__setup__tns -5779.930 -1651.130 -250.059% -1981.356 PeriodPadding 20.000%
finish__timing__setup__tns -4571.970 -2117.920 -115.871% -2541.504 PeriodPadding 20.000%
globalroute__timing__setup__tns -4761.620 -1092.250 -335.946% -1310.700 PeriodPadding 20.000%
❌ asap7/cva6 base — 1 failing metric(s)
Metric target base delta limit band
globalroute__timing__setup__tns -734.027 -193.978 -278.407% -375.978 PeriodPadding 20.000%
❌ asap7/ethmac_lvt base — 1 failing metric(s)
Metric target base delta limit band
finish__timing__setup__tns -253.732 -180.811 -40.330% -240.811 PeriodPadding 20.000%
❌ asap7/ibex base — 2 failing metric(s)
Metric target base delta limit band
cts__timing__setup__tns -4794.640 -1194.130 -301.517% -1432.956 PeriodPadding 20.000%
globalroute__timing__setup__tns -7279.810 -5389.390 -35.077% -6467.268 PeriodPadding 20.000%
❌ asap7/mock-alu base — 2 failing metric(s)
Metric target base delta limit band
finish__timing__setup__ws -291.200 -262.554 -10.911% -277.554 PeriodPadding 5.000%
globalroute__timing__setup__ws -290.702 -271.985 -6.882% -286.985 PeriodPadding 5.000%
❌ asap7/swerv_wrapper base — 2 failing metric(s)
Metric target base delta limit band
finish__timing__hold__tns -22021.800 -190.530 -11458.180% -450.530 PeriodPadding 20.000%
finish__timing__hold__ws -156.576 -25.398 -516.480% -90.398 PeriodPadding 5.000%
❌ ihp-sg13g2/gcd base — 1 failing metric(s)
Metric target base delta limit band
globalroute__timing__setup__tns -7.376 -6.081 -21.308% -7.297 PeriodPadding 20.000%
❌ nangate45/ariane136 base — 1 failing metric(s)
Metric target base delta limit band
finish__timing__setup__tns -9.112 -1.887 -382.943% -3.087 PeriodPadding 20.000%
❌ sky130hd/ibex base — 2 failing metric(s)
Metric target base delta limit band
finish__timing__setup__tns -94.071 -68.665 -37.000% -82.398 PeriodPadding 20.000%
globalroute__timing__setup__tns -41.491 -2.483 -1571.086% -4.083 PeriodPadding 20.000%
❌ sky130hd/jpeg base — 1 failing metric(s)
Metric target base delta limit band
finish__timing__setup__tns -50.072 -41.401 -20.943% -49.681 PeriodPadding 20.000%
❌ sky130hd/microwatt base — 1 failing metric(s)
Metric target base delta limit band
globalroute__antenna_diodes_count 2606.000 2104.000 23.859% 2106.104 Metric 0.100%
❌ sky130hs/ibex base — 1 failing metric(s)
Metric target base delta limit band
cts__timing__setup__tns -3.220 -1.052 -206.115% -2.352 PeriodPadding 20.000%

@maliberty
maliberty merged commit 48e2d7a into The-OpenROAD-Project:master Nov 7, 2026
10 of 12 checks passed
@maliberty
maliberty deleted the synth-abc-dont-use-blocks branch November 7, 2026 23:33
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.

2 participants