Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rsz: add detailed_routing as parasitics source #6052

Merged
merged 4 commits into from
Oct 29, 2024

Conversation

eder-matheus
Copy link
Collaborator

@eder-matheus eder-matheus commented Oct 29, 2024

This first step only adds detailed_routing as a new source of parasitics, and is used mainly to avoid calculating the parasitics from wire load models.

In the first iteration on each net, the droute parasitics are used, but once the net is changed, later iterations will use the global routing parasitics for estimation. At some point we should be able to detail route again specific nets inside the repair_timing flow.

Last, I'm checking if the design is routed to define the parasitics source as detailed_routing. It doesn't seem the ideal way, but I didn't find any functions in STA to detect there are parasitics present in its internal structures. Another option would be have a command that the user explicitly calls to define detailed_routing as the parasitics source.

I'm open to suggestions on how to improve this part of the code.

Signed-off-by: Eder Monteiro <[email protected]>
Comment on lines 297 to 299
case ParasiticsSrc::detailed_routing:
parasitics_src_ = ParasiticsSrc::detailed_routing;
break;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it right that this does no estimation?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The way I'm implementing it on ORFS, we already load the SPEF file after writing it with RCX, so no estimation is needed. Perhaps in the future we want to call rcx and load the spef data only in C++, and here would be a correct place for it.

Maybe I can add a comment about these future plans here?

Comment on lines 400 to 401
case ParasiticsSrc::detailed_routing:
break;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no action?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similar comment here. The idea is that the parasitics are already loaded in sta.

@maliberty
Copy link
Member

Even if you could ask sta if it has parasitics, it wouldn't know the source of them.

Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

Signed-off-by: Eder Monteiro <[email protected]>
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@eder-matheus eder-matheus merged commit 8f54de9 into The-OpenROAD-Project:master Oct 29, 2024
11 checks passed
@eder-matheus eder-matheus deleted the rsz_updates branch October 29, 2024 22:11
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