Verilog-A glass-waveguide primitive. SPICE-callable coupled multiphysics.
A single Verilog-A 2.4 compact model that exposes ChipletOS’s coupled thermo-optic + photo-elastic + propagation physics as a callable primitive in Cadence Spectre, Synopsys HSPICE, and Mentor Eldo. Drops into any customer testbench.
SPICE-callable coupled multiphysics primitive
glass_waveguide.va
Verilog-A 2.4 compact model. 4 optical-field ports (Cartesian-decomposed E_real / E_imag — avoids phase wrap in Newton-Raphson) + 2 multiphysics ports (P_thermal / S_strain). Calibratable per-material n_0, dn_dT, p11, p12, alpha.
glass_waveguide_reference.py
Pure-Python reference solver implementing identical math. Used as ground truth — Spectre / HSPICE / Eldo output must match to 1e-4 across 100 sweep points. Single-source-of-truth material constants in constants.py.
3 vendor testbenches
Drop-in testbenches for Cadence Spectre (.scs), Synopsys HSPICE (.sp), Mentor Eldo (.cir). Sweeps T ∈ [25, 100] °C × ε ∈ [0, 1e-3] on a 100 µm Si waveguide at 1550 nm.
B8 vendor-eval pack
Operator-runnable cert procedure for each licensed SPICE simulator. Customer-side native validation cleanly deferred to your licensed Spectre / HSPICE / Eldo instance — same workflow-lock posture as the 5 cross-vendor exporters.
Thermo-optic + photo-elastic + propagation in one primitive
// Thermo-optic shift n_eff_T = n_0 + dn_dT * (V(P_thermal) - 25 °C) // Photo-elastic shift (scalar TE-axis reduction) delta_n_elastic = -n_eff_T^3 / 2 * (p11 * V(S_strain) + p12 * 0.0) // Coupled effective index n_eff = n_eff_T + delta_n_elastic // Propagation beta = 2π * n_eff / (lambda_nm * 1e-9) phase = beta * (length_um * 1e-6) attenuation = exp(-alpha_db_per_cm * length_cm * ln(10)/20) // Cartesian rotation-matrix propagation (avoids phase wrap) V(E_real_out) <+ attenuation * (cos(phase)*V(E_real_in) - sin(phase)*V(E_imag_in)) V(E_imag_out) <+ attenuation * (sin(phase)*V(E_real_in) + cos(phase)*V(E_imag_in))
The (E_real, E_imag) voltage-node decomposition is the key innovation — it lets a SPICE Newton-Raphson solver handle complex optical fields without phase-wrapping pathology. Patent-pending under our Wave 2 portfolio.
4 calibratable materials, single source of truth
| Material | n_0 | dn/dT (1/K) | p11 | p12 | α (dB/cm) |
|---|---|---|---|---|---|
| Si (default) | 3.476 | 1.86e-4 | -0.094 | 0.017 | 0.20 |
| SiN | 1.997 | 4.5e-5 | 0.20 | 0.27 | 0.10 |
| Ba-BSA glass | 1.520 | 1.1e-5 | 0.121 | 0.270 | 0.05 |
| SiO2 | 1.444 | 1.0e-5 | 0.121 | 0.270 | 0.02 |
Constants live in photonics/spice_models/constants.py. An autogenerated Verilog-A header (constants.vams) keeps the SPICE side in lock-step with the Python reference. Ba-BSA glass values are reference-grade pending the wet-lab EOTV characterization campaign.
Run it in your SPICE solver.
The Verilog-A model, autogenerated material header, 3 vendor testbenches, and Python reference solver are all available in the operator-handoff pack at deliverables/OPERATOR_HANDOFF/B8_VERILOG_A_VENDOR_EVAL_PACK/.