A fixed, single-bus or double-bus parameterized ring modulator model.
Note: You are now visiting legacy data format page (2022 R2.4 and older). For current data format page (2023 R1.1 onwards) please visit following link:
Ring Modulator Parameterized – Lumfoundry Template
Template: rm_db_pcell_strip_te_c
Photonic Model: ring_modulator_parameterized
Quality Assurance Test: ring_modulator_parameterized QA
Parameters:radius, coupling_length (Lc), coupling_gap (through and drop), junction_fill_factor , high_loss_waveguide_fill_factor, and thermal_fill_factor.
Virtuoso/Verilog-A Support: No
Application Gallery Example: Ring Modulator
Required Data
Parameter Script File
[[snippet||7234166440339]]
QA Variables
[[snippet||10888361944595]]
Data File
Variable | Type | Description |
---|---|---|
radius |
Struct |
The radius (m) parameter of the ring modulator provided as a struct. The struct has the following fields: name: Name of the user-facing parameter. default_value: The nominal radius in meter. data: Radius (m) values as which other model data and/or FOMs are given. Provided as a Matrix of size Rx1. visible_to_user: Boolean flag to enable/disable this parameter in the model. annotate: Boolean flag to annotate the parameter value. min: The minimum allowed value in meter. max: The maximum allowed value in meter.
|
Lc |
Struct |
The coupling length (m) parameter of the ring modulator provided as a struct. The struct has the following fields: default_value: The nominal coupling length in meter. name: Name of the user-facing parameter. data: Coupling length (m) values at which other model data and/or FOMs are given. Provided as a Matrix of size Lx1. visible_to_user: Boolean flag to enable/disable this parameter in the model. annotate: Boolean flag to annotate the parameter value. min: The minimum allowed value in meter. max: The maximum allowed value in meter.
|
coupling_gap_through |
Struct |
The through port coupling gap (m) parameter of the ring modulator provided as a struct. The struct has the following fields: name: Name of the user-facing parameter. default_value: The nominal coupling gap of the coupler on bus 1 (in and through port) in meter. data: Coupling gap (m) values at which other model data and/or FOMs are given. Provided as a Matrix of size G1x1. visible_to_user: Boolean flag to enable/disable this parameter in the model. annotate: Boolean flag to annotate the parameter value. min: The minimum allowed value in meter. max: The maximum allowed value in meter. |
coupling_gap_drop |
Struct |
The drop port coupling gap (m) parameter of the ring modulator provided as a struct. The struct has the following fields: default_value: The nominal coupling gap of the coupler on bus 2 (add and drop port) in meter. name: Name of the user-facing parameter. data: Coupling gap (m) values at which other model data and/or FOMs are given. Provided as a Matrix of size G2x1. visible_to_user: Boolean flag to enable/disable this parameter in the model. annotate: Boolean flag to annotate the parameter value. min: The minimum allowed value in meter. max: The maximum allowed value in meter. |
junction_fill_factor |
Struct |
Fraction of the ring (m/m) which contains electrical phase shifter waveguide given by \(f = L_{eo}/2\pi r\), where \(L_{eo}\) is the total length of the electro-optic phase shifter within the ring. Provided as a struct with the following fields: name: Name of the user-facing parameter. default_value: The nominal fill factor. visible_to_user: Boolean flag to enable/disable this parameter in the model. annotate: Boolean flag to annotate the parameter value. min: The minimum allowed value in meter. max: The maximum allowed value in meter. |
thermal_fill_factor |
Struct |
Fraction of the ring (m/m) for which contains thermal phase shifter waveguidegiven by \(f = L_{to}/2\pi r\), where \(L_{to}\) is the total length of the thermo-optic phase shifter within the ring. Provided as a struct with the following fields: name: Name of the user-facing parameter. default_value: The nominal fill factor. visible_to_user: Boolean flag to enable/disable this parameter in the model. annotate: Boolean flag to annotate the parameter value. min: The minimum allowed value in meter. max: The maximum allowed value in meter. |
high_loss_waveguide_fill_factor |
Struct |
Fraction of the ring (m/m) which contains doped waveguide given by \(f = L_{d}/2\pi r\), where \(L_{d}\) is the total length of the doped region within the ring. Provided as a struct with the following fields: name: Name of the user-facing parameter. default_value: The nominal fill factor. visible_to_user: Boolean flag to enable/disable this parameter in the model. annotate: Boolean flag to annotate the parameter value. min: The minimum allowed value in meter. max: The maximum allowed value in meter. |
electrical_bandwidth_data |
Matrix |
R x L x N x 2 matrix containing the 3-dB cutoff frequency (Hz) of the electrical modulator for different radius and coupling length values as a function of bias voltage (V), where R is the number of radius values, L is the number of coupling length values, and N is the number of bias voltages. The two columns of the last dimension contain:
|
phase_shifter_data |
Matrix |
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_data |
Matrix |
R x L matrix containing the 3-dB cutoff frequency (Hz) of the thermal tuner where R is the number of radius values and L is the number of coupling length values. |
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. |
couplercoeff |
Matrix |
R x G x 2 x 2 matrix of the coupling coefficients (described below) to model the directional couplers for through port and drop port (if present). Here, R is the number of radius values and G is the number of coupling gap values. 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}$$ Note: To model a coupler with no wavelength dependence, set \(CC_{12}=CC_{22}=0\). |
coupler_lambda_min |
Number |
Minimum wavelength (m) for which couplercoeff is valid. |
coupler_lambda_max |
Number |
Maximum wavelength (m) for which couplercoeff is valid. |
wavelength_data |
Number |
Center wavelength (m) of the band for which the mode properties below are provided. |
temperature_data |
Number |
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 |
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 |
Matrix |
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. |
dneff_dT |
Number |
Effective index temperature sensitivity (1/K) for all waveguide types. Note: Thermal effects can be neglected by setting this to 0 |
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 |
R x L x V x 2 matrix containing the current (Amp) versus bias voltage (Volt) characteristic of the heater for the default phase shifter length, where R is the number of radius values, L is the number of coupling length values, and V is the number of bias points. The two columns of the last dimension contain:
Notes:
|
R_thermal_tuner |
Matrix |
R x L matrix containing the resistance (Ω) of the heater for the default length of the thermal tuner where R is the number of radius values and L is the number of coupling length values. Note: Using a linear model is suitable for resistive heaters, but for voltage-dependent models an IV characteristic should be used instead. |
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. data: R x L x G1 X G2 matrix containing the resonant wavelength (m) where R is the number of radius values, L is the number of coupling length values, G1 is the number of coupling gap values for the coupler on through port (bus 1) and G2 is the coupling gap values for the coupler of the drop port visible_to_user: Boolean flag to enable/disable the visibility to end user. min: The minimum allowed value in meter. max: The maximum allowed value in meter. Note: For a single bus ring, the last dimension is absent, and the matrix size of the data becomes R x L x G1. |
FSR |
Struct |
The free spectral range (m) of the ring modulator provided as a struct. The struct has the following fields: default_value: The nominal FSR in meter. data: R x L matrix containing the FSR (m) where R is the number of radius values and L is the number of coupling length values. visible_to_user: Boolean flag to enable/disable the visibility to end user. min: The minimum allowed value in meter. max: The maximum allowed value in meter. |
IL |
Struct |
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 lossin dB. data: R x L x G1 x G2 matrix containing the IL (dB) where R is the number of radius values, L is the number of coupling length values, G1 is the number of coupling gap values for the coupler on through port (bus 1) and G2 is the coupling gap values for the coupler of the drop port visible_to_user: Boolean flag to enable/disable the visibility to end user. min: The minimum allowed value in dB. max: The maximum allowed value in dB. Note: For a single bus ring, the last dimension is absent, and the matrix size of the data becomes R x L x G1. |
IL_drop |
Struct |
The 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. data: R x L x G1 x G2 matrix containing the insertion loss (dB) where R is the number of radius values, L is the number of coupling length values, G1 is the number of coupling gap values for the coupler on through port (bus 1) and G2 is the coupling gap values for the coupler of the drop port visible_to_user: Boolean flag to enable/disable the visibility to end user. min: The minimum allowed value in dB. max: The maximum allowed value in dB. Note: For a single bus ring, the last dimension is absent, and the matrix size of the data becomes R x L x G1. |
ER |
Struct |
The extinction ratio (dB) of the ring modulator provided as a struct. The struct has the following fields: default_value: The nominal extinction ratio in dB. data: R x L x G1 x G2 matrix containing the extinction ratio (dB) where R is the number of radius values, L is the number of coupling length values, G1 is the number of coupling gap values for the coupler on through port (bus 1) and G2 is the coupling gap values for the coupler of the drop port visible_to_user: Boolean flag to enable/disable the visibility to end user. min: The minimum allowed value in dB. max: The maximum allowed value in dB. Note: For a single bus ring, the last dimension is absent, and the matrix size of the data becomes R x L x G1. |
Q |
Struct |
The quality factor (m/m) of the ring modulator provided as a struct. The struct has the following fields: default_value: The nominal quality factor. data: R x L x G1 x G2 matrix containing the quality factor where R is the number of radius values, L is the number of coupling length values, G1 is the number of coupling gap values for the coupler on through port (bus 1) and G2 is the coupling gap values for the coupler of the drop port visible_to_user: Boolean flag to enable/disable the visibility to end user. min: The minimum allowed value in dB. max: The maximum allowed value in dB. Note: For a single bus ring, the last dimension is absent, and the matrix size of the data becomes R x L x G1. |
mod_eff |
Struct |
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 efficiencyin m/V. data: R x L matrix containing the modulation efficiency (m/V) where R is the number of radius values and L is the number of coupling length values. visible_to_user: Boolean flag to enable/disable the visibility to end user. min: The minimum allowed value in meter. max: The maximum allowed value in meter. |
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 |
mod_eff_voltage2 |
Number |
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 |
mod_eff_thermal |
Struct |
Overall thermo-optic modulation efficiency (m/V) of the ring modulator within the range described by mod_eff_thermal_power1 and mod_eff_thermal_power2 provided as a struct. The struct has the following fields: default_value: The nominal thermal modulation efficiency in m/V. data: R x L matrix containing the thermal modulation efficiency (m/V) where R is the number of radius values and L is the number of coupling length values. visible_to_user: Boolean flag to enable/disable the visibility to end user. min: The minimum allowed value in meter. max: The maximum allowed value in meter. |
mod_eff_thermal_power1 |
Number |
Lower limit of the thermal power (W) range over which mod_eff_thermal has been measured. |
mod_eff_thermal_power2 |
Number |
Upper limit of the thermal 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. |