single port progess

This commit is contained in:
jcirimel
2020-09-14 18:11:38 -07:00
parent 73443c8c95
commit d22164bd48
129 changed files with 234723 additions and 77 deletions
+16 -2
View File
@@ -31,15 +31,22 @@ class _mirror_axis:
self.y = y
class _bitcell:
def __init__(self, mirror, split_wl, cell_6t, cell_1rw1r, cell_1w1r):
def __init__(self, mirror, split_wl, cell_s8_6t, cell_6t, cell_1rw1r, cell_1w1r):
self.mirror = mirror
self.split_wl = split_wl
self._s8_6t = cell_s8_6t
self._6t = cell_6t
self._1rw1r = cell_1rw1r
self._1w1r = cell_1w1r
def _default():
axis = _mirror_axis(True, False)
cell_s8_6t = _cell({'bl' : 'bl0',
'br' : 'bl1',
'wl0': 'wl0',
'wl1': 'wl1'})
cell_6t = _cell({'bl' : 'bl',
'br' : 'br',
'wl' : 'wl'})
@@ -50,18 +57,25 @@ class _bitcell:
'br1' : 'br1',
'wl0' : 'wl0',
'wl1' : 'wl1'})
cell_1w1r = _cell({'bl0' : 'bl0',
'br0' : 'br0',
'bl1' : 'bl1',
'br1' : 'br1',
'wl0' : 'wl0',
'wl1' : 'wl1'})
return _bitcell(cell_6t=cell_6t,
return _bitcell(cell_s8_6t=cell_s8_6t,
cell_6t=cell_6t,
cell_1rw1r=cell_1rw1r,
cell_1w1r=cell_1w1r,
split_wl = False,
mirror=axis)
@property
def cell_s8_6t(self):
return self._s8_6t
@property
def cell_6t(self):
return self._6t
+4 -4
View File
@@ -73,7 +73,7 @@ def auto_measure_libcell(pin_list, name, units, lpp):
return cell
def get_gds_size(name, gds_filename, units, lpp):
def get_gds_size(name, gds_filename, units, lpp, structure = ""):
"""
Open a GDS file and return the size from either the
bounding box or a border layer.
@@ -83,7 +83,7 @@ def get_gds_size(name, gds_filename, units, lpp):
reader = gdsMill.Gds2reader(cell_vlsi)
reader.loadFromFile(gds_filename)
measure_result = cell_vlsi.getLayoutBorder(lpp)
measure_result = cell_vlsi.getLayoutBorder(lpp, structure)
if not measure_result:
debug.info(2, "Layout border failed. Trying to measure size for {}".format(name))
measure_result = cell_vlsi.measureSize(name)
@@ -91,14 +91,14 @@ def get_gds_size(name, gds_filename, units, lpp):
return measure_result
def get_libcell_size(name, units, lpp):
def get_libcell_size(name, units, lpp, structure = ""):
"""
Open a GDS file and return the library cell size from either the
bounding box or a border layer.
"""
cell_gds = OPTS.openram_tech + "gds_lib/" + str(name) + ".gds"
return(get_gds_size(name, cell_gds, units, lpp))
return(get_gds_size(name, cell_gds, units, lpp, structure))