You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
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:
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.
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.
The text was updated successfully, but these errors were encountered: