Skip to content

chore: update to OpenSTA 3.0#57

Merged
akashlevy merged 3 commits into
Silimate:mainfrom
donn:update_opensta3
May 26, 2026
Merged

chore: update to OpenSTA 3.0#57
akashlevy merged 3 commits into
Silimate:mainfrom
donn:update_opensta3

Conversation

@donn
Copy link
Copy Markdown
Contributor

@donn donn commented May 25, 2026

  • update Silimate/OpenSTA to version including OpenSTA 3.0's changes
  • update findPathEnds invocation
  • update jsonName to use string_views

Depends on merge of Silimate/OpenSTA#56

@donn donn force-pushed the update_opensta3 branch from 260a2a2 to e5d4252 Compare May 25, 2026 21:27
- update Silimate/OpenSTA to version including OpenSTA 3.0's changes
- update findPathEnds invocation
- update jsonName to use string_views
@donn donn force-pushed the update_opensta3 branch from e5d4252 to c2d828b Compare May 26, 2026 03:09
@donn donn marked this pull request as ready for review May 26, 2026 03:09
@donn donn requested a review from akashlevy May 26, 2026 03:10
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented May 26, 2026

Greptile Summary

This PR updates the OpenSTA submodule to version 3.0 and adapts src/Silisizer.cpp to its revised API.

  • findPathEnds call: The corner parameter (previously nullptr) is replaced with sta_->scenes(), and the groups parameter changes from a StringSeq* nullable pointer to a by-value empty sta::StringSeq, matching the new OpenSTA 3.0 signature.
  • jsonName function: Signature updated from const char* to std::string_view; the loop now uses pointer bounds derived from s.data() / s.data() + s.length() instead of null-termination, and a reserve call is added for performance.
  • Submodule bump: third_party/OpenSTA moves from commit 5c5b9c5 to 2d2cfe6, contingent on upstream PR merge OpenSTA 3.0 upstream/master into silimate/main OpenSTA#56 being merged first.

Confidence Score: 4/5

Safe to merge once the upstream OpenSTA PR #56 is merged; the code changes are minimal and correctly track the new API.

Both API adaptations are mechanically straightforward. The findPathEnds call correctly passes sta_->scenes() in place of the old corner pointer and an empty StringSeq in place of the old nullptr groups pointer. The jsonName change to std::string_view is safe and correct. The only comments are style suggestions; there are no functional regressions in the changed code.

No files require special attention beyond confirming the upstream OpenSTA submodule PR is merged before this one lands.

Important Files Changed

Filename Overview
src/Silisizer.cpp Adapts two OpenSTA 3.0 API changes: replaces corner/nullptr with scenes/StringSeq in findPathEnds, and updates jsonName to accept std::string_view. Logic is sound with minor style verbosity.
third_party/OpenSTA Submodule bump from 5c5b9c5 to 2d2cfe6 to track OpenSTA 3.0. Depends on upstream PR #56 being merged first.

Sequence Diagram

sequenceDiagram
    participant Silisizer
    participant OpenSTA as OpenSTA 3.0 (sta_)
    participant Network

    loop Each optimization iteration
        Silisizer->>OpenSTA: scenes()
        OpenSTA-->>Silisizer: SceneSeq

        Silisizer->>OpenSTA: "findPathEnds(scenes, StringSeq{}, ...)"
        OpenSTA-->>Silisizer: PathEndSeq ends

        alt ends is empty
            Silisizer-->>Silisizer: break (done)
        else violations found
            loop Each PathEnd
                Silisizer->>Network: instance(pin), cell(inst), libertyCell(cell)
                Network-->>Silisizer: "LibertyCell* libcell"
            end
            Silisizer->>OpenSTA: replaceCell(offender, to_cell)
        end
    end

    Silisizer->>Network: "pathName(inst), lc->name()"
    Network-->>Silisizer: string_view
    Silisizer->>Silisizer: jsonName(string_view) → stripped string
Loading

Reviews (1): Last reviewed commit: "chore: update to OpenSTA 3.0" | Re-trigger Greptile

Comment thread src/Silisizer.cpp
Comment thread src/Silisizer.cpp Outdated
akashlevy and others added 2 commits May 25, 2026 20:25
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Refactor jsonName function to use range-based for loop.
@akashlevy akashlevy merged commit 32f6e73 into Silimate:main May 26, 2026
2 checks passed
@greptile-apps greptile-apps Bot mentioned this pull request May 26, 2026
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