π BSIM4 Analyzer Reliability
Links
| Language | GitHub Pages π | GitHub π» |
|---|---|---|
| πΊπΈ English |
Unified NMOS HCI / PMOS NBTI Reliability Analysis Framework
(NGSPICE + Python)
π Overview
BSIM4 Analyzer Reliability is an integrated framework for analyzing semiconductor aging mechanisms:
- NMOS Hot-Carrier Injection (HCI)
- PMOS Negative Bias Temperature Instability (NBTI)
The framework combines:
- SPICE-based measurement at t = 0
- Python-based degradation models for t > 0
to produce a hybrid, reproducible reliability analysis workflow.
Key Features
- β Automated VGβID sweep & DC current extraction
- β Computes four degradation quantities:
ΞVtg, ΞVtc, ΞIdlin, ΞIdsat - β Full support for both NMOS HCI and PMOS NBTI
- β Structured directory for reproducible results
- β Suitable for academic research & corporate reliability evaluation
- β Parameterized degradation models for extensible aging studies
π Directory Structure
bsim4_analyzer_reliability/
βββ models/
β βββ nmos130.sp
β βββ pmos130.sp
β
βββ templates/
β βββ template_hci_nmos.cir
β βββ template_nmos_vgid.cir
β βββ template_nbti_pmos.cir
β βββ template_pmos_vgid.cir
β
βββ run/
β βββ run_hci_nmos.py
β βββ run_nbti_pmos.py
β
βββ plot/
β βββ plot_hci_nmos.py
β βββ plot_nbti_pmos.py
β
βββ results/
βββ 90nm/
βββ 130nm/
βββ hci_nmos/
βββ hci_nmos_vgid/
βββ nbti_pmos/
βββ nbti_pmos_vgid/
π§ Installation & Requirements
β Python Packages
numpy
pandas
matplotlib
β NGSPICE
- Verified with ngspice 33β42
- Ensure
ngspiceis available in your system PATH
π¬ Reliability Analysis Workflow
The same conceptual flow applies to both NMOS and PMOS.
t = 0
ββ VGβID sweep
β ββ extract Vtg0 (gmmax method)
β ββ extract Vtc0 (constant-current method)
ββ DC extraction
β ββ Idlin0, Idsat0
t > 0 (Python degradation model)
ββ ΞVth(t)
ββ ΞId_rel(t)
ββ reconstruct Vtg1, Vtc1, Idlin1, Idsat1
β Save CSV results
β Generate degradation plots
β VGβID overlay plots
π₯ NMOS HCI (Hot-Carrier Injection)
βΆ Stress Bias Conditions
| Node | Voltage |
|--------|--------------|
| Drain | High Vd (e.g., 1.2 V) |
| Gate | Stress voltage |
| Source | 0 V |
| Bulk | 0 V |
βΆ Extracted Quantities
- ΞIdlin
- ΞIdsat
- ΞVtg (gmmax-based Vth shift)
- ΞVtc (constant-current Vth shift)
βΆ Run HCI Simulation
python run/run_hci_nmos.py
π¦ PMOS NBTI (Negative BTI)
βΆ Stress Bias Conditions
| Node | Voltage |
|--------|---------|
| Source | +1.2 V |
| Bulk | +1.2 V |
| Drain | 0 V |
| Gate | 0 β β1.2 V |
βΆ VGβID Output Specification (4 columns, fixed)
0: Vg
1: Vs
2: Vgs = V(g) β V(s)
3: Id = abs(i(Vd))
Python side:
Vgs = arr[:, 2]
Id = arr[:, 3]
βΆ NBTI Degradation Model (PMOS)
β Threshold Voltage Shift
dVth = A_vth * (t ** p_vth)
Vtg1 = Vtg0 - dVth
Vtc1 = Vtc0 - dVth
β Drive Current Degradation
dIdrel = -A_id * (t ** p_id)
Idlin1 = Idlin0 * (1 + dIdrel)
Idsat1 = Idsat0 * (1 + dIdrel)
βΆ Run NBTI Simulation
python run/run_nbti_pmos.py
π Output Files
The framework creates structured result sets for each node (90nm / 130nm).
β NMOS HCI
results/<node>/hci_nmos/
dIdlin_vs_time.png
dIdsat_vs_time.png
dVtg_vs_time.png
dVtc_vs_time.png
hci_summary.csv
β PMOS NBTI
results/<node>/nbti_pmos/
dIdlin_vs_time.png
dIdsat_vs_time.png
dVtg_vs_time.png
dVtc_vs_time.png
nbti_pmos_summary.csv
β VGβID Overlays
<device>_vgid/
vgid_all_linear.png
vgid_all_log.png
π§ Internal Degradation Models
β NMOS HCI
ΞVth = A_vth * t^p
ΞId = -A_id * t^p
β PMOS NBTI
Vtg(t), Vtc(t) = Vth0 β ΞVth
Id(t) = Id(0) * (1 + ΞId)
π§© Extensible Architecture
Easily extendable to:
- NMOS PBTI (Positive BTI)
- Arrhenius temperature acceleration
- Duty-cycle / AC stress
- BSIM4 parameter aging injection
- Packaging as a Python library:
pip install aging-model
π Reliability Analysis β Reference Figures
β NMOS HCI : VgβId Degradation (Linear Scale)

β NMOS HCI : ΞVtg vs Stress Time (gmmax Method)

β PMOS NBTI : VgβId Degradation (Linear Scale)

β PMOS NBTI : ΞVtg vs Stress Time

π Hybrid License
| Item | License | Description |
|---|---|---|
| Source Code | MIT License | Free to use, modify, redistribute |
| Text Materials | CC BY 4.0 | Attribution required |
| Figures / Plots / Generated Data | CC BY-NC 4.0 | Non-commercial use only |
| External References | Original license applies | Cite properly |
π€ Author
| π Item | Details |
|---|---|
| Name | Shinichi Samizo |
| GitHub |