Variable | Type | Description |
---|---|---|
electrical_bandwidth_data |
Matrix
|
N x 2 matrix containing the 3-dB cutoff frequency (Hz) of the electrical modulator as a function of bias voltage (V), where N is the number of bias voltages, and the columns contain:
|
phase_shifter_data |
N x 3 matrix containing the effective index change of the electrical phase shifter as a function of bias voltage (V), where N is the number of bias voltages, and the columns contain:
Note: Here, "change" refers to the difference between the effective index at a bias point and the effective index when there is no bias. |
|
thermal_bandwidth |
Number |
A single value containing the 3-dB cutoff frequency of the thermal phase shifter. |
thermal_tuner_data |
Matrix |
N x 2 matrix containing either the shift in round-trip phase (rad) shift of the ring as a function of input power (W) or the shift in resonance wavelength (m) as a function of input power (W). N is the number of power values measured, and the columns contain:
Note: The type of data used here should correspond to the thermal_tuner_data_format setting in the parameter script file. |
radius |
Number
|
Radius of the ring (m) |
hangover_length |
Waveguide length (m) between the center of the coupling region and the optical ports on either side. Note: It's expected that the ring is centered, meaning that this is ideally half the total length of the straight waveguide. |
|
junction_fill_factor |
Fraction of the ring (m/m) which contains electrical phase shifter waveguide. This is given by \(f = L_{eo}/2\pi r\), where \(L_{eo}\) is the total length of the electro-optic phase shifter within the ring. |
|
thermal_fill_factor |
Fraction of the ring (m/m) for which contains thermal phase shifter waveguide. This is given by \(f = L_{to}/2\pi r\), where \(L_{to}\) is the total length of the thermo-optic phase shifter within the ring. |
|
high_loss_waveguide_fill_factor |
Fraction of the ring (m/m) which contains doped waveguide. This is given by \(f = L_{d}/2\pi r\), where \(L_{d}\) is the total length of the doped region within the ring. |
|
Lc |
Coupling length of the directional coupler |
|
couplercoeff |
Cell |
A cell array containing 2 x 2 matrix of the coupling coefficients (described below) to model the directional couplers for through port and drop port (if present). For a double-bus ring if the the cell array only contains one element, same coupling coefficient will be used for both through and drop port. The power of light coupled from the waveguide to the ring is given by the following: $$couplercoeff \equiv \begin{bmatrix} CC_{11} & CC_{12} \\ CC_{21} & CC_{22} \end{bmatrix}$$ $$k_0 = C_{11} + \lambda C_{12}$$ $$k_L = C_{21} + \lambda C_{22}$$ $$P = \|\imath \cdot sin(k_0 + L_c * k_L)\|^2$$ The units for the couplercoeff matrix are given by: $$\begin{bmatrix} rad & rad/m \\ rad/m & rad/m^2 \end{bmatrix}$$ Notes:
|
coupler_lambda_min |
Number
|
Minimum wavelength (m) for which couplercoeff is valid. |
coupler_lambda_max |
Maximum wavelength (m) for which couplercoeff is valid. |
|
wavelength_data |
Center wavelength (m) of the band for which the mode properties below are provided. |
|
temperature_data |
Temperature (K) for which the mode properties below are provided. |
|
neff_all |
Matrix |
1 x 3 matrix containing the unbiased effective index of the different waveguide segments, in the following order: undoped_ring_waveguide, doped_ring_waveguide, hangover_waveguide |
dneff_dT |
Number |
Effective index temperature sensitivity (1/K) for all waveguide types. Note: Thermal effects can be neglected by setting this to 0. |
ng_all |
Matrix |
1 x 3 matrix containing the group index of the different waveguide segments, in the following order: undoped_ring_waveguide, doped_ring_waveguide, hangover_waveguide |
loss_all |
|
1 x 3 matrix containing the loss (dB/m) of the different waveguide segments, in the following order: undoped_ring_waveguide, doped_ring_waveguide, hangover_waveguide Note: Loss should be provided as a positive number. |
Electrical Behavior of thermal tuner
The electrical behavior of the thermal tuner can either be modeled linearly via a resistance value, or non-linearly by providing an I-V characteristic. The IV data are linearly interpolated to obtain the electrical behavior. Either one of the following values must be provided to enable modelling of electrical behavior.
Note: If IV data is provided, it will take preference over R_thermal_tuner data
Variable | Type | Description |
---|---|---|
IV |
Matrix |
C x 2 matrix containing the current (Amp) versus bias voltage (V) characteristic of the heater for the default phase shifter length, where C is the number of bias points, and the columns contain:
Notes:
|
R_thermal_tuner |
Number |
Resistance (\(\Omega)\) of the heater for the default length of the phase shifter. Note: Using a linear model is suitable for resistive heaters, but for voltage-dependent models an IV characteristic should be used instead. |
RC Electrical Equivalent Circuit data (optional)
The data in the table below is required by CML Compiler to create an electrical equivalent circuit for accurate electro-optic simulations. For more information on the electrical equivalent circuit, see ring_modulator - CML Compiler Model. If RC parameters are not provided, the model sets Rp, Cp, and Rj to 0, 0, 50 ohms, respectively, and back-calculates Cj is based on “electrical_bandwidth_data”.
Variable |
Type |
Description |
Rj |
Number |
Series resistance (Ω) of the electrical phase shifter. |
Cj |
Number/Matrix |
Junction capacitance (F) of the electrical phase shifter, provided in either one of the following forms:
|
Rp |
Number |
Parasitic contact resistance (Ω) of the electrical phase shifter |
Cp |
Number |
Parasitic capacitance (F) from the metal pads |
Model Tuning & QA Data
This data is required for CML Compiler to run quality-assurance tests on the final model. It is also optionally used by CML Compiler to fine-tune the internal model to provide the expected behavior. For more information, see Tuning Active Compact Models .
Variable | Type | Description |
---|---|---|
resonant_wavelength |
Struct
|
The resonant wavelength (m) of the ring modulator at a temperature of 300K with no applied electrical or thermal phase shift, provided as a struct. The struct has the following fields: default_value: The nominal resonant wavelength in meter. visible_to_user: Boolean flag to turn this FOM into a visible parameter for the CML user. min: If the FOM is used as a parameter then the minimum allowed value in meter. max: If the FOM is used as a parameter then the maximum allowed value in meter. Note: Fields 'min' and 'max' are optional and must be provided only when 'visible_to_user' is set to 1 (true). Note: If more than a single value needs to be provided for this FOM (in a lookup table format), see FOM as a lookup table section for more information about additional data requirements. |
FSR |
The free spectral range (m) of the ring modulator provided as a struct. The struct has the following fields: default_value: The nominal free spectral range in meter. visible_to_user: Boolean flag to turn this FOM into a visible parameter for the CML user. min: If the FOM is used as a parameter then the minimum allowed value in meter. max: If the FOM is used as a parameter then the maximum allowed value in meter. Note: Fields 'min' and 'max' are optional and must be provided only when 'visible_to_user' is set to 1 (true). Note: If more than a single value needs to be provided for this FOM (in a lookup table format), see FOM as a lookup table section for more information about additional data requirements. |
|
IL |
The overall insertion loss (dB) of the ring modulator at through port at resonance provided as a struct. The struct has the following fields: default_value: The nominal insertion loss in dB. visible_to_user: Boolean flag to turn this FOM into a visible parameter for the CML user. min: If the FOM is used as a parameter then the minimum allowed value in dB. max: If the FOM is used as a parameter then the maximum allowed value in dB. Note: Fields 'min' and 'max' are optional and must be provided only when 'visible_to_user' is set to 1 (true). Note: If more than a single value needs to be provided for this FOM (in a lookup table format), see FOM as a lookup table section for more information about additional data requirements. |
|
IL_drop |
The overall insertion loss (dB) of the ring modulator at drop port at resonance provided as a struct. The struct has the following fields: default_value: The nominal insertion loss in dB. visible_to_user: Boolean flag to turn this FOM into a visible parameter for the CML user. min: If the FOM is used as a parameter then the minimum allowed value in dB. max: If the FOM is used as a parameter then the maximum allowed value in dB. Note: Fields 'min' and 'max' are optional and must be provided only when 'visible_to_user' is set to 1 (true). Note: This value is required for a double-bus ring modulator. Note: If more than a single value needs to be provided for this FOM (in a lookup table format), see FOM as a lookup table section for more information about additional data requirements. |
|
ER |
The extinction ratio (dB) of the ring modulator at resonance provided as a struct. The struct has the following fields: default_value: The nominal extinction ratio in dB. visible_to_user: Boolean flag to turn this FOM into a visible parameter for the CML user. min: If the FOM is used as a parameter then the minimum allowed value in dB. max: If the FOM is used as a parameter then the maximum allowed value in dB. Note: Fields 'min' and 'max' are optional and must be provided only when 'visible_to_user' is set to 1 (true). Note: IL and ER cannot both be tuned. If IL is present, this value will be ignored. Note: If more than a single value needs to be provided for this FOM (in a lookup table format), see FOM as a lookup table section for more information about additional data requirements. |
|
Q |
The quality factor (m/m) of the ring modulator near resonance provided as a struct. The struct has the following fields: default_value: The nominal quality factor. visible_to_user: Boolean flag to turn this FOM into a visible parameter for the CML user. min: If the FOM is used as a parameter then the minimum allowed value in m/m. max: If the FOM is used as a parameter then the maximum allowed value in m/m. Note: Fields 'min' and 'max' are optional and must be provided only when 'visible_to_user' is set to 1 (true). Note: If more than a single value needs to be provided for this FOM (in a lookup table format), see FOM as a lookup table section for more information about additional data requirements. |
|
mod_eff |
Overall electro-optic modulation efficiency (m/V) of the ring modulator within the range described by mod_eff_voltage1 and mod_eff_voltage2 provided as a struct. The struct has the following fields: default_value: The nominal modulation efficiency in m/V. visible_to_user: Boolean flag to turn this FOM into a visible parameter for the CML user. min: If the FOM is used as a parameter then the minimum allowed value in m/V. max: If the FOM is used as a parameter then the maximum allowed value in m/V. Note: Fields 'min' and 'max' are optional and must be provided only when 'visible_to_user' is set to 1 (true). FOM as a lookup table (optional): data: This is an optional field and can be used for two purposes:
Note: The FOM lookup table and bias dependent modulation efficiency feature is currently not available in Verilog-A models Note: The modulation efficiency can’t be bias and FOM dependent at the same time. Only one dependency is supported. |
|
mod_eff_voltage1 |
Number
|
Lower limit of the voltage (V) range over which mod_eff has been measured. Note: Electrical phase shifter voltage is taken as V_anode-V_cathode Note: If mod_eff was provided as a matrix (voltage dependent), this value will be ignored by the model and the first voltage value provided in the matrix will be considered as the voltage1 reference value. |
mod_eff_voltage2 |
Upper limit of the voltage (V) range over which mod_eff has been measured. Note: Electrical phase shifter voltage is taken as V_anode-V_cathode Note: If mod_eff was provided as a matrix (voltage dependent), this value will be ignored by the model and the voltage values provided in the matrix will be considered. However, this value will still be used by the QA test to test the modulation efficiency at this voltage. |
|
mod_eff_thermal |
Struct |
Overall thermo-optic modulation efficiency (m/W) of the ring modulator for input power between Ppi_thermal_power1 and Ppi_thermal_power2 provided as a struct. The struct has the following fields: default_value: The nominal thermo-optic modulation efficiency in units of m/W. visible_to_user: Boolean flag to turn this FOM into a visible parameter for the CML user. min: If the FOM is used as a parameter then the minimum allowed value in m/W. max: If the FOM is used as a parameter then the maximum allowed value in m/W. Note: Fields 'min' and 'max' are optional and must be provided only when 'visible_to_user' is set to 1 (true). |
mod_eff_thermal_power1 |
Number
|
Lower limit of the power (W) range over which mod_eff_thermal has been measured. |
mod_eff_thermal_power2 |
Upper limit of the power (W) range over which mod_eff_thermal has been measured. Note: mod_eff_thermal_power1 and mod_eff_thermal_power2 values must be within the range of I*V values provided. |
FOM as a lookup table (optional):
data: This is an optional field and should be included only if the FOM data is in the form of a lookup table (more than a single value needs to be provided). This field is a Nx1 matrix where N is the number of FOM data points.
order: This field should be included only if the FOM data is in the form of a lookup table (the ‘data’ field is provided). The value should be a string with values of either “master” or “slave”. A “master” order for an FOM means that the value for this FOM will determine what the values for other “slave” FOMs will be according to the lookup table. A “slave” order means that the FOM value is locked to it’s master FOM value based on the lookup table and can’t be adjusted independently.
herd: This field should be included only if the FOM data is in the form of a lookup table (the ‘data’ field is provided). The value should be a string with any desired value. FOMs with same herd values belong to the same group and the “slave” FOMs of the group are controlled by the “master” of the same group.
firm: This field should be included only if the FOM data is in the form of a lookup table (the ‘data’ field is provided). The value should be Boolean (true/false). By setting this field to “true”, the model tuning will try its best to keep the FOM value as close as possible to the values provided in the lookup table while ensuring the model stays physical. Setting it to “false” will give flexibility to the tuning scheme to modify the FOM value in an effort to keep the model physical and also keep the other FOMs as close as possible to their original values.
Note: The FOM lookup table feature is currently not available in Verilog-A models.
Note: Only one “master” FOM is allowed to be assigned to each herd (group) of FOMs.
Note: The number of data points in the lookup table for the “slaves” of each herd should match their “master”.