mirror of https://github.com/VLSIDA/OpenRAM.git
Add no well enclosure for techs without wells
This commit is contained in:
parent
6c523a7556
commit
ba92467fec
|
|
@ -252,31 +252,47 @@ class pgate(design.design):
|
||||||
"""
|
"""
|
||||||
Add top-to-bottom implants for adjacency issues in s8.
|
Add top-to-bottom implants for adjacency issues in s8.
|
||||||
"""
|
"""
|
||||||
|
if self.add_wells:
|
||||||
|
rightx = None
|
||||||
|
else:
|
||||||
|
rightx = self.width
|
||||||
|
|
||||||
nmos_insts = self.get_tx_insts("nmos")
|
nmos_insts = self.get_tx_insts("nmos")
|
||||||
|
if len(nmos_insts) > 0:
|
||||||
|
self.add_enclosure(nmos_insts,
|
||||||
|
layer="nimplant",
|
||||||
|
extend=self.implant_enclose_active,
|
||||||
|
leftx=0,
|
||||||
|
rightx=rightx,
|
||||||
|
boty=0)
|
||||||
|
|
||||||
pmos_insts = self.get_tx_insts("pmos")
|
pmos_insts = self.get_tx_insts("pmos")
|
||||||
ntap_insts = [self.nwell_contact]
|
if len(pmos_insts) > 0:
|
||||||
ptap_insts = [self.pwell_contact]
|
self.add_enclosure(pmos_insts,
|
||||||
|
layer="pimplant",
|
||||||
self.add_enclosure(nmos_insts,
|
extend=self.implant_enclose_active,
|
||||||
layer="nimplant",
|
leftx=0,
|
||||||
extend=self.implant_enclose_active,
|
rightx=rightx,
|
||||||
leftx=0,
|
topy=self.height)
|
||||||
boty=0)
|
|
||||||
self.add_enclosure(pmos_insts,
|
try:
|
||||||
layer="pimplant",
|
ntap_insts = [self.nwell_contact]
|
||||||
extend=self.implant_enclose_active,
|
self.add_enclosure(ntap_insts,
|
||||||
leftx=0,
|
layer="nimplant",
|
||||||
topy=self.height)
|
extend=self.implant_enclose_active,
|
||||||
self.add_enclosure(ntap_insts,
|
rightx=self.width,
|
||||||
layer="nimplant",
|
topy=self.height)
|
||||||
extend=self.implant_enclose_active,
|
except AttributeError:
|
||||||
rightx=self.width,
|
pass
|
||||||
topy=self.height)
|
try:
|
||||||
self.add_enclosure(ptap_insts,
|
ptap_insts = [self.pwell_contact]
|
||||||
layer="pimplant",
|
self.add_enclosure(ptap_insts,
|
||||||
extend=self.implant_enclose_active,
|
layer="pimplant",
|
||||||
rightx=self.width,
|
extend=self.implant_enclose_active,
|
||||||
boty=0)
|
rightx=self.width,
|
||||||
|
boty=0)
|
||||||
|
except AttributeError:
|
||||||
|
pass
|
||||||
|
|
||||||
def add_pwell_contact(self, nmos, nmos_pos):
|
def add_pwell_contact(self, nmos, nmos_pos):
|
||||||
""" Add an pwell contact next to the given nmos device. """
|
""" Add an pwell contact next to the given nmos device. """
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue