Corrected the area parameter for bipolar devices in the extraction deck for magic for sky130. The wrong terminal was being used for output of the area (collector instead of emitter), and since magic was unable to calculate areas and perimeters of terminals on planes other than the plane of the device identifier, this error was not noticed. With the most recent version of magic (version 8.3.402), bipolar and diode areas are now computed correctly for the sky130 PDK.
diff --git a/VERSION b/VERSION index 131df2b..5d99d1d 100644 --- a/VERSION +++ b/VERSION
@@ -1 +1 @@ -1.0.417 +1.0.418
diff --git a/sky130/magic/sky130.tech b/sky130/magic/sky130.tech index 8b76ede..cb4cf17 100644 --- a/sky130/magic/sky130.tech +++ b/sky130/magic/sky130.tech
@@ -6401,15 +6401,15 @@ error +npn1p00 device msubcircuit sky130_fd_pr__npn_05v5_W1p00L2p00 npn *ndiff dnwell space/w \ error +npn2p00 - device msubcircuit sky130_fd_pr__npn_05v5 npn *ndiff dnwell space/w error a2=area + device msubcircuit sky130_fd_pr__npn_05v5 npn *ndiff dnwell space/w error a1=area device msubcircuit sky130_fd_pr__pnp_05v5_W0p68L0p68 pnp *pdiff \ pwell,space/w +pnp0p68 device msubcircuit sky130_fd_pr__pnp_05v5_W3p40L3p40 pnp *pdiff \ pwell,space/w +pnp3p40 - device msubcircuit sky130_fd_pr__pnp_05v5 pnp *pdiff pwell,space/w a2=area + device msubcircuit sky130_fd_pr__pnp_05v5 pnp *pdiff pwell,space/w a1=area device msubcircuit sky130_fd_pr__npn_11v0_W1p00L1p00 npn *mvndiff \ dnwell space/w error +npn11p0 - device msubcircuit sky130_fd_pr__npn_11v0 npn *mvndiff dnwell space/w error a2=area + device msubcircuit sky130_fd_pr__npn_11v0 npn *mvndiff dnwell space/w error a1=area # Ignore the extended-drain FET geometry that forms part of the high-voltage # bipolar devices. @@ -6593,12 +6593,12 @@ device bjt sky130_fd_pr__npn_05v5_W1p00L1p00 npn *ndiff dnwell space/w error +npn1p00 device bjt sky130_fd_pr__npn_05v5_W1p00L2p00 npn *ndiff dnwell space/w error +npn2p00 - device bjt sky130_fd_pr__npn_05v5 npn *ndiff dnwell space/w error a2=area + device bjt sky130_fd_pr__npn_05v5 npn *ndiff dnwell space/w error a1=area device bjt sky130_fd_pr__pnp_05v5_W0p68L0p68 pnp *pdiff pwell,space/w +pnp0p68 device bjt sky130_fd_pr__pnp_05v5_W3p40L3p40 pnp *pdiff pwell,space/w +pnp3p40 - device bjt sky130_fd_pr__pnp_05v5 pnp *pdiff pwell,space/w a2=area + device bjt sky130_fd_pr__pnp_05v5 pnp *pdiff pwell,space/w a1=area device bjt sky130_fd_pr__npn_11v0_W1p00L1p00 npn *mvndiff dnwell space/w error +npn11p0 - device bjt sky130_fd_pr__npn_11v0 npn *mvndiff dnwell space/w error a2=area + device bjt sky130_fd_pr__npn_11v0 npn *mvndiff dnwell space/w error a1=area #ifdef MIM device capacitor sky130_fd_pr__cap_mim_m3_1 *mimcap *m3 1