Revised the gf180mcu tech file for magic so that extracted device names conform with the names of the models defined in the gf180mcu_fd_pr library repository.
diff --git a/VERSION b/VERSION index 7e18090..0f55df9 100644 --- a/VERSION +++ b/VERSION
@@ -1 +1 @@ -1.0.371 +1.0.372
diff --git a/gf180mcu/magic/gf180mcu.tech b/gf180mcu/magic/gf180mcu.tech index 808914b..d3748b3 100644 --- a/gf180mcu/magic/gf180mcu.tech +++ b/gf180mcu/magic/gf180mcu.tech
@@ -748,6 +748,9 @@ layer NPLUS bloat-or *ndif,*ndiode,*nndiode,ndiffres,*mvndif,*mvndiode,*mvnndiode,mvndiffres * 160 allpactivenonfet 0 + # NOTE: Rule CO.5a applies to butted contacts but Calibre rule is + # implemented for all contacts, so the Calibre rule is being followed. + bloat-or nsc,mvnsc * 95 bloat-or *nsd,*mvnsd * 20 allpactivenonfet 0 bloat-or allnfets,var,mvvar * 230 or shortntap,shortdntap @@ -794,6 +797,9 @@ and-not RESDEF #endif (HRPOLY1K) bloat-or *pdif,*pdiode,pdiffres,pfet,*mvpdif,*mvpdiode,mvpdiffres,mvpfet * 160 allnactivenonfet 0 + # NOTE: Rule CO.5b applies to butted contacts but Calibre rule is + # implemented for all contacts, so the Calibre rule is being followed. + bloat-or psc,mvpsc * 95 bloat-or *psd,*mvpsd * 20 allnactivenonfet 0 bloat-or allpfets * 230 or shortptap,shortdptap @@ -4408,30 +4414,30 @@ # All devices except diodes are modeled as subcircuits # device list: -# nmos_3p3 mosfet -# pmos_3p3 mosfet -# nmos_6p0 mosfet (thick oxide) -# pmos_6p0 mosfet (thick oxide) -# nmos_6p0_nat mosfet (native Vt) -# nmos_3p3_sab mosfet (unsalicided drain) -# pmos_3p3_sab mosfet (unsalicided drain) -# nmos_6p0_sab mosfet (unsalicided drain, thick oxide) -# pmos_6p0_sab mosfet (unsalicided drain, thick oxide) -# nmos_10p0_asym LDNMOS (extended drain) -# pmos_10p0_asym LDPMOS (extended drain) +# nfet_03v3 mosfet +# pfet_03v3 mosfet +# nfet_06v0 mosfet (thick oxide) +# pfet_06v0 mosfet (thick oxide) +# nfet_06v0_nvt mosfet (native Vt) +# nfet_03v3_dss mosfet (unsalicided drain) +# pfet_03v3_dss mosfet (unsalicided drain) +# nfet_06v0_dss mosfet (unsalicided drain, thick oxide) +# pfet_06v0_dss mosfet (unsalicided drain, thick oxide) +# nfet_10v0_asym LDNMOS (extended drain) +# pfet_10v0_asym LDPMOS (extended drain) # -# np_3p3 diode (N+/pwell) -# pn_3p3 diode (P+/nwell) -# np_6p0 diode (N+/pwell, high voltage) -# pn_6p0 diode (P+/nwell, high voltage) -# nwp_3p3 diode (nwell/pwell) -# nwp_6p0 diode (nwell/pwell, high voltage) -# dnwpw diode (pwell/dnwell) -# dnwps diode (dnwll/substrate) +# diode_nd2ps_03v3 diode (N+/pwell) +# diode_pd2nw_03v3 diode (P+/nwell) +# diode_nd2ps_06v0 diode (N+/pwell, high voltage) +# diode_pd2nw_06v0 diode (P+/nwell, high voltage) +# diode_nw2pw_03v3 diode (nwell/pwell) +# diode_nw2pw_06v0 diode (nwell/pwell, high voltage) +# diode_dnw2pw diode (pwell/dnwell) +# diode_dnw2ps diode (dnwll/substrate) # sc_diode diode (Schottky) # -# vpnp_WxL BJT (10x10, 5x5, 0.42x10, 0.42x5 emitter sizes) -# vnpn_WxL BJT (10x10, 5x5, 0.54x16, 0.54x8, 0.54x4, 0.54x2) +# pnp_WxL BJT (10x10, 5x5, 0.42x10, 0.42x5 emitter sizes) +# npn_WxL BJT (10x10, 5x5, 0.54x16, 0.54x8, 0.54x4, 0.54x2) # # npolyf_u resistor (N+ poly, unsalicided) # ppolyf_u resistor (P+ poly, unsalicided) @@ -4454,16 +4460,16 @@ # tm11k resistor (top metal, 1.1um thick) # tm30k resistor (top metal, 3.0um thick) # -# nmoscap_3p3 mosfet (source-drain tied) -# pmoscap_3p3 mosfet (source-drain tied) -# nmoscap_6p0 mosfet (source-drain tied, high voltage) -# pmoscap_6p0 mosfet (source-drain tied, high voltage) -# nmoscap_3p3_b mosfet (n-varactor) -# pmoscap_3p3_b mosfet (p-varactor) -# nmoscap_6p0_b mosfet (n-varactor, high voltage) -# pmoscap_6p0_b mosfet (p-varactor, high voltage) +# cap_nmos_03v3 mosfet (source-drain tied) +# cap_pmos_03v3 mosfet (source-drain tied) +# cap_nmos_06v0 mosfet (source-drain tied, high voltage) +# cap_pmos_06v0 mosfet (source-drain tied, high voltage) +# cap_nmos_03v3_b mosfet (n-varactor) +# cap_pmos_03v3_b mosfet (p-varactor) +# cap_nmos_06v0_b mosfet (n-varactor, high voltage) +# cap_pmos_06v0_b mosfet (p-varactor, high voltage) # -# mim_2p0fF capacitor (MiM)* +# cap_mim_2f0fF capacitor (MiM)* # # *Note that there are multiple mutually exclusive process options for the @@ -4472,18 +4478,18 @@ # # **The top metal may be any of metal3 to metaltp, depending on the stackup - device msubcircuit pmos_3p3 pfet pdiff,pdc pdiff,pdc allnwell error l=l w=w - device msubcircuit nmos_3p3 nfet ndiff,ndc ndiff,ndc allpsub error l=l w=w - device msubcircuit pmos_6p0 mvpfet mvpdiff,mvpdc mvpdiff,mvpdc allnwell error l=l w=w - device msubcircuit nmos_6p0 mvnfet mvndiff,mvndc mvndiff,mvndc allpsub error l=l w=w - device msubcircuit pmos_3p3_sab pfet pdiffres pdiffres allnwell error l=l w=w - device msubcircuit nmos_3p3_sab nfet ndiffres ndiffres allpsub error l=l w=w - device msubcircuit pmos_6p0_sab mvpfet mvpdiffres mvpdiffres allnwell error l=l w=w - device msubcircuit nmos_6p0_sab mvnfet mvndiffres mvndiffres allpsub error l=l w=w - device msubcircuit nmos_6p0_nat mvnnfet mvndiff,mvndiffres,mvndc \ + device msubcircuit pfet_03v3 pfet pdiff,pdc pdiff,pdc allnwell error l=l w=w + device msubcircuit nfet_03v3 nfet ndiff,ndc ndiff,ndc allpsub error l=l w=w + device msubcircuit pfet_06v0 mvpfet mvpdiff,mvpdc mvpdiff,mvpdc allnwell error l=l w=w + device msubcircuit nfet_06v0 mvnfet mvndiff,mvndc mvndiff,mvndc allpsub error l=l w=w + device msubcircuit pfet_03v3_dss pfet pdiffres pdiffres allnwell error l=l w=w + device msubcircuit nfet_03v3_dss nfet ndiffres ndiffres allpsub error l=l w=w + device msubcircuit pfet_06v0_dss mvpfet mvpdiffres mvpdiffres allnwell error l=l w=w + device msubcircuit nfet_06v0_dss mvnfet mvndiffres mvndiffres allpsub error l=l w=w + device msubcircuit nfet_06v0_nvt mvnnfet mvndiff,mvndiffres,mvndc \ mvndiff,mvndiffres,mvndc allpsub error l=l w=w - device subcircuit nmoscap_3p3 varactor *nndiff allnwell error l=l w=w - device subcircuit nmoscap_6p0 mvvaractor *mvnndiff allnwell error l=l w=w + device subcircuit cap_nmos_03v3 varactor *nndiff allnwell error l=l w=w + device subcircuit cap_nmos_06v0 mvvaractor *mvnndiff allnwell error l=l w=w device rsubcircuit rm1 rm1 *m1 l=r_length w=r_width device rsubcircuit rm2 rm2 *m2 l=r_length w=r_width @@ -4555,24 +4561,24 @@ device rsubcircuit nplus_u mvndiffres *mvndiff allpsub error l=r_length w=r_width device rsubcircuit nwell rnw nwell allpsub error l=r_length w=r_width - device pdiode pn_3p3 *pdiode allnwell a=area p=pj - device ndiode np_3p3 *ndiode allpsub a=area p=pj - device pdiode pn_6p0 *mvpdiode allnwell a=area p=pj - device ndiode np_6p0 *mvndiode allpsub a=area p=pj - device ndiode np_6p0_nat *mvnndiode allpsub a=area p=pj + device pdiode diode_pd2nw_03p3 *pdiode allnwell a=area p=pj + device ndiode diode_nd2ps_03p3 *ndiode allpsub a=area p=pj + device pdiode diode_pd2nw_06p0 *mvpdiode allnwell a=area p=pj + device ndiode diode_nd2ps_06p0 *mvndiode allpsub a=area p=pj + device ndiode diode_nd2ps_06p0_nvt *mvnndiode allpsub a=area p=pj #ifdef MIM #ifdef METALS6 - device csubcircuit mim_2p0fF *mimcap *m5 l=c_length w=c_width + device csubcircuit cap_mim_2f0fF *mimcap *m5 l=c_length w=c_width #endif #ifdef METALS5 - device csubcircuit mim_2p0fF *mimcap *m4 l=c_length w=c_width + device csubcircuit cap_mim_2f0fF *mimcap *m4 l=c_length w=c_width #endif #ifdef METALS4 - device csubcircuit mim_2p0fF *mimcap *m3 l=c_length w=c_width + device csubcircuit cap_mim_2f0fF *mimcap *m3 l=c_length w=c_width #endif #ifdef METALS3 - device csubcircuit mim_2p0fF *mimcap *m2 l=c_length w=c_width + device csubcircuit cap_mim_2f0fF *mimcap *m2 l=c_length w=c_width #endif #endif (MIM)