m3 min area rounding fix

This commit is contained in:
Joey Kunzler 2020-04-17 12:36:48 -07:00
parent fbc6dfdaac
commit 7920b0cef9
1 changed files with 4 additions and 2 deletions

View File

@ -17,6 +17,7 @@ import os
from globals import OPTS from globals import OPTS
from vector import vector from vector import vector
from pin_layout import pin_layout from pin_layout import pin_layout
from utils import round_to_grid
class layout(): class layout():
@ -325,7 +326,7 @@ class layout():
file_name = "non_rectilinear.gds" file_name = "non_rectilinear.gds"
self.gds_write(file_name) self.gds_write(file_name)
debug.error("Cannot have a non-manhatten layout pin: {}".format(file_name), -1) debug.error("Cannot have a non-manhatten layout pin: {}".format(file_name), -1)
minwidth_layer = drc["minwidth_{}".format(layer)] minwidth_layer = drc["minwidth_{}".format(layer)]
# one of these will be zero # one of these will be zero
@ -1213,7 +1214,8 @@ class layout():
else: else:
# Hack for min area # Hack for min area
if OPTS.tech_name == "s8": 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: else:
width = via.width width = via.width
height = via.height height = via.height