bug fix for clock network builder using rr_graph object
This commit is contained in:
parent
ecc3b8a4f0
commit
e2f408cc2d
|
@ -846,10 +846,12 @@ RRNodeId RRGraph::create_node(const t_rr_type& type) {
|
|||
return node_id;
|
||||
}
|
||||
|
||||
RREdgeId RRGraph::create_edge(const RRNodeId& source, const RRNodeId& sink, const RRSwitchId& switch_id) {
|
||||
RREdgeId RRGraph::create_edge(const RRNodeId& source, const RRNodeId& sink, const RRSwitchId& switch_id, const bool& fake_switch) {
|
||||
VTR_ASSERT(valid_node_id(source));
|
||||
VTR_ASSERT(valid_node_id(sink));
|
||||
VTR_ASSERT(valid_switch_id(switch_id));
|
||||
if (false == fake_switch) {
|
||||
VTR_ASSERT(valid_switch_id(switch_id));
|
||||
}
|
||||
|
||||
/* Allocate an ID */
|
||||
RREdgeId edge_id = RREdgeId(num_edges_);
|
||||
|
|
|
@ -614,7 +614,7 @@ class RRGraph {
|
|||
* This function will automatically create a node and
|
||||
* configure the nodes and edges in connection
|
||||
*/
|
||||
RREdgeId create_edge(const RRNodeId& source, const RRNodeId& sink, const RRSwitchId& switch_id);
|
||||
RREdgeId create_edge(const RRNodeId& source, const RRNodeId& sink, const RRSwitchId& switch_id, const bool& fake_switch=false);
|
||||
void set_edge_switch(const RREdgeId& edge, const RRSwitchId& switch_id);
|
||||
RRSwitchId create_switch(const t_rr_switch_inf& switch_info);
|
||||
RRSegmentId create_segment(const t_segment_inf& segment_info);
|
||||
|
|
|
@ -255,8 +255,8 @@ void ClockRib::create_rr_nodes_and_internal_edges_for_one_instance(ClockRRGraphB
|
|||
clock_graph);
|
||||
|
||||
// connect drive point to each half rib using a directed switch
|
||||
rr_graph.create_edge(drive_node_idx, left_node_idx, RRSwitchId(drive.switch_idx));
|
||||
rr_graph.create_edge(drive_node_idx, right_node_idx, RRSwitchId(drive.switch_idx));
|
||||
rr_graph.create_edge(drive_node_idx, left_node_idx, RRSwitchId(drive.switch_idx), true);
|
||||
rr_graph.create_edge(drive_node_idx, right_node_idx, RRSwitchId(drive.switch_idx), true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -501,8 +501,8 @@ void ClockSpine::create_rr_nodes_and_internal_edges_for_one_instance(ClockRRGrap
|
|||
clock_graph);
|
||||
|
||||
// connect drive point to each half spine using a directed switch
|
||||
rr_graph.create_edge(drive_node_idx, left_node_idx, RRSwitchId(drive.switch_idx));
|
||||
rr_graph.create_edge(drive_node_idx, right_node_idx, RRSwitchId(drive.switch_idx));
|
||||
rr_graph.create_edge(drive_node_idx, left_node_idx, RRSwitchId(drive.switch_idx), true);
|
||||
rr_graph.create_edge(drive_node_idx, right_node_idx, RRSwitchId(drive.switch_idx), true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue