From 0c7c505de60ed4e3260a6b9309a54d15cc98cf42 Mon Sep 17 00:00:00 2001
From: Hugo Winbladh <hugwi268@student.liu.se>
Date: Mon, 26 Jun 2023 08:54:17 +0200
Subject: [PATCH] Change connect_external_signals_to_components() to work with
 branching input signals

---
 b_asic/signal_flow_graph.py | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/b_asic/signal_flow_graph.py b/b_asic/signal_flow_graph.py
index b4c55607..405681ea 100644
--- a/b_asic/signal_flow_graph.py
+++ b/b_asic/signal_flow_graph.py
@@ -431,6 +431,12 @@ class SFG(AbstractOperation):
                 raise ValueError("Missing destination in signal.")
             destination.clear()
             input_port.signals[0].set_destination(destination)
+            for signal in input_operation.output(0).signals[1:]:
+                other_destination = signal.destination
+                if other_destination is None:
+                    raise ValueError("Missing destination in signal.")
+                other_destination.clear()
+                other_destination.add_signal(Signal(destination.signals[0]))
         # For each output_signal, connect it to the corresponding operation
         for output_port, output_operation in zip(self.outputs, self.output_operations):
             src = output_operation.input(0).signals[0].source
-- 
GitLab