Statistically enabled fixed, single-bus and double-bus ring modulator model. For this model physical attributes such as delta_width, can be considered as statistical parameters and how they affect the performance of the device must be specified in stat_parameters definition, such as slope_neff. If providing this information is challenging, alternatively FOMs themselves (such as delta_Vpi_electrical) can be considered as statistical parameter. The physical statistical parameters are delta_width (ring waveguide), delta_height (ring waveguide), delta_ridge_height (ring waveguide) and figures of merit based statistical parameters are delta_mod_eff, delta_Q, delta_FSR, delta_notch and delta_IL.
For information on statistical CMLs, see Statistical CMLs.
Note: For legacy data format (2022 R2.4 and older) please visit following link:
Ring Modulator (Statistical) - Lumfoundry Template (Legacy)
Template: rm_stat_strip_te_c (Physical statistical parameters), rm_stat_fom_strip_te_c (Figures of merit based statistical parameters), rm_db_stat_fom_strip_te_c (Double-bus ring modulator with figures of merit based statistical parameters)
Photonic Model: ring_modulator
Quality Assurance Test: ring_modulator QA
Statistically Enabled Parameters: neff (ring), ng (ring), resonant_wavelength, FSR, IL, ER, IL_drop, Q, and mod_eff
Parameters: None.
Interoperability with Cadence Virtuoso:
- Circuit design flows using INTERCONNECT model: Yes.
- Circuit design flow using photonic Verilog-A model: No.
Modeling Data
The source data template for a single-bus and double-bus ring modulator element can be divided into two sections.
- For new users (continue with the following section: Basic data requirement)
- Advanced users ( continue with section: Complete Data Requirement )
The single-bus and double-bus ring modulator template can be used to create an advanced compact model for a custom single-bus and double-bus ring modulator. The template contains a lot of different modeling data to create an accurate model. However, not all these data need to be updated by users. The fastest and simplest way to modify the template data and create a custom compact model is to only update the data listed in the 'basic data requirement section' below, while all the remaining data (which are illustrated in detail in subsequent sections) can stay at their default value.
Note: Advanced users please jump start with Complete Data Requirement (for advanced users) section.
Basic data requirement (for new users)
The basic and minimum data required to build the single-bus and double-bus ring modulator model is described below.
general
"general" is a struct with the following fields:
Field | Type | Description |
---|---|---|
description | string | A string containing a brief description of the model, which will be displayed to the end user. |
notes | cell |
A cell array providing model notes which will be displayed to the end user. Each element of the cell is a struct with the fields:
|
ports
"ports" is a struct with the following fields:
Field | Type | Description |
---|---|---|
opt_1 |
struct with fields described in table below | Port definition corresponding to the in-through optical ports |
opt_2 |
||
opt_3 (optional) |
Port definition corresponding to the add-drop optical ports | |
opt_4 (optional) |
||
ele_an |
port definition corresponding to the anode and cathode for the electrical tuner | |
ele_cat |
||
th_neg |
Port definition corresponding to the positive and negative nodes of the thermal tuner |
|
th_pos |
Each field above consists of following fields:
Field | Type | Description |
---|---|---|
name | string | The name of the port, which will be visible to the end user. This name should be consistent with the name that will be used for netlisting. |
pos | string |
The side of the model which the port will be displayed on, either "Left", "Right", "Top", or "Bottom" |
order | number |
The order at which the port is listed in a netlist. |
model_data
"model_data" is a struct with the following fields:
Field | Type | Description |
---|---|---|
electrical_tuner_data
|
struct with fields described in electrical_tuner_data table |
Data required for modeling the electrical tuner. |
th_eq_ckt_data
|
struct |
Thermal equivalent circuit described by either Current (Amp) versus bias voltage (V) characteristic of the heater for the default phase shifter length with required field of:
The IV data are linearly interpolated to obtain the electrical behavior. or resistance (\(\Omega)\) of the heater for the default length of the phase shifter with required field of:
Note:
|
electrical_tuner_data
Note: For a ring without electrical tuner, this struct should not be provided.
Field | Type | Description |
---|---|---|
bandwidth_data |
struct |
The 3-dB cutoff frequency (Hz) of the electrical modulator as a function of bias voltage (V). The required fields are:
|
FOMs
"FOMs" is a struct with fields below. 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.
If the source physical data provided for the model is not consistent with the figures of merit (FOMs) provided (meaning the actual FOM values resulting from physical parameters differ from provided FOM data), the model can tune the provided physical data to match the FOMs to the provided values. For more information, see Tuning Active Compact Models.
Field | Type | Description |
---|---|---|
IL |
struct with fields described in FOM definition table |
The overall insertion loss (dB) of the ring modulator at through port at resonance. Note:
|
IL_drop |
struct with fields described in FOM definition table |
The overall insertion loss (dB) of the ring modulator at drop port at resonance. Note:
|
FSR |
struct with fields described in FOM definition table |
The free spectral range (m) of the ring modulator. Note: Tuning for this FOM will be enabled internally to enable statistical variations if FSR is a statistical parameter. |
mod_eff
|
struct with fields described in FOM definition table |
Overall electro-optic modulation efficiency (m/V) of the ring modulator within the voltage range described by "ref1" and "ref2" in the struct. "data" is an optional field for this struct and can be used for two purposes: 1. Can be included if the modulation efficiency data is voltage dependent (more than a single value needs to be provided). In that case, it should be a Vx2 matrix where V is the number of voltage data points. First column should be the voltage values and the second column should be the corresponding mod_eff values. Mod_eff values should be provided with the first voltage in the matrix as the reference voltage (Nth mod_eff value in the matrix should be the large-signal modulation efficiency measured between Nth voltage and 1st voltage point). 2. Can be included if the FOM data is in the form of a lookup table (more than a single value needs to be provided). See FOM as a lookup table section for more information about additional data requirements. Note:
|
mod_eff_thermal
|
struct with fields described in FOM definition table |
Overall thermo-optic modulation efficiency (m/W) of the ring modulator for input power range described by "ref1" and "ref2" in the struct which should be within the range of I*V values provided Note:
|
Q
|
struct with fields described in FOM definition table |
The quality factor (m/m) of the ring modulator near resonance. Note:
|
ER
|
struct with fields described in FOM definition table |
The extinction ratio (dB) of the ring modulator at resonance provided as a struct. Note:
|
resonant_wavelength
|
struct with fields described in FOM definition table |
The resonant wavelength (m) of the ring modulator at a temperature of 300K with no applied electrical or thermal phase shift. Note: Tuning for this FOM will be enabled internally to enable statistical variations if resonant_wavelength is a statistical parameter. |
FOM definition
Field | Type | Description |
---|---|---|
value |
number |
The nominal value for the FOM in SI units. |
tuning |
boolean |
A flag to enable or disable tuning for the FOM. |
ref1 (if applicable) |
number |
Point(s) at which the nominal FOM was measured. This can be voltage or power data points depending on the FOM definition. |
ref2 (if applicable)
|
number |
QA
"QA" is a struct with the following fields:
Field | Type | Description |
---|---|---|
parameters |
struct with fields described in parameters table |
Parameter values used for setting up the QA test bench. |
parameters
Field | Type | Description |
---|---|---|
BW_bias
|
number |
Bias for electrical bandwidth test. Note: For a ring without electrical modulation, this parameter should not be provided. |
thermal_BW_bias | number |
Bias for thermal bandwidth test. Used for Verilog-A QA only. Note: For a ring without thermal tuner, this parameter should not be provided. |
imp_amplitude |
number |
Amplitude of the impulse in the electrical bandwidth test. Note: For a ring without electrical modulation, this parameter should not be provided. |
Complete data requirement (for advanced users)
The complete data section provides a complete reference of data supported by the single-bus and double-bus ring modulator model including the basic required data described in the previous section. The descriptions of all the fields in the single-bus and double-bus ring modulator source data template are described below.
general
"general" is a struct with the following fields:
[[snippet||11549514081811]]
time_domain_req_note
|
boolean |
A flag to whether or not add a note in the compact model quoting the minimum sampling rate required for accurate time domain simulation |
ports
"ports" is a struct with the following fields:
[[snippet||11643827831699]]
Each field above consists of the following fields:
[[snippet||11549759363603]]
parameters
"parameters" is a struct with following fields:
[[snippet||11644750903571]]
model_data
"model_data" is a struct with the following fields:
[[snippet||11646371522195]]
Structs listing mode properties for different waveguide sections consist of the following fields:
[[snippet||11653970537235]]
FOMs
"FOMs" is a struct with fields below. 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.
If the source physical data provided for the model is not consistent with the figures of merit (FOMs) provided (meaning the actual FOM values resulting from physical parameters differ from provided FOM data), the model can tune the provided physical data to match the FOMs to the provided values. For more information, see Tuning Active Compact Models.
[[snippet||11651609869587]]
[[snippet||11653867902995]]
QA
"QA" is a struct with the following fields:
[[snippet||11653366721555]]
statistical
"statistical" is a struct with fields below. This struct is optional and is only required for statistical compact models.
Note: To allow CML Compiler to build statistically enabled models, the statistical_parameter_status has to be defined in the XML file. For more information, see Statistical CMLs.
Field | Type | Description |
---|---|---|
parameters |
struct |
Each field of this struct defines one statistical parameter for the model. These fields should have names the following "parameter_X" where X is an integer and follow the structure described in statistical parameters table. Note: This data is required for CML Compiler to enable statistical modeling. |
QA |
struct with fields described in QA table |
Defining QA settings for statistical QA. |
statistical parameters
[[snippet||11647965606547]]
slope_neff |
number |
The sensitivity of the effective index of the ring with respect to the i-th statistical parameter defined as d_neff / d_stat_parameters{i}. Note: Only provide this field if the statistical parameter affects the effective index (see rm_stat_strip_te_c). |
slope_ng |
number |
The sensitivity of the group index of the ring with respect to the i-th statistical parameter defined as d_ng / d_stat_parameters{i}. Note: Only provide this field if the statistical parameter affects the group index (see rm_stat_strip_te_c). |
slope_mod_eff |
number |
The sensitivity of the modulation efficiency (m/V) of the ring modulator with respect to the i-th statistical parameter defined as d_mod_eff / d_stat_parameters{i}. Note:
|
slope_IL |
number |
The sensitivity of the insertion loss (dB) of the ring modulator with respect to the i-th statistical parameter defined as d_IL / d_stat_parameters{i}. Note:
|
slope_FSR |
number |
The sensitivity of the free spectral range (m) of the ring modulator with respect to the i-th statistical parameter defined as d_FSR / d_stat_parameters{i}. Note:
|
slope_Q |
number |
The sensitivity of the quality factor (m/m) of the ring modulator with respect to the i-th statistical parameter defined as d_Q / d_stat_parameters{i}. Note:
|
slope_notch |
number |
The sensitivity of the notch (resonant) wavelength (m) of the ring modulator with respect to the i-th statistical parameter defined as d_notch / d_stat_parameters{i}.
Note:
|
slope_ER |
number |
The sensitivity of the extinction ratio (dB) of the ring modulator with respect to the i-th statistical parameter defined as d_ER / d_stat_parameters{i}. Note:
|
slope_IL_drop |
number |
The sensitivity of the insertion loss (dB) at the drop port of the ring modulator with respect to the i-th statistical parameter defined as d_IL_drop / d_stat_parameters{i}. Note:
|
slope_electrical_bandwidth |
number |
The sensitivity of the electrical bandwidth (Hz) of the ring modulator with respect to the i-th statistical parameter defined as d_ electrical_bandwidth_data/ d_stat_parameters{i}. Note:
|
statistical QA
[[snippet||11656289816467]]