Author: Jaden Ingleton
This is the verilog-A code, and circuit-level Cadence Virtuoso schematic file, of the equivalent circuit laser model introduced in this paper:
J. Ingleton, O. Esmaeeli and S. Shekhar, "A Verilog-A Laser Model for Use in Electro-Optical Simulations," in IEEE Journal of Quantum Electronics, doi: 10.1109/JQE.2025.3644246.
It is based on single-mode, 0D (density) rate equations, and is designed to be used with Cadence Virtuoso, for dc and transient simulations.
B_R2,B_S1,B_S2,D1,D2,F_S,F_Z,F_phi,I_C,I_FN,I_FS,chirp,get_N,get_S_and_Pcontain the verilog-A code and schematic symbols of each of the equivalent circuit elementslasercontains the upper level schematic connecting each of the circuit elements together, and a symbol to encapsulate itlaser_tbis a basic testbench for the laser
Care must be taken to ensure that the scaling parameters (V_per_c, V_per_P, V_per_S, V_per_N, n_scale) are sufficiently small so that the simulator does not erroneously categorize the signals as divergent. The default values in the module definitions are a good start. When running a transient simulation, the timestep must be strictly constant, and some convergence aids may need to be enabled. Enabling dc_pivot_check is recommended (Simulation -> Options -> Analog -> Algorithm -> dc_pivot_check -> yes). With the default parameters, simulations of the order of 1 μs long, with a timestep of 10 ps, allow one to see the rich time-domain phenomena of a single-mode laser in the response to an arbitrarily-varying input current.