vela: Add support for CPU only networks

 - Fix various problems when no operators run on Ethos-U55

Signed-off-by: Tim Hall <tim.hall@arm.com>
Change-Id: I44a1a914fabb7ca26c921a02753da8abeecd9c7b
diff --git a/ethosu/vela/tflite_writer.py b/ethosu/vela/tflite_writer.py
index 99df849..675b698 100644
--- a/ethosu/vela/tflite_writer.py
+++ b/ethosu/vela/tflite_writer.py
@@ -134,12 +134,17 @@
         return builder.EndVector(len(v))
 
     def assign_buffers_to_tensors(self, tensors):
+        scratch_tensors = [tens for tens in tensors if tens.purpose == TensorPurpose.Scratch]
+        if len(scratch_tensors) > 0:
+            scratch_tensor_mem_area = scratch_tensors[0].mem_area
+        else:
+            scratch_tensor_mem_area = None  # all tensors are initialised to MemArea.Unknown
+
         buffer_map = {}
-        scratch_tensor = [tens for tens in tensors if tens.purpose == TensorPurpose.Scratch][0]
         buf_idx = 1
 
         for tens in tensors:
-            if tens.mem_area == scratch_tensor.mem_area:
+            if tens.mem_area == scratch_tensor_mem_area:
                 buffer_map[tens] = self.scratch_buf_id
             else:
                 buffer_map[tens] = buf_idx