Complete PTM (Predictive Technology Model) MOSFET model library from mec.umn.edu/ptm, covering all nodes: bulk conventional 180/130/90/65nm, bulk HP/LP 45/32/22nm (BSIM4), and PTM-MG multi-gate FinFET 7/10/14/16/20nm (BSIM-CMG, HP + LSTP). No manual downloads required after installing this skill. Independent of the gmoverid skill — can be used directly in any ngspice/HSPICE project.
Important — do not modify skill files during normal use. When using models, copy the required
.libfiles into the user's project directory (outside.claude/). Do not modify or delete files inside the skill'sassets/models/directory. Only update the skill's internal files when the user explicitly asks to refresh the model library.
Source: All model files are from PTM — Arizona State University (ptm.asu.edu), free for academic research.
Citations:
assets/models/
├── bulk_cmos/ — Bulk CMOS (BSIM3v3 / BSIM4)
│ ├── ptm180.lib — 180nm conventional
│ ├── ptm130.lib — 130nm conventional
│ ├── ptm90.lib — 90nm conventional
│ ├── ptm65.lib — 65nm conventional
│ ├── ptm45hp.lib — 45nm HP
│ ├── ptm45lp.lib — 45nm LP
│ ├── ptm32hp.lib — 32nm HP
│ ├── ptm32lp.lib — 32nm LP
│ ├── ptm22hp.lib — 22nm HP
│ └── ptm22lp.lib — 22nm LP
└── finfet/
├── models — PTM-MG library entry point (.LIB ptm{n}hp / ptm{n}lstp)
├── param.inc — Shared parameters (fin_height/fin_width/lg/vdd, per node)
├── hp/ — HP nodes: {7,10,14,16,20}nfet.pm / pfet.pm
└── lstp/ — LSTP nodes: {7,10,14,16,20}nfet.pm / pfet.pm
| File | Node | VDD | Model names |
|---|---|---|---|
bulk_cmos/ptm180.lib | 180nm | 1.8V | NMOS / PMOS |
bulk_cmos/ptm130.lib | 130nm | 1.3V | nmos / pmos |
bulk_cmos/ptm90.lib | 90nm | 1.2V | nmos / pmos |
bulk_cmos/ptm65.lib | 65nm | 1.1V | nmos / pmos |
| File | Node | Type | VDD | Model names |
|---|---|---|---|---|
bulk_cmos/ptm45hp.lib | 45nm | HP | 1.0V | nmos / pmos |
bulk_cmos/ptm45lp.lib | 45nm | LP | 1.1V | nmos / pmos |
bulk_cmos/ptm32hp.lib | 32nm | HP | 0.9V | nmos / pmos |
bulk_cmos/ptm32lp.lib | 32nm | LP | 1.0V | nmos / pmos |
bulk_cmos/ptm22hp.lib | 22nm | HP | 0.8V | nmos / pmos |
bulk_cmos/ptm22lp.lib | 22nm | LP | 1.0V | nmos / pmos |
Entry file: finfet/models — select node and type via .lib section tag:
| Tag | Node | Type | VDD |
|---|---|---|---|
ptm20hp | 20nm | HP | 0.9V |
ptm16hp | 16nm | HP | 0.85V |
ptm14hp | 14nm | HP | 0.8V |
ptm10hp | 10nm | HP | 0.75V |
ptm7hp | 7nm | HP | 0.7V |
ptm20lstp | 20nm | LSTP | 0.9V |
ptm16lstp | 16nm | LSTP | 0.85V |
ptm14lstp | 14nm | LSTP | 0.8V |
ptm10lstp | 10nm | LSTP | 0.75V |
ptm7lstp | 7nm | LSTP | 0.7V |
FinFET model names are nfet / pfet (subckt-wrapped); use NFIN to set the number of fins.
* Load 45nm HP (contains both nmos and pmos models)
.include "models/bulk_cmos/ptm45hp.lib"
* Instantiate NMOS
M1 drain gate source bulk nmos W=1u L=45n
* Load 7nm HP FinFET
.lib "models/finfet/models" ptm7hp
* PTM-MG model names are nfet / pfet
* Use NFIN (number of fins) instead of W
M1 drain gate source bulk nfet NFIN=1 L=7n
| Model | ngspice LEVEL | Applicable nodes | Notes |
|---|---|---|---|
| BSIM3v3 | 8 | 180nm–250nm | Mature bulk CMOS |
| BSIM4 | 54 | 65nm–22nm | Bulk HP/LP |
| BSIM-CMG | 72 | 7nm–20nm | FinFET / multi-gate |
| Parameter | Meaning | Typical range |
|---|---|---|
vth0 | Nominal threshold voltage [V] | NMOS: 0.3–0.5; PMOS: −0.5 to −0.3 |
toxe | Equivalent gate-oxide thickness [m] | 1–4 nm (deep submicron) |
u0 | Low-field mobility [m²/Vs] | NMOS: 0.03–0.05; PMOS: 0.01–0.02 |
vsat | Saturation velocity [m/s] | 1e5–2.5e5 |
Full parameter table in references/model_params.md.
If you have your own .lib file (foundry PDK or measured):
models/ directory..model name inside the file (e.g. .model mynmos NMOS level=54).M1 d g s b mynmos W=... L=...vth0, tox, etc.