Where is PA pattern generation in FlexPA::main in TritonRoute? How to dump out AP info for TA? #625
-
Hi, I want to find the step of "pin access pattern generation" in the TritonRoute/src/pa code and dump out the pattern information after pin access analysis. I don't see pin access pattern generation function in FlexPA::main(). Could anyone tell me where is this step? |
Beta Was this translation helpful? Give feedback.
Replies: 10 comments 110 replies
-
The calls to init() and prep() do the work of computing the access points. If you just want to dump the result you would do so after those steps finish. You can just look at frInstTerm::getAccessPoints() for the result. |
Beta Was this translation helpful? Give feedback.
-
Btw, what is your high level goal? |
Beta Was this translation helpful? Give feedback.
-
Anything on stdout will be copied to the log file in 5_2_TritonRoute.log.
Matt
…On Tue, May 18, 2021 at 2:02 PM Raynchowkw ***@***.***> wrote:
Hi, I have built the flow locally and made modification to the
FlexPA_prep.cpp to add the "cout" code provided by @Stephanommg
<https://github.com/Stephanommg> in previous reply
<#625 (reply in thread)>
and rebuilt only the openroad tool.
I run 'make' for a sample design, and from the output scripts in terminal,
I cannot find any information which is assumed to be produced by 'cout'. I
look through the part from '[INFO DRT-0194] start detail routing ...' to
'[INFO DRT-0198] complete detail routing', also use "Ctrl+Shift+F" to find
"layerNum ", but fail to find any aps information.
Am I supposed to run TritonRoute individually to output the message?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#625 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAFZ5KTE4I5VLZTMWONFAT3TOLIYFANCNFSM43GD6SBA>
.
|
Beta Was this translation helpful? Give feedback.
-
How to interpret the aps info printed by 'cout << bp << "layerNum " << ap->getLayerNum() << "\n";'?
It's not something like (X,Y,Z). |
Beta Was this translation helpful? Give feedback.
-
Thanks.
…On Fri, May 28, 2021 at 5:36 PM Stephanommg ***@***.***> wrote:
By container I meant something that contains things. For instance: a
vector.
Yes this operator.
Learning C++ will surely help you. After that you will be better able to
understand the code.
I really cant code for you right now, and I think my previous comment
already answered you last question (at least in part). You will have to use
the first code to iterate the access points in combination with the last
code to iterate over the nets.
for each net
for each instTerm
get access points like the 1st code
for each term
get access points like the 1st code (with differences that it is up to up
to check)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#625 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ANTC4GJTDN2RNSJW4YS7Z43TQALHXANCNFSM43GD6SBA>
.
--
Best,
Raynchow
|
Beta Was this translation helpful? Give feedback.
-
@Raynchowkw the project has limited resources and I think you need to put in more effort to solve your issues before requesting help. Many of the requests don't require in depth knowledge of OpenRoad and are basic software development skills you need to develop. |
Beta Was this translation helpful? Give feedback.
-
You can think of a term as a port of a verilog module; an instance as an instance of a verilog module; and an instTerm as the connection point on the instance reflecting the port of the module instantiated. |
Beta Was this translation helpful? Give feedback.
-
Hi, After working hard on learning C++, I still have some questions. |
Beta Was this translation helpful? Give feedback.
-
No problem
…On Thu, Jun 10, 2021 at 11:48 AM Raynchowkw ***@***.***> wrote:
You need to iterate over the frNets and then iterate over their
frInstTerms and frTerms (similar to the for I placed here before). Do this
after pin access and before DR. You can do this inf FlexDR::main() before
the searchRepair functions. To get all nets, use
design_->getTopBlock()->getNets().
Hi, I want to dump out aps before TA. I check TritonRoute::main. dr is
later than ta. So I want to dump out at the end of FlexPA::main. Would that
incur unexpected problems?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#625 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAFZ5KQZ53CPKQFIDDJZWCLTSECHPANCNFSM43GD6SBA>
.
|
Beta Was this translation helpful? Give feedback.
-
After one week of understanding code, I find the logic of assigning one ap to one pin by this line in genInstPattern_commit. |
Beta Was this translation helpful? Give feedback.
The calls to init() and prep() do the work of computing the access points. If you just want to dump the result you would do so after those steps finish. You can just look at frInstTerm::getAccessPoints() for the result.