Modified the netgen setup for sky130 per Mitch Bailey's observation that the 16V and 20V devices are extended-drain devices and so should not be allowed to permute source and drain terminals.
diff --git a/sky130/netgen/sky130_setup.tcl b/sky130/netgen/sky130_setup.tcl index 817ff0a..2162a39 100644 --- a/sky130/netgen/sky130_setup.tcl +++ b/sky130/netgen/sky130_setup.tcl
@@ -140,9 +140,6 @@ lappend devices sky130_fd_pr__cap_var_lvt lappend devices sky130_fd_pr__cap_var_hvt lappend devices sky130_fd_pr__cap_var -lappend devices sky130_fd_pr__nfet_20v0_nvt -lappend devices sky130_fd_pr__nfet_20v0 -lappend devices sky130_fd_pr__pfet_20v0 foreach dev $devices { if {[lsearch $cells1 $dev] >= 0} { @@ -166,6 +163,39 @@ } #--------------------------------------------------------------------- +# Extended drain MOSFET devices. These have asymmetric source and +# drain, and so the source and drain are not permutable. +#--------------------------------------------------------------------- + +set devices {} +lappend devices sky130_fd_pr__nfet_20v0_zvt +lappend devices sky130_fd_pr__nfet_20v0_nvt +lappend devices sky130_fd_pr__nfet_20v0_iso +lappend devices sky130_fd_pr__nfet_20v0 +lappend devices sky130_fd_pr__pfet_20v0 +lappend devices sky130_fd_pr__nfet_g5v0d16v0 +lappend devices sky130_fd_pr__pfet_g5v0d16v0 + +foreach dev $devices { + if {[lsearch $cells1 $dev] >= 0} { + property "-circuit1 $dev" parallel enable + property "-circuit1 $dev" parallel {l critical} + property "-circuit1 $dev" parallel {w add} + property "-circuit1 $dev" tolerance {w 0.07} {l 0.01} + # Ignore these properties + property "-circuit1 $dev" delete as ad ps pd mult sa sb sd nf nrd nrs area perim topography + } + if {[lsearch $cells2 $dev] >= 0} { + property "-circuit2 $dev" parallel enable + property "-circuit2 $dev" parallel {l critical} + property "-circuit2 $dev" parallel {w add} + property "-circuit2 $dev" tolerance {w 0.07} {l 0.01} + # Ignore these properties + property "-circuit2 $dev" delete as ad ps pd mult sa sb sd nf nrd nrs area perim topography + } +} + +#--------------------------------------------------------------------- # (MOS) ESD transistors. Note that the ESD transistors have a flanged # gate. Magic disagrees slightly on how to interpret the width of the # devices, so the tolerance is increased to 7% to cover the difference