MLBEDSW-2696 Fix Sram exceeded for Sram spilling

Avoid concat op as predecessor in ifm streaming,
when Sram spilling is to be applied.

Signed-off-by: Patrik Gustavsson <patrik.gustavsson@arm.com>
Change-Id: I2ba6283a7561a12d54a06552a15e122bb082b7a1
diff --git a/ethosu/vela/compiler_driver.py b/ethosu/vela/compiler_driver.py
index b5a6c42..f407fdc 100644
--- a/ethosu/vela/compiler_driver.py
+++ b/ethosu/vela/compiler_driver.py
@@ -30,6 +30,7 @@
 from . import scheduler
 from . import tensor_allocation
 from . import weight_compressor
+from .errors import VelaError
 from .nn_graph import PassPlacement
 from .nn_graph import TensorAllocator
 from .rewrite_graph import verify_graph_health
@@ -208,7 +209,11 @@
 
     if root_sg is not None and (arch.feature_map_storage_mem_area != arch.fast_storage_mem_area):
         if root_sg.memory_used_per_type.get(MemType.Scratch_fast, 0) > arch.sram_size:
-            print("Warning: Sram limit has been exceeded, by the scratch fast tensor")
+            raise VelaError(
+                "Sram limit {} bytes, has been exceeded by the scratch fast tensor {} bytes".format(
+                    arch.sram_size, root_sg.memory_used_per_type.get(MemType.Scratch_fast, 0)
+                )
+            )
 
     # Allocate all Cpu constant tensors, this is done last because the Npu-ops
     # have to be serialized into flash and scratch tensors first