Skip to content

Commit 1d90309

Browse files
committed
[vpr][route][switch] remove rr_ipin switch from alloc_and_load_rr_switch_inf
1 parent bbdd2cc commit 1d90309

File tree

2 files changed

+2
-26
lines changed

2 files changed

+2
-26
lines changed

vpr/src/route/rr_graph_generation/rr_graph_switch_utils.cpp

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -172,9 +172,7 @@ void alloc_and_load_rr_switch_inf(RRGraphBuilder& rr_graph_builder,
172172
t_arch_switch_fanin& switch_fanin_remap,
173173
const std::map<int, t_arch_switch_inf>& arch_sw_inf,
174174
const float R_minW_nmos,
175-
const float R_minW_pmos,
176-
const int wire_to_arch_ipin_switch,
177-
RRSwitchId& wire_to_rr_ipin_switch) {
175+
const float R_minW_pmos) {
178176
// we will potentially be creating a couple of versions of each arch switch where
179177
// each version corresponds to a different fan-in. We will need to fill device_ctx.rr_switch_inf
180178
// with this expanded list of switches.
@@ -200,23 +198,4 @@ void alloc_and_load_rr_switch_inf(RRGraphBuilder& rr_graph_builder,
200198

201199
// next, walk through rr nodes again and remap their switch indices to rr_switch_inf
202200
rr_graph_builder.remap_rr_node_switch_indices(arch_switch_fanins);
203-
204-
// now we need to set the wire_to_rr_ipin_switch variable which points the detailed routing architecture
205-
// to the representative ipin cblock switch. currently we're not allowing the specification of an ipin cblock switch
206-
// with multiple fan-ins, so right now there's just one. May change in the future, in which case we'd need to
207-
// return a representative switch
208-
if (arch_switch_fanins[wire_to_arch_ipin_switch].count(UNDEFINED)) {
209-
// only have one ipin cblock switch. OK.
210-
wire_to_rr_ipin_switch = arch_switch_fanins[wire_to_arch_ipin_switch][UNDEFINED];
211-
} else if (arch_switch_fanins[wire_to_arch_ipin_switch].size() != 0) {
212-
VPR_FATAL_ERROR(VPR_ERROR_ARCH,
213-
"Not currently allowing an ipin cblock switch to have multiple fan-ins");
214-
} else {
215-
// This likely indicates that no connection block has been constructed, indicating significant issues with
216-
// the generated RR graph.
217-
// Instead of throwing an error we issue a warning. This means that check_rr_graph() etc. will run to give more information
218-
// and allow graphics to be brought up for users to debug their architectures.
219-
wire_to_rr_ipin_switch = RRSwitchId::INVALID();
220-
VTR_LOG_WARN("No switch found for the ipin cblock in RR graph. Check if there is an error in arch file, or if no connection blocks are being built in RR graph\n");
221-
}
222201
}

vpr/src/route/rr_graph_generation/rr_graph_switch_utils.h

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,12 +67,9 @@ t_rr_switch_inf create_rr_switch_from_arch_switch(const t_arch_switch_inf& arch_
6767
* @param R_minW_nmos Reference R for a minimum-width nMOS (for AUTO buf sizing).
6868
* @param R_minW_pmos Reference R for a minimum-width pMOS (for AUTO buf sizing).
6969
* @param wire_to_arch_ipin_switch Architecture index of the IPIN connection-block switch.
70-
* @param wire_to_rr_ipin_switch Output: rr_switch index of the representative IPIN cblock switch.
7170
*/
7271
void alloc_and_load_rr_switch_inf(RRGraphBuilder& rr_graph_builder,
7372
t_arch_switch_fanin& switch_fanin_remap,
7473
const std::map<int, t_arch_switch_inf>& arch_sw_inf,
7574
const float R_minW_nmos,
76-
const float R_minW_pmos,
77-
const int wire_to_arch_ipin_switch,
78-
RRSwitchId& wire_to_rr_ipin_switch);
75+
const float R_minW_pmos);

0 commit comments

Comments
 (0)