Skip to content

Or sta update 1012 - #11726

Merged
maliberty merged 6 commits into
The-OpenROAD-Project:masterfrom
The-OpenROAD-Project-staging:or_sta_update_1012
Oct 13, 2026
Merged

maliberty merged 6 commits into
The-OpenROAD-Project:masterfrom
The-OpenROAD-Project-staging:or_sta_update_1012

Conversation

@dsengupta0628

@dsengupta0628 dsengupta0628 commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Update OpenSTA to latest upstream 10/13 plus a number of fixes
The-OpenROAD-Project/OpenSTA#422 to be merged before merging this

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Refactoring

Impact

Should resolve lock contention in findParasitics

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 included tests to prevent regressions.
  • I have signed my commits (DCO).

Bump src/sta to the 10/12 upstream OpenSTA update.

Upstream OpenSTA changed Network::highestNetAbove and
Network::highestConnectedNet to take (and return) const Net*. Update the
dbNetwork overrides to match so they still override the base virtuals.

Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
Upstream OpenSTA changed Network::highestNetAbove to return const Net*.

Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
@dsengupta0628 dsengupta0628 self-assigned this Oct 13, 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 improves const-correctness in the dbNetwork class by updating the signatures of highestConnectedNet and highestNetAbove to accept and return const Net* pointers. These signature changes are propagated to their implementations, the associated unit tests, and the src/sta submodule reference. There are no review comments, so I have no feedback to provide.

@dsengupta0628
dsengupta0628 marked this pull request as ready for review October 13, 2026 16:39
@dsengupta0628
dsengupta0628 requested review from a team as code owners October 13, 2026 16:39
@dsengupta0628

Copy link
Copy Markdown
Contributor Author

@dsengupta0628

Copy link
Copy Markdown
Contributor Author

secure CI Secure CI http://secure-ci:8080/job/SB/job/secure-update_or_sta_1013/

Ouch multiple crashes in TD GPL and repair timing in GRT !

Upstream OpenSTA removed the ConcreteParasitics lock; parasitic map
entries must now exist before threads build parasitics. The OpenMP
loops in estimateWireParasitics and estimateRoutesInParallel start from
new, empty parasitics, so concurrent makeParasiticNetwork calls inserted
into the shared maps and crashed (e.g. sky130hd/aes in GPL, jpeg in
GRT). Call Parasitics::ensureParasitics() before both loops.

Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
@dsengupta0628

Copy link
Copy Markdown
Contributor Author

Cause of crash

  • est builds parasitics in two parallel OpenMP loops: estimateWireParasitics(), used by placement estimates including GPL timing-driven mode, and estimateRoutesInParallel(), used for global-routing estimates.
  • Both start from new, empty parasitics objects, so each thread's makeParasiticNetwork() inserted into the shared maps.
  • Upstream removed the lock in ConcreteParasitics, so those concurrent inserts corrupt the maps. gdb showed the aes crash in deleteParasiticNetwork, called from estimateWireParasiticSteiner inside the OpenMP loop.

Fix:

  • A new helper, ensureParasiticsForThreads(), calls Parasitics::ensureParasitics() once for each distinct parasitics object before both loops. Every entry exists before the threads start, so they only look entries up.
  • No other OpenROAD code builds parasitics from multiple threads.

@dsengupta0628

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

Codex Review Summary

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

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-13T18:35:54.774604Z a34949f Manual request
ℹ️ 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.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Breezy!

Reviewed commit: a34949f6e1

ℹ️ 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".

OpenSTA f861c627 ("required init resolves The-OpenROAD-Project#523") reports INF slack for
an input port with no fanout instead of -input_delay, since it is on no
timing path.

Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
@openroad-ci
openroad-ci requested a review from a team as a code owner October 13, 2026 18:52
@dsengupta0628

Copy link
Copy Markdown
Contributor Author

I reran the secure-ci and the only design that fails- I reran it starting with same synthesized DB from the ORFS artifacts- the QoR ended to be the same as this code does. So likely the synthesis was different in the 2 runs and unrelated to the OpenSTA change

@maliberty
maliberty merged commit fbec9a3 into The-OpenROAD-Project:master Oct 13, 2026
20 checks passed
@maliberty
maliberty deleted the or_sta_update_1012 branch October 13, 2026 20:08
@oharboe

oharboe commented Oct 14, 2026

Copy link
Copy Markdown
Collaborator

😌 Much more succinct than what I had in my PR.

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.

3 participants