Skip to content

rcx: add multi-chip extraction pass skeleton - #11034

Merged
maliberty merged 2 commits into
The-OpenROAD-Project:masterfrom
The-OpenROAD-Project-staging:rcx-3d-base
Aug 3, 2026
Merged

rcx: add multi-chip extraction pass skeleton#11034
maliberty merged 2 commits into
The-OpenROAD-Project:masterfrom
The-OpenROAD-Project-staging:rcx-3d-base

Conversation

@AcKoucher

@AcKoucher AcKoucher commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Summary

I'm opening this PR so that we have a place to store the extraction rules file paths. Look at this comment and its PR for more context.

Two new classes:

  • Ext::MultiChipExtractor will create parasitics objects inside ODB for all chips and inter-chip bonds.
  • Ext::MultiChipSpefWriter will write one SPEF for each chip and one SPEF for each bond based on the parasitics objects inside ODB.

Type of Change

  • Skeleton of a future feature.

Impact

None.

Verification

  • I have verified that the local build succeeds (./etc/Build.sh).
  • I have run the relevant tests and they pass.
  • My code follows the repository's formatting guidelines.
  • I have signed my commits (DCO).

Related Issues

#11005

Signed-off-by: Arthur Koucher <arthurkoucher@precisioninno.com>
@AcKoucher AcKoucher self-assigned this Jul 30, 2026

@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 introduces initial infrastructure for multi-chip (3D) extraction and SPEF writing by adding the MultiChipExtractor and MultiChipSpefWriter classes, integrating them into the Ext class, and dispatching to them when a hierarchical chip is detected. The review feedback identifies critical safety issues where a null top_chip could lead to a null pointer dereference and application crash in ext.i. Additionally, it is recommended to pass ExtractOptions by const reference in extractMultiChip to avoid unnecessary copying.

Comment thread src/rcx/src/ext.i
Comment thread src/rcx/src/ext.i
Comment thread src/rcx/include/rcx/ext.h Outdated
Comment thread src/rcx/src/ext.cpp Outdated
Signed-off-by: Arthur Koucher <arthurkoucher@precisioninno.com>
@AcKoucher
AcKoucher marked this pull request as ready for review July 30, 2026 19:47
@AcKoucher
AcKoucher requested a review from a team as a code owner July 30, 2026 19:47
@AcKoucher
AcKoucher requested a review from maliberty July 30, 2026 19:47
@maliberty
maliberty merged commit 4a6f4cc into The-OpenROAD-Project:master Aug 3, 2026
16 checks passed
@maliberty
maliberty deleted the rcx-3d-base branch August 3, 2026 17:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants