A statistically enabled thermo-optic phase shifter model, which can be tuned to match insertion loss and thermal modulation efficiency with respect to power.
The statistical parameters are delta_width, delta_height, delta_ridge_height, delta_Ppi, 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:
Thermal Phase Shifter (Statistical) - Lumfoundry Template (Legacy)
Template: ps_thermal_stat_te_c
Photonic Model: phase_shifter_thermal
Quality Assurance Test: phase_shifter_thermal QA
Parameters: phase shifter length.
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 statistically enabled thermo-optic phase shifter 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 statistically enabled thermo-optic phase shifter template can be used to create an advanced compact model for a custom statistically enabled thermo-optic phase shifter. 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 statistically enabled thermo-optic phase shifter model is described below.
general
"general" is a struct with 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 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 |
||
th_neg |
Port definition corresponding to the positive and negative nodes of the thermal tuner |
|
th_pos |
||
th_neg_2 (optional) |
Port definition corresponding to the positive and negative nodes of the second thermal tuner (if applicable). |
|
th_pos_2 (optional) |
Each struct 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 in which the port is listed in a netlist. |
parameters
"parameters" is a struct with following fields:
Field | Type | Description |
---|---|---|
wg_length | struct with fields described in table below |
Phase shifter length settings. |
Each struct above consists of following fields:
Field | Type | Description |
---|---|---|
name |
string |
The name for display in the Property View window. |
default |
number |
The nominal value of the parameter in SI unit. |
visible_to_user |
boolean |
A flag to enable/disable the parameter visibility. |
min
|
number |
Minimum allowed value if the visible_to_user is set to True. |
max
|
number |
Maximum allowed value if the visible_to_user is set to True. |
model_data
"model_data" is a struct with following fields:
Field | Type | Description |
---|---|---|
mode_data |
cell |
M x 1 cell array, where M is the number of modes. Each element of the cell is a struct with fields:
Note: This model only supports a up to two modes. |
waveguide_data |
struct with fields described in waveguide_data table |
Data required for modeling the waveguide sections. |
bandwidth_data |
struct |
A single value containing the 3-dB cutoff frequency of the thermal phase shifter. |
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:
|
waveguide_data
Field | Type | Description |
---|---|---|
wavelength |
number |
Center wavelength (m) of the band for which the mode properties are provided. |
temperature |
number |
Temperature (K) for which the mode properties below are provided. |
waveguide
|
struct with fields described in table below |
Mode properties for modeling the waveguides |
The waveguide struct above consists of following fields:
Note: The following variables can be provided as a 2x1 matrix if more than one mode is supported.
Field | Type | Description |
---|---|---|
length |
number |
Length (m) of the waveguide section. Note: This field is not required if the length is set as a parameter or otherwise described by other variables such as radius. |
neff |
number |
Unperturbed effective index of the waveguide section (no electrical or thermal tuning applied). |
ng
|
number |
Group index of the waveguide section. |
dneff_dT
|
number |
Effective index temperature sensitivity (1/K) of the waveguide section. |
loss
|
number |
loss (dB/m) of the waveguide section. |
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 the table below |
The total insertion loss (dB) of the thermal phase shifter at zero bias. |
Ppi_thermal |
struct with fields described in the table below |
Power (W) to achieve pi phase shift between "ref1" and "ref2" powers provided in the struct. |
Each struct above consists of following fields:
Note: The following variables can be provided as a 2x1 matrix if more than one mode is supported.
Field | Type | Description |
---|---|---|
value |
number |
The nominal value for the FOM in SI unit. |
tuning |
boolean |
A flag to enable or disable FOM tuning. |
ref1 (if applicable) |
number |
Point(s) at which the nominal FOM were measured. This parameter can be voltage or power data points depending on the FOM definition. |
ref2 (if applicable)
|
number |
QA
"QA" is a struct with following fields:
Field | Type | Description |
---|---|---|
parameters |
struct with fields described in parameters table |
Parameter values used for setting up the QA test bench. |
relative_tolerances |
struct |
The relative tolerance for QA tests which verify the different figures of merit of the thermal phase shifter. If the simulated values differ from the values provided within the data file by more than this tolerance, the QA tests will fail. This struct accepts relative tolerance values as numbers for following FOMs:
|
parameters
Field | Type | Description |
---|---|---|
BW_bias
|
number |
Bias voltage (V) at which bandwidth test will be done. Note: Typically set at half Vpi of the phase shifter with default length. |
Complete data requirement (for advanced users)
The complete data section provide a complete reference of data supported by the statistically enabled thermo-optic phase shifter model including the basic required data described in the previous section. The descriptions of all the fields in the statistically enabled thermo-optic phase shifter source data template are described below.
general
"general" is a struct with following fields:
[[snippet||11549514081811]]
ports
"ports" is a struct with following fields:
[[snippet||12005821032467]]
Each struct above consists of following fields:
[[snippet||11549759363603]]
parameters
"parameters" is a struct with following fields:
[[snippet||12006225144979]]
Each struct above consists of following fields:
[[snippet||11720299494931]]
model_data
"model_data" is a struct with following fields:
[[snippet||12006572630035]]
The waveguide struct above consists of following fields:
Note: The following variables can be provided as a 2x1 matrix if more than one mode is supported.
[[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||12007310563859]]
Each struct above consists of following fields:
Note: The following variables can be provided as a 2x1 matrix if more than one mode is supported.
[[snippet||11653867902995]]
QA
"QA" is a struct with following fields:
[[snippet||12007866853523]]
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 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 phase shifter with respect to the X-th statistical parameter defined as d_neff / d_parameter_X. Note: Only provide this field if the statistical parameter affects the effective index (see ps_thermal_stat_te_c). |
slope_ng |
number |
The sensitivity of the group index of the phase shifter with respect to the X-th statistical parameter defined as d_ng / d_parameter_X. Note: Only provide this field if the statistical parameter affects the group index (see ps_thermal_stat_te_c). |
slope_IL |
number |
The sensitivity of the insertion loss (dB) of the thermal phase shifter with respect to the X-th statistical parameter defined as d_IL / d_parameter_X. Note: Only provide this field if the statistical parameter affects the insertion loss (see ps_thermal_stat_te_c). |
slope_Ppi |
|
The sensitivity of the Ppi (W) of the thermal phase shifter with respect to the X-th statistical parameter defined as d_Ppi / d_parameter_X. Note: Only provide this field if the statistical parameter affects the Ppi (see ps_thermal_stat_te_c). |
statistical QA
[[snippet||12009272014867]]