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

Questions about evaluator.cpp #12

Open
dearmrlv opened this issue Jan 3, 2024 · 4 comments
Open

Questions about evaluator.cpp #12

dearmrlv opened this issue Jan 3, 2024 · 4 comments

Comments

@dearmrlv
Copy link

dearmrlv commented Jan 3, 2024

In evaluator.cpp, the function NVR_DB::read_gr_solution maintains a vector flag to record the routing guides of a net. The valid guides are categorized to wire and via types. And during reading guides, flag can only be updated by wire type guides and function NVR_DB::update_nonstack_via_counter.

Here is my case:
Access Points of a pin: [(3, 0, 396), (3, 1, 396)]
I try to meet the pin by point (3, 0, 396) by a via from layer2 (metal3) to layer3 (metal4), and my guide is 0 396 2 0 396 3.
The only entrance to set flag is in function NVR_DB::update_nonstack_via_counter, where flag[2][0][396] is set. Since no wire type guide is passing through the point (3, 0, 396) and no via starts from point (3, 0, 396), the variable flag[3][0][396] is not set and my guide for this net is judged to be open by evaluator.cpp.

My question is:
Is it admissable to link the pin access point by a via like this? Or does the evaluator.cpp miss such case?

Looking forward to your help!

@dearmrlv dearmrlv closed this as not planned Won't fix, can't repro, duplicate, stale Jan 3, 2024
@dearmrlv dearmrlv reopened this Jan 3, 2024
@dearmrlv
Copy link
Author

dearmrlv commented Jan 4, 2024

@liangrj2014 Looking forward to your help

@liangrj2014
Copy link
Owner

Thanks for pointing out the issue! We will address it soon

@liangrj2014
Copy link
Owner

Could you please check whether adding "flag[zh][xl][yl] = net->idx()" below line 524 in the evaluator.cpp resolve this issue? Thanks in advance!

@dearmrlv
Copy link
Author

dearmrlv commented Jan 4, 2024

Thanks! The added line works.

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

No branches or pull requests

2 participants