diff --git a/b_asic/signal_flow_graph.py b/b_asic/signal_flow_graph.py
index d0e44afdb4e74a273b09233e67579f15a70edb73..4f17b4c0c6923ea458112977dcd86928b13b8966 100644
--- a/b_asic/signal_flow_graph.py
+++ b/b_asic/signal_flow_graph.py
@@ -234,7 +234,10 @@ class SFG(AbstractOperation):
     def split(self) -> Iterable[Operation]:
         """ Iterates over the SFG's Input- and OutputSignals to reconnect them to each necessary operation inside the SFG, 
         so that the inner operations of the SFG can function on their own, effectively replacing the SFG. """
-
+        
+        assert len(self.inputs) == len(self.input_operations), "Number of inputs does not match the number of input_operations in SFG."
+        assert len(self.outputs) == len(self.output_operations), "Number of outputs does not match the number of output_operations SFG."
+        
         # For each input_signal, connect it to the corresponding operation
         for port, input_operation in zip(self.inputs, self.input_operations):
             # Connect the signal to the new destination