Repository navigation
Conversation
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>
Codex Review Summary: ✅ CompletedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
💡 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".
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>
🔍 QoR checkMetrics reflect the PR merge build — i.e. what will land on the target branch. Commit 62 design(s) checked — 12 with regression(s), 0 without a comparable baseline. ❌ asap7/chi_async_bridge base — 3 failing metric(s)
❌ asap7/cva6 base — 1 failing metric(s)
❌ asap7/ethmac_lvt base — 1 failing metric(s)
❌ asap7/ibex base — 2 failing metric(s)
❌ asap7/mock-alu base — 2 failing metric(s)
❌ asap7/swerv_wrapper base — 2 failing metric(s)
❌ ihp-sg13g2/gcd base — 1 failing metric(s)
❌ nangate45/ariane136 base — 1 failing metric(s)
❌ sky130hd/ibex base — 2 failing metric(s)
❌ sky130hd/jpeg base — 1 failing metric(s)
❌ sky130hd/microwatt base — 1 failing metric(s)
❌ sky130hs/ibex base — 1 failing metric(s)
|
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
BLOCKSentry is now passed to ABC as-dont_use, alongsideDONT_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_timingin global route runsSwapPinsMoveon the path toio_i2c_interrupt_PAD. The old swap-pins simulation then threwunordered_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.