From 3345b12b076a11a431145ad4bded42afc4c33a5a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20Lanzend=C3=B6rfer?= <leviathan@libresilicon.com>
Date: Tue, 19 Nov 2024 07:06:05 +0000
Subject: [PATCH] Solving StdCellLib issues

There seems to be no tree in the list, so the tool crashes.
By catching the access of an empty list, it actually generates
the cells as expected.
---
 src/lclayout/router.py | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/lclayout/router.py b/src/lclayout/router.py
index a54e50e..040504a 100644
--- a/src/lclayout/router.py
+++ b/src/lclayout/router.py
@@ -222,8 +222,13 @@ class DefaultRouter():
         routing_solutions = self._06_route(shapes, io_pins, transistor_layouts,
                                        routing_nets,
                                        routing_terminal_debug_layers, top_cell)
-        routing_trees = list(routing_solutions)[-1]
-        self._08_draw_routes(shapes, routing_trees)
+
+        try:
+            routing_trees = list(routing_solutions)[-1]
+            self._08_draw_routes(shapes, routing_trees)
+        except:
+            routing_trees = None
+
         return routing_trees
 
     def _06_route(self, shapes: Dict[str, db.Shapes],
-- 
GitLab