-
Notifications
You must be signed in to change notification settings - Fork 551
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
rsz: add detailed_routing as parasitics source #6052
Conversation
Signed-off-by: Eder Monteiro <[email protected]>
Signed-off-by: Eder Monteiro <[email protected]>
Signed-off-by: Eder Monteiro <[email protected]>
case ParasiticsSrc::detailed_routing: | ||
parasitics_src_ = ParasiticsSrc::detailed_routing; | ||
break; |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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?
case ParasiticsSrc::detailed_routing: | ||
break; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
no action?
There was a problem hiding this comment.
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.
Even if you could ask sta if it has parasitics, it wouldn't know the source of them. |
clang-tidy review says "All clean, LGTM! 👍" |
Signed-off-by: Eder Monteiro <[email protected]>
clang-tidy review says "All clean, LGTM! 👍" |
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.