diff --git a/fpga_flow/arch/fpga_spice/k6_N10_sram_tsmc40nm_TT.xml b/fpga_flow/arch/fpga_spice/k6_N10_sram_tsmc40nm_TT.xml
index eee87e4e5..5b409067d 100755
--- a/fpga_flow/arch/fpga_spice/k6_N10_sram_tsmc40nm_TT.xml
+++ b/fpga_flow/arch/fpga_spice/k6_N10_sram_tsmc40nm_TT.xml
@@ -174,7 +174,7 @@
-
+
@@ -254,7 +254,7 @@
-
+
@@ -275,7 +275,7 @@
-
+
@@ -283,8 +283,7 @@
-
-
+
@@ -296,7 +295,7 @@
-
+
@@ -307,7 +306,7 @@
-
+
@@ -347,7 +346,7 @@
-
+
diff --git a/vpr7_x2p/vpr/SRC/base/read_blif.c b/vpr7_x2p/vpr/SRC/base/read_blif.c
index c369a5a93..cabea82e9 100644
--- a/vpr7_x2p/vpr/SRC/base/read_blif.c
+++ b/vpr7_x2p/vpr/SRC/base/read_blif.c
@@ -523,6 +523,8 @@ static void add_latch(int doall, INP t_model *latch_model) {
logical_block[num_logical_blocks - 1].trigger_type = my_strdup(saved_names[2]);
/* Store the initial value */
logical_block[num_logical_blocks - 1].init_val = my_atoi(saved_names[4]);
+ /* Identify clocks */
+ logical_block[logical_block[num_logical_blocks - 1].clock_net].is_clock = TRUE;
/*END*/
num_latches++;
diff --git a/vpr7_x2p/vpr/SRC/base/vpr_types.h b/vpr7_x2p/vpr/SRC/base/vpr_types.h
index cfa790ec2..f1f21dece 100755
--- a/vpr7_x2p/vpr/SRC/base/vpr_types.h
+++ b/vpr7_x2p/vpr/SRC/base/vpr_types.h
@@ -248,6 +248,8 @@ typedef struct s_logical_block {
/* for Register/flip-flop */
char* trigger_type;
int init_val;
+ /* To identify if this is a clock */
+ int is_clock;
} t_logical_block;
diff --git a/vpr7_x2p/vpr/SRC/fpga_spice/base/fpga_spice_utils.c b/vpr7_x2p/vpr/SRC/fpga_spice/base/fpga_spice_utils.c
index 374d86f5d..eb13ff2cb 100644
--- a/vpr7_x2p/vpr/SRC/fpga_spice/base/fpga_spice_utils.c
+++ b/vpr7_x2p/vpr/SRC/fpga_spice/base/fpga_spice_utils.c
@@ -6915,7 +6915,7 @@ void stats_spice_muxes_routing_arch(t_llist** muxes_head,
case IPIN:
/* Have to consider the fan_in only, it is a connection box(multiplexer)*/
assert((node->fan_in > 0)||(0 == node->fan_in));
- if (0 == node->fan_in) {
+ if ((0 == node->fan_in)||(1 == node->fan_in)) {
break;
}
/* Find the spice_model for multiplexers in connection blocks */
@@ -6931,7 +6931,7 @@ void stats_spice_muxes_routing_arch(t_llist** muxes_head,
* or it could be a connection box if previous rr_node is a IPIN or OPIN
*/
assert((node->fan_in > 0)||(0 == node->fan_in));
- if (0 == node->fan_in) {
+ if ((0 == node->fan_in)||(1 == node->fan_in)) {
break;
}
/* Find the spice_model for multiplexers in switch blocks*/