A thermo-optic phase shifter model, which can be tuned to match insertion loss and thermal modulation efficiency with respect to power.
Note: For legacy data format (2022 R2.4 and older) please visit following link:
Thermal Phase Shifter - Lumfoundry Template (Legacy)
Template: ps_thermal_te_c
Photonic Model: phase_shifter_thermal
Quality Assurance Test: phase_shifter_thermal QA
Supported Parameters: phase shifter length.
Interoperability with Cadence Virtuoso:
- Circuit design flows using INTERCONNECT model: Yes.
- Circuit design flow using photonic Verilog-A model: Yes.
Modeling Data
The source data template for a thermal phase shifter element can divided into two sections.
- For new users (continue with following section: Basic data requirement)
- Advanced users ( continue with section: Complete Data Requirement )
The thermal phase shifter template can be used to create a very advanced compact model for a custom thermal 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 the user. The fastest/ simplest way to modify the template data and create a custom compact model would be to only update the data listed in the 'basic data requirement section' below, while all rest of the data (which is illustrated in detail in subsequent sections) can be left at their default value.
Note: Advanced users please jump start with Complete Data Requirement (for advanced users) section.
Basic data requirement section (for new users)
The basic or minimum data required to build the thermal phase shifter model are 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 following fields:
opt_1 |
struct with the fields described in the 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 |
Each struct above consists of the 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 the following fields:
Field | Type | Description |
---|---|---|
wg_length | struct with the fields described in the table below |
Phase shifter length settings. |
Note: Only the following field for wg_length struct needs to be updated and other fields in the default source data template can be left as is.
Field | Type | Description |
---|---|---|
default |
number |
The nominal value of the parameter in SI unit. |
model_data
"model_data" is a struct with the 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. |
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 the required fields 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 the required field of:
Note:
|
FOMs
"FOMs" is a struct with the fields below. The data are 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 are 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 the fields described in the table below |
The total insertion loss (dB) of the thermal phase shifter at zero bias. |
Ppi_thermal |
struct with the 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 the 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. |
visible_to_user |
boolean |
A flag to turn the FOM into a visible parameter for the CML user. |
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. |
Complete data requirement (for advanced users)
The complete data section provides a complete reference of data supported by the thermal phase shifter model including the basic required data described in the previous section. The description of all the fields in the thermal phase shifter source data template are described below.
general
"general" is a struct with the following fields:
[[snippet||11549514081811]]
ports
"ports" is a struct with the following fields:
[[snippet||12005821032467]]
Each struct above consists of the following fields:
[[snippet||11549759363603]]
parameters
"parameters" is a struct with the following fields:
[[snippet||12006225144979]]
Each struct above consists of the following fields:
[[snippet||11720299494931]]
model_data
"model_data" is a struct with the following fields:
[[snippet||12006572630035]]
The waveguide struct above consists of the 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 the fields below. The data are 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 are 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 the 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 the following fields:
[[snippet||12007866853523]]