| * Map the heavily renamed sky130A PDK primitive device model-names to the model-names extracted by (un-renamed) calibre LVS. |
| * Since sky130A spice netlists use subckt-instances for primitives, exploit this: Define said subckts |
| * that internally just nest the calibre model-named true spice primitive. |
| * |
| * Example schematic-side SUBCKT replacements, used in place of |
| * /foss/pdk/sky130A/libs.ref/sky130_fd_pr/spice/ |
| * ... |
| * sky130_fd_pr__nfet_01v8.pm3.spice |
| .subckt sky130_fd_pr__nfet_01v8 d g s b m=1 w=1 l=1 ad=1 as=1 pd=1 ps=1 nrd=1 nrs=1 |
| m0 d g s b nshort m=m w=w l=l ad=ad as=as pd=pd ps=ps nrd=nrd nrs=nrs mult=1 |
| .ends |
| *m0 d g s b sky130_fd_pr__nfet_01v8 l={l} w={w} nf={nf} |
| *msky130_fd_pr__nfet_01v8 d g s b sky130_fd_pr__nfet_01v8__model l = {l} w = {w} nf = {nf} |
| |
| * need mappsings: |
| * sky130_fd_pr__nfet_01v8 nshort |
| * sky130_fd_pr__nfet_g5v0d10v5 nhv |
| * sky130_fd_pr__nfet_01v8_lvt nlowvt |
| * sky130_fd_pr__nfet_03v3_nvt ntvnative |
| * sky130_fd_pr__nfet_05v0_nvt nhvnative |
| * sky130_fd_pr__esd_nfet_g5v0d10v5 nhvesd ? |
| * |
| * sky130_fd_pr__pfet_01v8 pshort ? |
| * sky130_fd_pr__pfet_01v8_lvt plowvt ? |
| * sky130_fd_pr__pfet_g5v0d10v5 phv ? |
| * sky130_fd_pr__pfet_01v8_hvt phighvt ? |
| |
| .subckt sky130_fd_pr__nfet_g5v0d10v5 d g s b m=1 w=1 l=1 ad=1 as=1 pd=1 ps=1 nrd=1 nrs=1 |
| m0 d g s b nhv m=m w=w l=l ad=ad as=as pd=pd ps=ps nrd=nrd nrs=nrs mult=1 |
| .ends |
| |
| |
| .subckt sky130_fd_pr__nfet_01v8_lvt d g s b m=1 w=1 l=1 ad=1 as=1 pd=1 ps=1 nrd=1 nrs=1 |
| m0 d g s b nlowvt m=m w=w l=l ad=ad as=as pd=pd ps=ps nrd=nrd nrs=nrs mult=1 |
| .ends |
| |
| .subckt sky130_fd_pr__nfet_03v3_nvt d g s b m=1 w=1 l=1 ad=1 as=1 pd=1 ps=1 nrd=1 nrs=1 |
| m0 d g s b ntvnative m=m w=w l=l ad=ad as=as pd=pd ps=ps nrd=nrd nrs=nrs mult=1 |
| .ends |
| |
| .subckt sky130_fd_pr__nfet_05v0_nvt d g s b m=1 w=1 l=1 ad=1 as=1 pd=1 ps=1 nrd=1 nrs=1 |
| m0 d g s b nhvnative m=m w=w l=l ad=ad as=as pd=pd ps=ps nrd=nrd nrs=nrs mult=1 |
| .ends |
| |
| .subckt sky130_fd_pr__esd_nfet_g5v0d10v5 d g s b m=1 w=1 l=1 ad=1 as=1 pd=1 ps=1 nrd=1 nrs=1 |
| m0 d g s b nhvesd m=m w=w l=l ad=ad as=as pd=pd ps=ps nrd=nrd nrs=nrs mult=1 |
| .ends |
| |
| .subckt sky130_fd_pr__pfet_01v8 d g s b m=1 w=1 l=1 ad=1 as=1 pd=1 ps=1 nrd=1 nrs=1 |
| m0 d g s b pshort m=m w=w l=l ad=ad as=as pd=pd ps=ps nrd=nrd nrs=nrs mult=1 |
| .ends |
| .subckt sky130_fd_pr__pfet_01v8_lvt d g s b m=1 w=1 l=1 ad=1 as=1 pd=1 ps=1 nrd=1 nrs=1 |
| m0 d g s b plowvt m=m w=w l=l ad=ad as=as pd=pd ps=ps nrd=nrd nrs=nrs mult=1 |
| .ends |
| .subckt sky130_fd_pr__pfet_g5v0d10v5 d g s b m=1 w=1 l=1 ad=1 as=1 pd=1 ps=1 nrd=1 nrs=1 |
| m0 d g s b phv m=m w=w l=l ad=ad as=as pd=pd ps=ps nrd=nrd nrs=nrs mult=1 |
| .ends |
| .subckt sky130_fd_pr__pfet_01v8_hvt d g s b m=1 w=1 l=1 ad=1 as=1 pd=1 ps=1 nrd=1 nrs=1 |
| m0 d g s b phighvt m=m w=w l=l ad=ad as=as pd=pd ps=ps nrd=nrd nrs=nrs mult=1 |
| .ends |
| |
| * NGSPICE file created from ska_4pfets.ext - technology: sky130A |
| |
| .subckt sky130_fd_pr__pfet_01v8_lvt_EM43P7 |
| X0 a_35_n42# a_n35_n139# a_n93_n42# w_n231_n261# sky130_fd_pr__pfet_01v8_lvt ad=0.122 pd=1.42 as=0.122 ps=1.42 w=0.42 l=0.35 |
| .ends |
| |
| .subckt sky130_fd_pr__pfet_01v8_hvt_M479BZ |
| X0 a_15_n42# a_n33_n139# a_n73_n42# w_n211_n261# sky130_fd_pr__pfet_01v8_hvt ad=0.122 pd=1.42 as=0.122 ps=1.42 w=0.42 l=0.15 |
| .ends |
| |
| .subckt sky130_fd_pr__pfet_01v8_M479BZ |
| X0 a_15_n42# a_n33_n139# a_n73_n42# w_n211_n261# sky130_fd_pr__pfet_01v8 ad=0.122 pd=1.42 as=0.122 ps=1.42 w=0.42 l=0.15 |
| .ends |
| |
| .subckt sky130_fd_pr__pfet_g5v0d10v5_5C2UEH |
| X0 a_50_n42# a_n50_n139# a_n108_n42# w_n308_n339# sky130_fd_pr__pfet_g5v0d10v5 ad=0.122 pd=1.42 as=0.122 ps=1.42 w=0.42 l=0.5 |
| .ends |
| |
| .subckt ska_4pfets |
| Xsky130_fd_pr__pfet_01v8_lvt_EM43P7_0 sky130_fd_pr__pfet_01v8_lvt_EM43P7 |
| Xsky130_fd_pr__pfet_01v8_hvt_M479BZ_0 sky130_fd_pr__pfet_01v8_hvt_M479BZ |
| Xsky130_fd_pr__pfet_01v8_M479BZ_0 sky130_fd_pr__pfet_01v8_M479BZ |
| Xsky130_fd_pr__pfet_g5v0d10v5_5C2UEH_0 sky130_fd_pr__pfet_g5v0d10v5_5C2UEH |
| .ends |
| |