Fix diode area and perimeter on the HD and HVL standard cell "diode_2" cells. Corrected the netgen setup file to apply a 2% tolerance on diode perimeter (previously missing, which caused it to apply a 0% tolerance).
diff --git a/VERSION b/VERSION index e7dc85f..f41cc05 100644 --- a/VERSION +++ b/VERSION
@@ -1 +1 @@ -1.0.353 +1.0.354
diff --git a/sky130/custom/scripts/fix_device_models.py b/sky130/custom/scripts/fix_device_models.py index e293ee3..19ec316 100755 --- a/sky130/custom/scripts/fix_device_models.py +++ b/sky130/custom/scripts/fix_device_models.py
@@ -49,7 +49,10 @@ fline = re.sub('^X', 'D', fline) fline = re.sub('a=', 'area=', fline) fline = re.sub('p=', 'pj=', fline) + # HD library perimeter is 2.64um; also fix the units fline = re.sub('pj=5.36', 'pj=2.64', fline) + fline = re.sub('06u', '06', fline) + fline = re.sub('11p', '11', fline) fixedlines.append(fline) modified = True elif nmatch: @@ -57,6 +60,10 @@ fline = re.sub('^X', 'D', fline) fline = re.sub('a=', 'area=', fline) fline = re.sub('p=', 'pj=', fline) + # HVL library diode perimeter is 3.16um; also fix the units + fline = re.sub('pj=5.88', 'pj=3.16', fline) + fline = re.sub('06u', '06', fline) + fline = re.sub('11p', '11', fline) fixedlines.append(fline) modified = True elif smatch:
diff --git a/sky130/netgen/sky130_setup.tcl b/sky130/netgen/sky130_setup.tcl index f7a3c8d..ff038fc 100644 --- a/sky130/netgen/sky130_setup.tcl +++ b/sky130/netgen/sky130_setup.tcl
@@ -281,7 +281,7 @@ property "-circuit1 $dev" parallel {area add} property "-circuit1 $dev" parallel {pj add} property "-circuit1 $dev" parallel {value add} - property "-circuit1 $dev" tolerance {area 0.02} + property "-circuit1 $dev" tolerance {area 0.02} {pj 0.02} # Ignore these properties property "-circuit1 $dev" delete mult perim } @@ -290,7 +290,7 @@ property "-circuit2 $dev" parallel {area add} property "-circuit2 $dev" parallel {pj add} property "-circuit2 $dev" parallel {value add} - property "-circuit2 $dev" tolerance {area 0.02} + property "-circuit2 $dev" tolerance {area 0.02} {pj 0.02} # Ignore these properties property "-circuit2 $dev" delete mult perim }