From 7920b0cef99f0ece902a14c47fe5c37e9fa0f263 Mon Sep 17 00:00:00 2001 From: Joey Kunzler Date: Fri, 17 Apr 2020 12:36:48 -0700 Subject: [PATCH] m3 min area rounding fix --- compiler/base/hierarchy_layout.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/compiler/base/hierarchy_layout.py b/compiler/base/hierarchy_layout.py index e67f8d85..14136c9c 100644 --- a/compiler/base/hierarchy_layout.py +++ b/compiler/base/hierarchy_layout.py @@ -17,6 +17,7 @@ import os from globals import OPTS from vector import vector from pin_layout import pin_layout +from utils import round_to_grid class layout(): @@ -325,7 +326,7 @@ class layout(): file_name = "non_rectilinear.gds" self.gds_write(file_name) debug.error("Cannot have a non-manhatten layout pin: {}".format(file_name), -1) - + minwidth_layer = drc["minwidth_{}".format(layer)] # one of these will be zero @@ -1213,7 +1214,8 @@ class layout(): else: # Hack for min area if OPTS.tech_name == "s8": - height = width = sqrt(drc["minarea_m3"]) + width = round_to_grid(sqrt(drc["minarea_m3"])) + height = round_to_grid(drc["minarea_m3"]/width) else: width = via.width height = via.height