mirror of https://github.com/VLSIDA/OpenRAM.git
None for layer means unused.
This commit is contained in:
parent
04045cf672
commit
b71d630643
|
|
@ -8,7 +8,7 @@
|
|||
import contact
|
||||
import design
|
||||
import debug
|
||||
from tech import layers
|
||||
from tech import layer, drc
|
||||
from vector import vector
|
||||
from globals import OPTS
|
||||
from sram_factory import factory
|
||||
|
|
@ -141,27 +141,29 @@ class pgate(design.design):
|
|||
max_y_offset = self.height + 0.5 * self.m1_width
|
||||
self.nwell_position = middle_position
|
||||
nwell_height = max_y_offset - middle_position.y
|
||||
if layers["nwell"]:
|
||||
if layer["nwell"]:
|
||||
self.add_rect(layer="nwell",
|
||||
offset=middle_position,
|
||||
width=self.well_width,
|
||||
height=nwell_height)
|
||||
self.add_rect(layer="vtg",
|
||||
offset=self.nwell_position,
|
||||
width=self.well_width,
|
||||
height=nwell_height)
|
||||
if layer["vtg"]:
|
||||
self.add_rect(layer="vtg",
|
||||
offset=self.nwell_position,
|
||||
width=self.well_width,
|
||||
height=nwell_height)
|
||||
|
||||
pwell_position = vector(0, -0.5 * self.m1_width)
|
||||
pwell_height = middle_position.y - pwell_position.y
|
||||
if layers["pwell"]:
|
||||
if layer["pwell"]:
|
||||
self.add_rect(layer="pwell",
|
||||
offset=pwell_position,
|
||||
width=self.well_width,
|
||||
height=pwell_height)
|
||||
self.add_rect(layer="vtg",
|
||||
offset=pwell_position,
|
||||
width=self.well_width,
|
||||
height=pwell_height)
|
||||
if layer["vtg"]:
|
||||
self.add_rect(layer="vtg",
|
||||
offset=pwell_position,
|
||||
width=self.well_width,
|
||||
height=pwell_height)
|
||||
|
||||
def add_nwell_contact(self, pmos, pmos_pos):
|
||||
""" Add an nwell contact next to the given pmos device. """
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
#
|
||||
import design
|
||||
import debug
|
||||
from tech import drc, spice
|
||||
from tech import layer, drc, spice
|
||||
from vector import vector
|
||||
from sram_factory import factory
|
||||
|
||||
|
|
@ -319,11 +319,13 @@ class ptx(design.design):
|
|||
"""
|
||||
Add an (optional) well and implant for the type of transistor.
|
||||
"""
|
||||
if drc("has_{}well".format(self.well_type)):
|
||||
self.add_rect(layer="{}well".format(self.well_type),
|
||||
well_name = "{}well".format(self.well_type)
|
||||
if layer[well_name]:
|
||||
self.add_rect(layer=well_name,
|
||||
offset=(0,0),
|
||||
width=self.cell_well_width,
|
||||
height=self.cell_well_height)
|
||||
if layer["vtg"]:
|
||||
self.add_rect(layer="vtg",
|
||||
offset=(0,0),
|
||||
width=self.cell_well_width,
|
||||
|
|
|
|||
|
|
@ -35,8 +35,8 @@ GDS["zoom"] = 0.5
|
|||
|
||||
# create the GDS layer map
|
||||
layer={}
|
||||
layer["vtg"] = (-1, 0)
|
||||
layer["vth"] = (-1, 0)
|
||||
layer["vtg"] = None
|
||||
layer["vth"] = None
|
||||
layer["pwell"] = (41, 0)
|
||||
layer["nwell"] = (42, 0)
|
||||
layer["active"] = (43, 0)
|
||||
|
|
|
|||
Loading…
Reference in New Issue