Merge branch 'sky130_fixes' into dev

This commit is contained in:
mrg
2022-06-08 14:27:30 -07:00
6 changed files with 21 additions and 15 deletions
+2 -2
View File
@@ -119,12 +119,12 @@ class dff_array(design.design):
# Add connections every 4 cells
for col in range(0, self.columns, 4):
vdd_pin=self.dff_insts[0, col].get_pin("vdd")
self.add_power_pin("vdd", vdd_pin.lc())
self.add_power_pin("vdd", vdd_pin.lc(), start_layer=vdd_pin.layer)
# Add connections every 4 cells
for col in range(0, self.columns, 4):
gnd_pin=self.dff_insts[0, col].get_pin("gnd")
self.add_power_pin("gnd", gnd_pin.rc())
self.add_power_pin("gnd", gnd_pin.rc(), start_layer=vdd_pin.layer)
def add_layout_pins(self):
for row in range(self.rows):
+1 -1
View File
@@ -416,4 +416,4 @@ class hierarchical_predecode(design.design):
else:
xoffset = self.inv_inst[0].lx() - self.bus_space
pin_pos = vector(xoffset, and_pin.cy())
self.add_power_pin(n, pin_pos)
self.add_power_pin(n, pin_pos, start_layer=and_pin.layer)
+5 -3
View File
@@ -95,6 +95,7 @@ def write_drc_script(cell_name, gds_name, extract, final_verification, output_pa
#f.write("gds polygon subcell true\n")
f.write("gds warning default\n")
# Flatten the transistors
# Bug in Netgen 1.5.194 when using this...
f.write("gds flatglob *_?mos_m*\n")
# These two options are temporarily disabled until Tim fixes a bug in magic related
# to flattening channel routes and vias (hierarchy with no devices in it). Otherwise,
@@ -118,12 +119,13 @@ def write_drc_script(cell_name, gds_name, extract, final_verification, output_pa
pre = "#"
else:
pre = ""
if final_verification and OPTS.route_supplies:
f.write(pre + "extract unique all\n")
# Hack to work around unit scales in SkyWater
if OPTS.tech_name=="sky130":
f.write(pre + "extract style ngspice(si)\n")
f.write(pre + "extract\n")
if final_verification and OPTS.route_supplies:
f.write(pre + "extract unique all\n")
else:
f.write(pre + "extract all\n")
f.write(pre + "select top cell\n")
f.write(pre + "feedback why\n")
f.write('puts "Finished extract"\n')