From 42daadee2f384677491dc8d67f4326467a621bfb Mon Sep 17 00:00:00 2001 From: tangxifan Date: Tue, 30 Apr 2019 14:30:17 -0600 Subject: [PATCH] critical bug fixing --- vpr7_x2p/vpr/SRC/fpga_x2p/base/fpga_x2p_lut_utils.c | 7 +++++++ vpr7_x2p/vpr/SRC/fpga_x2p/router/fpga_x2p_pb_rr_graph.c | 6 +++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/vpr7_x2p/vpr/SRC/fpga_x2p/base/fpga_x2p_lut_utils.c b/vpr7_x2p/vpr/SRC/fpga_x2p/base/fpga_x2p_lut_utils.c index 251d55cce..2e7b38ece 100644 --- a/vpr7_x2p/vpr/SRC/fpga_x2p/base/fpga_x2p_lut_utils.c +++ b/vpr7_x2p/vpr/SRC/fpga_x2p/base/fpga_x2p_lut_utils.c @@ -568,6 +568,13 @@ void adapt_truth_table_for_frac_lut(t_pb_graph_pin* lut_out_pb_graph_pin, assert(NULL != lut_out_pb_graph_pin); /* find the corresponding SPICE model output port and assoicated lut_output_mask */ lut_frac_level = get_pb_graph_pin_lut_frac_level(lut_out_pb_graph_pin); + + /* No adaption required for when the lut_frac_level is not set */ + if (OPEN == lut_frac_level) { + return; + } + + /* find the corresponding SPICE model output port and assoicated lut_output_mask */ lut_output_mask = get_pb_graph_pin_lut_output_mask(lut_out_pb_graph_pin); /* Apply modification to the truth table */ diff --git a/vpr7_x2p/vpr/SRC/fpga_x2p/router/fpga_x2p_pb_rr_graph.c b/vpr7_x2p/vpr/SRC/fpga_x2p/router/fpga_x2p_pb_rr_graph.c index 35ba6b980..e361e8191 100644 --- a/vpr7_x2p/vpr/SRC/fpga_x2p/router/fpga_x2p_pb_rr_graph.c +++ b/vpr7_x2p/vpr/SRC/fpga_x2p/router/fpga_x2p_pb_rr_graph.c @@ -1321,9 +1321,6 @@ void alloc_and_load_rr_graph_for_phy_pb(INP t_pb* cur_op_pb, /* Build prev nodes list for rr_nodes */ alloc_and_load_prev_node_list_rr_graph_rr_nodes(cur_phy_pb->rr_graph); - /* Allocate structs routing information */ - alloc_and_load_rr_graph_route_structs(cur_phy_pb->rr_graph); - /* Find the nets inside the pb and initialize the rr_graph */ alloc_and_load_phy_pb_rr_graph_nets(cur_op_pb, cur_phy_pb->rr_graph, L_num_vpack_nets, L_vpack_net); @@ -1346,6 +1343,9 @@ void alloc_and_load_rr_graph_for_phy_pb(INP t_pb* cur_op_pb, add_virtual_sources_to_rr_graph_multi_sources(cur_phy_pb->rr_graph); + /* Allocate structs routing information */ + alloc_and_load_rr_graph_route_structs(cur_phy_pb->rr_graph); + return; }