diff --git a/b_asic/signal_flow_graph.py b/b_asic/signal_flow_graph.py index 4f17b4c0c6923ea458112977dcd86928b13b8966..08fe736689bfb2123cdf562aaf289d7134632ab7 100644 --- a/b_asic/signal_flow_graph.py +++ b/b_asic/signal_flow_graph.py @@ -240,13 +240,19 @@ class SFG(AbstractOperation): # For each input_signal, connect it to the corresponding operation for port, input_operation in zip(self.inputs, self.input_operations): + # Disconnect the previous signal to the destination + dest = input_operation.output(0).signals[0].destination + dest.clear() # Connect the signal to the new destination - port.signals[0].set_destination(input_operation.output(0).signals[0].destination) + port.signals[0].set_destination(dest) # For each output_signal, connect it to the corresponding operation for port, output_operation in zip(self.outputs, self.output_operations): + # Disconnect the previous signal to the source + src = output_operation.input(0).signals[0].source + src.clear() # Connect the signal to the new source - port.signals[0].set_source(output_operation.input[0].signals[0].source) + port.signals[0].set_source(src)