Verilog-A Device Modeling Basics
Semiconductor Device Equations (MOSFET & BJT)¶
The foundation of every device model lies in semiconductor physics. Even compact models used in simulators are derived from physical equations related to carrier transport, charge dynamics, and electrostatic relationships. Verilog-A provides a structured way to translate these equations into simulatable models.
MOSFET Device Equations¶
A MOSFET’s behavior can be divided into cutoff, linear (triode), and saturation regions. These regions are determined by the gate-source voltage and drain-source voltage with respect to the threshold voltage.
Threshold Voltage¶
The threshold voltage defines channel inversion:
$$V_{TH} = V_{FB} + 2\phi_F + \frac{\sqrt{2\varepsilon_s q N_A \cdot 2\phi_F}}{C_{ox}}$$
This expression depends on doping concentration, oxide thickness, and material properties.
Drain Current Equations¶
For long-channel MOSFETs, the classical current equations are:
Cutoff region:
$$I_D = 0$$
Linear region:
$$I_D = \mu C_{ox} \frac{W}{L}[(V_{GS}-V_{TH})V_{DS} - \frac{V_{DS}^2}{2}]$$
Saturation region:
$$I_D = \frac{1}{2}\mu C_{ox} \frac{W}{L}(V_{GS}-V_{TH})^2(1+\lambda V_{DS})$$
In Verilog-A:
if (Vgs <= Vth)
Id = 0;
else if (Vds < (Vgs-Vth))
Id = mu*Cox*(W/L)*((Vgs-Vth)*Vds - 0.5*Vds*Vds);
else
Id = 0.5*mu*Cox*(W/L)*pow(Vgs-Vth,2)*(1 + lambda*Vds);
I(drain, source) <+ Id;
Short-channel effects such as velocity saturation, DIBL, and channel-length modulation is omitted for simplicity.
Using if-else statements introduce discontinuities in the device model which leads to convergence problems in simulations. Smoothening functions (smoothstep(), transition(), tanh()) are used instead.
BJT Device Equations¶
BJT operation is based on minority carrier injection. The Ebers–Moll conduction principle gives:
$$I_C=I_S(e^{V_{BE}/V_T}-1)$$
Verilog-A implementation:
Ic = Is * (exp(Vbe/Vt) - 1);
I(collector, emitter) <+ Ic;
Gummel-Poon enhancements model:
- Base narrowing
- Charge storage dynamics
- High-level injection
Example charge storage implementation:
Qd = tauF * Ic;
I(base, emitter) <+ ddt(Qd);
Compact Modeling Techniques¶
Compact models provide a balance between physical accuracy and simulation efficiency. They are the standard for SPICE simulation because they must remain:
-
Physically meaningful across large operating ranges
-
Continuous and differentiable for solver convergence
-
Lightweight enough to simulate large circuits
Region Blending & Smoothing¶
To avoid convergence failure, compact models replace if-else decisions with smooth transitions:
- smoothstep()
- transition()
- Hyperbolic tangent functions
Example :
Id = mix(Id_lin, Id_sat, smoothstep(Vds - Vdsat));
This provides numeric stability.
Charge-Based Modeling¶
Charge-based modeling is essential for AC and transient accuracy:
I(gate, source) <+ ddt(Qgs);
I(gate, drain) <+ ddt(Qgd);
This ensures correct dynamic behavior instead of approximating capacitances.
Surface-Potential Formulations¶
Modern nodes (<100 nm) require surface-potential-based approaches rather than threshold-voltage-based ones due to:
-
Strong short-channel effects
-
Mobility degradation
-
Quantum confinement
Widely used models include:
| Model | Device Type | Technology |
|---|---|---|
| BSIM4 / BSIM-BULK | MOSFET | Planar CMOS |
| BSIM-CMG | MOSFET | FinFET, GAA |
| HiSIM | MOSFET | Physics-based SP models |
| HICUM | BJT | High-frequency BJTs |
| VBIC | BJT | Analog BJTs |
These models are delivered as Verilog-A source for industry simulators.
Multi-Physics Enhancements¶
Compact models also include:
-
Self-heating ($temperature)
-
Gate leakage
-
RF parasitics
-
Aging and reliability impacts
These ensure realistic behavior under extreme conditions.
Parameterization & Scaling¶
Parameterization allows one Verilog-A model to represent various device geometries and process conditions without rewriting the equations.
Parameter support¶
Example of geometry parameters:
parameter real W = 1u from (0:inf);
parameter real L = 0.1u from (0:inf);
These can be overridden per-device in SPICE netlists.
Scaling with Dimensions¶
Key geometric factors modeled include:
- Resistance scales with L/W
- Threshold voltage shifts with channel length
- Capacitance depends on fringing fields
Example mobility scaling:
mu_eff = mu0 / (1 + theta * (Vgs - Vth));
Process corners¶
Models must represent statistical manufacturing variations:
| Corner | Condition |
|---|---|
| TT | Nominal |
| SS | Slow (lower mobility) |
| FF | Fast (higher mobility) |
| FS/SF | Skewed |
Often controlled by pre-processor
`ifdef FAST
Vth = Vth_fast;
`endif
Temperature dependence¶
Verilog-A supports temperature-dependence modeling:
Vt = k*$temperature/q;
Is = Is0 * pow($temperature/Tnom, 3);
Variability and Monte-carlo¶
Random variation modeling enables yield analysis:
deltaVth = $rdist_normal(seed, 0, sigmaVth);
This allows engineers to evaluate circuit robustness.