est: add multi-tech/chip wire RC support#10941
Conversation
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
…er-chip wire RC Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
|
@codex review |
There was a problem hiding this comment.
Code Review
This pull request introduces support for storing and resolving wire resistance and capacitance (RC) values per chip to support 3D designs. It updates the TCL interface for set_wire_rc with new chip selectors (-tech, -chip, and -redistribution_layer), maps wire RC configurations by odb::dbChip* in the C++ backend, and adds corresponding unit tests. The review feedback highlights a redundant and potentially unsafe initialization of db_cbk_ in the constructor, a redundant map lookup and potential out-of-bounds access in layerRC, and a double lookup optimization opportunity in findWireRC when the current chip is null.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 272d6c292b
ℹ️ 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".
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
e891caa to
911afac
Compare
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Summary
Multi-tech / per-chip wire RC support for parasitics estimation, building on #10931.
Re-keys the layer RC table by
dbTechLayer*instead oflayer->getNumber(), moves wire RC values and signal/clock layer lists into a per-chip container (dbChip*-keyed, with a default slot preserving 2D behavior), and adds chip selectors toset_wire_rc:-tech <name>(all chips on that technology)-chip <name>-redistribution_layer(all RDL chips; warns and no-ops when the design has none, so shared scripts work across designs).Layer lookups for
-layer/-layersresolve in the targeted chip's technology.The multi-chip consumer of these values, the per-chip estimation loop, follows in a separate PR
Type of Change
Impact
2D flows are unchanged (values land in the default slot; est regression results are identical). In 3D databases, wire RC can now be set per chip/technology, which the upcoming per-chip estimation flow consumes.
Selector errors: unknown
-chipname and mutually exclusive selectors are hard errors;-tech/-redistribution_layermatching no chips warn and are ignored.Verification
./etc/Build.sh).Related Issues
Follow-up to #10931.