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

VTR throws warning for shorted SB connections #2712

Open
WhiteNinjaZ opened this issue Sep 4, 2024 · 0 comments
Open

VTR throws warning for shorted SB connections #2712

WhiteNinjaZ opened this issue Sep 4, 2024 · 0 comments
Assignees

Comments

@WhiteNinjaZ
Copy link
Contributor

When using switch override to create a short between two wires in a switch block and if the short is the only connection between those two wires (as in the creation of an L shaped wire) VTR places a connection between the wires, but throws a warning that the connection does not exist since the current code only checks for the existence of a switch between two wire types--not a short. An example of the warning thrown can be found bellow:

Warning 61: Node: 627691 with RR_type: CHANX  at Location:CHANX:627691 1len2D_x length:2 (2,1,0-> (1,1,0), had no out-going switches

Expected Behaviour

VTR should recognize when a short is being used between two wires in a switch block and should not throw a warning that a connection does not exist.

Possible Solution

A quick look at line 552 of alloc_and_load_rr_indexed_data.cpp, where this warning comes from, shows that this warning is thrown when no switches exist between two wire types. This should be changed to only throw an error when the number of switches and number of shorts between two wires in a SB are 0.

if (num_switches == 0) {
            VTR_LOG_WARN("Node: %d with RR_type: %s  at Location:%s, had no out-going switches\n", rr_id,
                         rr_graph.node_type_string(rr_id), node_cords.c_str());
            continue;
}

Steps to Reproduce/Context

The 7-series architecture capture creates L shaped wires by shorting two different wire types together. In keeping with the true character of an L shaped wires the junction between these two wire types has only 1 shorted connection. The architecture is built around a channel width of 190 and when that width is maintained there should be no dangling connections in the architecture. When the 7-series arch is run with a channel width of 190 (on the stereovision3 benchmark for instance) many warnings occur for shorted connections between diagonal wires (see vpr.out). The RR graph has been checked and connections between the wires that VTR is complaining about do exist, so it is not a problem with the architecture but rather a problem with the current error checking in VTR.

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

1 participant