hubEPDA tool

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.

✓ Verilog-A 2.4 source provided✓ Spectre / HSPICE / Eldo testbenches in B8 pack✓ Python reference solver: 25 pytest contracts PASS
Customer-side cert in your licensed SPICE simulator is the next step — same workflow-lock posture as our Cadence Sigrity, Synopsys SiP, Keysight ADS, Siemens HyperLynx, and Ansys HFSS exporters.
What ships

SPICE-callable coupled multiphysics primitive

memory

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.

science

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.

flag

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.

verified

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.

Coupled physics

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.

Materials

4 calibratable materials, single source of truth

Materialn_0dn/dT (1/K)p11p12α (dB/cm)
Si (default)3.4761.86e-4-0.0940.0170.20
SiN1.9974.5e-50.200.270.10
Ba-BSA glass1.5201.1e-50.1210.2700.05
SiO21.4441.0e-50.1210.2700.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/.

Request the eval pack →