-
Notifications
You must be signed in to change notification settings - Fork 415
RRNode side method no longer correct #1577
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
Comments
@litghost I noticed this issue when fixing the bug in routing resource graph. I have the same idea on changing the |
The signature of |
@litghost Got it. Do you expect me to fix this on another pull request? Or you have a solution in the Symbiflow version? |
We are have a workaround, but the current VPR data model in the upstream VPR code base is broken until this is fixed. I'm surprised |
Yup, we should fix. Depending on what the callers want, I am fine with coding only sides / node_sides, or also coding is_on_side if callers would also benefit from that. |
Uh oh!
There was an error while loading. Please reload this page.
Context
#1448 changed the rr graph build to only generate one IPIN/OPIN RR node even if the relevant cluster had pins on multiple sides of the tile. However when this change was made, the underlying RRNode method for getting the sides of a node was not changed, see:
vtr-verilog-to-routing/vpr/src/route/rr_graph_storage.h
Lines 189 to 195 in 37095c7
node_side
still returns just one value, even if the underlying RR node is actually representing multiple sides.Code like:
vtr-verilog-to-routing/vpr/src/route/check_rr_graph.cpp
Lines 565 to 576 in 37095c7
FYI @tangxifan / @vaughnbetz
Possible Solution
Now that IPIN/OPIN nodes can represent pins on multiple sides of the tile, the relevant node methods need to be updated to account for this. Possible solutions:
side()
andnode_side()
tosides()
andnode_sides()
side()
andnode_side()
and addis_on_side()
Etc
The text was updated successfully, but these errors were encountered: