update gds library, generalize geometry reverse transform function

This commit is contained in:
Jesse Cirimelli-Low
2019-12-24 05:01:55 +00:00
parent 5b44dce50d
commit 3ab99d7f9c
10 changed files with 26 additions and 24 deletions
+14 -13
View File
@@ -10,7 +10,7 @@ import debug
import design
from globals import OPTS
import logical_effort
from tech import parameter, drc
from tech import parameter, drc, layer
class bitcell_base(design.design):
@@ -85,14 +85,15 @@ class bitcell_base(design.design):
Gets the location of the storage net labels to add top level
labels for pex simulation.
"""
#TODO: use getTexts to support custom bitcells
# If we generated the bitcell, we already know where Q and Q_bar are
#if OPTS.bitcell is not "pbitcell":
# self.storage_net_offsets = []
# for net in get_storage_net_names:
# if net is "Q" or "Q_bar":
# for text in self.getTexts("metal1"):
# self.storage_net_offsets.append(text.offsetInMicrons)
if OPTS.bitcell is not "pbitcell":
self.storage_net_offsets = []
for i in range(0, len(self.get_storage_net_names())):
for text in self.gds.getTexts(layer["metal1"]):
if self.storage_nets[i] == text:
print(text)
return(self.storage_net_offsets)
def get_normalized_storage_net_offset(self):
@@ -101,11 +102,11 @@ class bitcell_base(design.design):
of the bitcell. This is useful for making sense of offsets outside
of the bitcell.
"""
Q_x = self.storage_net_offsets[0][0] - self.leftmost_xpos
Q_y = self.storage_net_offsets[0][1] - self.botmost_ypos
Q_bar_x = self.storage_net_offsets[1][0] - self.leftmost_xpos
Q_bar_y = self.storage_net_offsets[1][1] - self.botmost_ypos
print("get normalized")
Q_x = self.get_storage_net_offset()[0][0] - self.leftmost_xpos
Q_y = self.get_storage_net_offset()[0][1] - self.botmost_ypos
Q_bar_x = self.get_storage_net_offset()[1][0] - self.leftmost_xpos
Q_bar_y = self.get_storage_net_offset()[1][1] - self.botmost_ypos
normalized_storage_net_offset = [[Q_x,Q_y],[Q_bar_x,Q_bar_y]]