Port Definitions
Variable | Type | Description |
---|---|---|
ports | Cell |
A cell array containing structs which have information about each port. Every struct must contain the following fields:
|
opt_1_RELAY |
Number | The indices of the cells in the "ports" cell array, that corresponds to the first and second input optical ports |
opt_2_RELAY |
||
opt_3_RELAY |
The indices of the cells in the "ports" cell array, that corresponds to the first and second output optical ports | |
opt_4_RELAY |
||
ele_th_1_RELAY |
The indices of the cells in the "ports" cell array, that corresponds to the contacts of the 'top-arm' thermal tuner. | |
ele_th_2_RELAY |
||
ele_th_3_RELAY |
The indices of the cells in the "ports" cell array, that corresponds to the contacts of the "bottom-arm" thermal tuner. |
|
ele_th_4_RELAY |
||
ele_cat_1_RELAY |
The indices of the cells in the "ports" cell array, that corresponds to the electrical cathode and anode of the "top-arm". |
|
ele_an_1_RELAY |
||
ele_cat_2_RELAY |
The indices of the cells in the "ports" cell array, that corresponds to the electrical cathode and anode of the "bottom-arm". |
|
ele_an_2_RELAY |
Note: Ports without RELAY specification will be connected to a termination and are not used by the compact model.
Photonic Model
Variable | Type | Description |
---|---|---|
photonic_model |
string |
String containing the name of the photonic model used for this template. Please visit here for a list of all available photonic models. |
Cosmetic Variables
Variable | Type | Description |
---|---|---|
description | String | A string containing a brief description of the model, which will be displayed to the end user. |
prefix | A string containing the prefix of the model, which will be used within interconnect to provide incrementing element names for each successive element that is added to the simulation layout. | |
notes | Cell |
A cell array which provides model notes that will be displayed to the end user. Each element of the cell is a struct with the fields:
|
Parameter Variables
Variable | Type | Description |
---|---|---|
wg_length | Struct |
A struct defining the length of the electrical phase shifter with the following fields: name: name of the 'phase shifter length' parameter as it will appear in the Property View window unit: this is the default unit used in the Property View window. The options are "cm", "km", "m", "mm", "nm" and "um" default: default value of the parameter. Must be set as "L1_all(4)" to use the value saved in the data file. visible_to_user: To make the phase shifter length a user parameter, set to true. For a fixed length MZM, set to false. annotate: enable or disable annotating the parameter value in the element. min, max: minimum and maximum values allowed for the phase shifter length. The user will be warned when trying to set a value outside this range. Note: This parameter is applicable to the MZMs only and not the MZIs |
imbalance_length | Struct |
A struct defining the imbalance length of the MZM with the following fields: name: name of the "imbalance length" parameter as it will appear in the Property View window unit: this is the default unit used in the Property View window. The options are "cm", "km", "m", "mm", "nm" and "um" default: default value of the parameter. Must be set to "default_imbalance_length" to use the value saved in the data file. visible_to_user: To make the imbalance length a user parameter, set to true. For an MZM with a fixed imbalance length, set to false. annotate: enable or disable annotating the parameter value in the element. min, max: minimum and maximum values allowed for the imbalance length. The user will be warned when trying to set a value outside this range |
longer_arm | number |
Denotes which arm is longer for imbalanced modulators. Options are: upper arm = -1 lower arm = 1 |
temperature | String or Number |
Temperature can be defined in one of two ways for the model:
|
Built-in Variables
Variable | Type | Description |
---|---|---|
enable_thermal_time_constant | Boolean | Flag to enable/disable internal low-pass filter for thermal tuner transient bandwidth. The default value is set to "true." |
Tuning Variables
Variable | Type | Description |
---|---|---|
lock_notch_wavelength |
Boolean |
Enable/disable tuning of the resonant wavelength. Note:
|
lock_FSR |
Enable/disable tuning of the free spectral range. Note:
|
|
lock_IL |
Enable/disable tuning of the insertion loss (dB) from optical port 1 (1st input) to optical port 4 (2nd output) at zero bias. Note:
|
|
lock_S14 |
Enable/disable tuning of the transmission (dB) from optical port 1 (1st input) to optical port 4 (2nd output) at zero bias. Note:
|
|
lock_ER |
Enable/disable tuning of the extinction ratio at resonance. Note: For unbalanced MZM only. Flag is ignored for balanced MZM. |
|
lock_Vpi_electrical |
Enable/disable tuning of the voltage for pi phase shift (Vpi) of the electrical phase shifter for the default length (MZM only). Note:
|
|
lock_Ppi_thermal |
Enable/disable tuning of the power for pi phase shift (Ppi) of the thermal tuner (if applicable). Note:
|
Modeling Variables
Variable | Type | Description |
---|---|---|
data_filename | String | A string containing the filename of the data file for this element. This must include the extension of the file (.json or .mat) |
splitter | Struct |
Struct containing information about modeling the MMIs with fields: spar_filename: name of the .txt file containing the S-Parameter data for the MMIs. input1: name of the first input port of the MMI in the S-Parameter data file provided as a string. input2: name of the second input port of the MMI in the S-Parameter data file provided as a string. output1: name of the top output port of the MMI in the S-Parameter data file provided as a string. output2: name of the bottom output port of the MMI in the S-Parameter data file provided as a string. flip_2nd_MMI: True or False Boolean flag to indicate whether the 2nd MMI/directional coupler should be flipped. When flipped, the input ports of the splitter will be connected to output waveguides. This will be useful for cases with asymmetric s-parameter data for the splitter. |
number_of_taps_estimation |
String |
A string containing the method of choosing the number of taps for the FIR filter of the MMI elements. Valid entries are:
|
use_travelling_wave_electrode | Boolean | Enable/disable the use of the traveling wave electrode model for the electrical phase shifters. If set to false then the lumped model is used. (MZM only) |