Skip to content

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 interactions
  • P_C — propagation delay
  • P_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.