Verilog-A Physical constants
Introduction¶
Verilog-A is widely used in analog and mixed-signal simulation because it provides an intuitive method to model physical behavior directly using mathematical and semiconductor physics principles. One of the significant advantages of Verilog-A is its access to built-in physical constants, defined in the standard constants.vams include file. These constants form the foundation of most compact and behavioral device models, helping ensure that simulations faithfully reflect real-world behavior.
What Are Verilog-A Physical Constants?¶
Physical constants in Verilog-A represent universal scientific quantities such as:
- Electron charge
- Boltzmann constant
- Permittivity of vacuum
- Speed of light
- Planck’s constant
These constants remain the same across all simulations, ensuring physics-based consistency and reliability in modeling.
They are available through the standard include:
`include "constants.vams"
Most semiconductor foundries require this include in every Verilog-A model used in a Process Design Kit (PDK).
Categories of Verilog-A Physical Constants¶
Verilog-A provides constants across major fields of applied physics:
| Category | Examples | Area of Usage |
|---|---|---|
| Electromagnetic | ε₀, μ₀, c | Capacitance, wave propagation |
| Semiconductor | q, k, Eg | Carrier physics, diode/MOS models |
| Quantum | h, ħ | Tunneling, quantum models |
| Thermal | Boltzmann constant | Temperature-dependent behavior |
| Mathematical | π, e | Universal calculations |
These constants simplify implementation by preventing the need for manual value entry.
Common Constants in constants.vams¶
| Constant | Symbol | Description | Units |
|---|---|---|---|
P_Q | q | Electron charge | Coulombs (C) |
P_K | k | Boltzmann constant | J/K |
P_EPS0 | ε₀ | Vacuum permittivity | F/m |
P_C | c | Speed of light | m/s |
P_H | h | Planck's constant | J·s |
P_HBAR | ħ | Reduced Planck constant | J·s |
P_EV | eV | Electron-volt | J |
M_PI | π | Pi constant | — |
P_G | g | Gravitational acceleration | m/s² |
These names remain consistent across compliant simulators (Spectre, HSPICE, ADS, etc.)
How Constants Support Device Physics¶
Physical models require precise scientific constants for accurate behavior. Examples include:
Diode Current Equation¶
Using Boltzmann constant:
Vt = `P_K * $temperature / `P_Q; // Thermal voltage
Id = Is * (limexp(V(anode,cathode) / Vt) - 1);
This provides temperature-aware current flow behavior.
Gate Oxide Capacitance in MOSFET¶
Cox = `P_EPS0 * Eps_ox / Tox;
Describes the relationship between oxide thickness and gate control strength.
Thermal Noise in a Resistor¶
Applies Johnson-Nyquist noise:
$$i_n^2 = \frac{4kT}{R}$$
Verilog-A implementation:
I(p,n) <+ white_noise(4*`P_K*$temperature/R, "thermal_noise");
Here, P_K ensures correct temperature dependence.
Temperature Relationships¶
Temperature-dependent behavior makes analog simulation representative of real operation. Built-in variable $temperature pairs with constants for:
- Conductivity change
- Threshold voltage variation
- Junction leakage growth
Example:
Eg_T = Eg0 - alpha*(($temperature^2)/(beta + $temperature));
These physics-based effects are critical for CMOS PDK modeling.
Constants for High-Frequency Modeling¶
RF and microwave compact models depend on electromagnetic constants:
P_EPS0— dielectric interactionsP_C— propagation delayP_MU0— inductive energy in magnetic fields
Example: Transmission line characteristic impedance
Zo = sqrt(L / C); // Using physical L, C derived from EPS0 and MU0
Emerging Quantum Modeling in Verilog-A¶
As semiconductor technologies scale below 5 nm, modeling quantum behavior becomes necessary:
- Electron tunneling
- Quantum confinement
- Density-of-states corrections
Planck’s constant and reduced Planck’s constant support such developments:
E_quantum = `P_HBAR * omega;
This enables modern compact models such as BSIM-CMG and HiSIM-HV.
Why Using Built-In Constants Is Better¶
| Manual Entry | Built-In Constants |
|---|---|
| Risk of incorrect values | Always correct |
| Breaks portability | Fully portable across simulators |
| Harder to update | Auto-updated by simulators |
| Reduces accuracy | Guaranteed precision |
Standardized constants support:
- Foundry-compatible PDK models
- Model portability between simulators
- Greater numerical stability
Best Practices for Using Physical Constants¶
| Practice | Benefit |
|---|---|
Always include constants.vams | Ensures correct scientific definitions |
Use $temperature with P_K/P_Q | Accurate thermal modeling |
| Prefer physics-based modeling vs. curve-fitting | Improves silicon predictability |
| Avoid redefining physical constants | Prevents simulation conflicts |
Good practices remove ambiguity and reinforce simulation correctness.