A statistically enabled simple waveguide model for the operation at a single frequency band. The model uses physical parameters such as delta_width and delta_height as well as performance parameters such as delta_loss as statistical parameter to randomly vary the effective index, group index, and waveguide loss.
For the information on statistical CMLs, see Statistical CMLs.
Note: For legacy data format (2022 R2.4 and older) please visit following link:
Waveguide Straight (Statistical) - Lumfoundry Template (Legacy)
Template: wg_stat_strip_straight_c
Photonic Model: waveguide_simple
Quality Assurance Test: waveguide_simple QA
Statistically Enabled Parameters: neff, ng, loss
Parameters: waveguide length, temperature.
Interoperability with Cadence Virtuoso:
- Circuit design flows using INTERCONNECT model: Yes.
- Circuit design flow using photonic Verilog-A model: Yes.
Application Gallery Example: Waveguide (FDE)
Modeling Data
The source data template for a simple waveguide 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 simple waveguide template can be used to create an advanced compact model for a custom simple waveguide. 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 simple waveguide 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 the fields described in the table below | Port definition corresponding to the first and second waveguide ports. |
opt_2 |
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" |
loc | number |
The placement of the port on the side defined by loc, provided as a coordinate between 0 and 1. |
order | number |
The order at which the port is listed in a netlist. |
parameters
"parameters" is a struct with the following fields:
Field | Type | Description |
---|---|---|
temperature | struct |
The temperature at which the models operates. Note:
|
wg_length
|
struct with fields described in the table below |
The length of the waveguide. Note: For the elements under waveguide_simple photonic model, this parameter is only applicable if the waveguide length does not affect the mode data and can be changed by the user (e.g. straight waveguide). For non-applicable waveguide elements, (e.g. arc waveguide in which the length defined by the radius and mode data can be affected) use one of the following options:
|
Each struct above consists of the following fields:
Field | Type | Description |
---|---|---|
default |
number |
The nominal value of the parameter in SI unit. |
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 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 the fields:
Notes:
|
wavelength |
number |
Center wavelength (m) of the band for which the waveguide properties are evaluated. Example: 1550e-9 for C-band (1530-1565nm) |
neff |
matrix |
M x 1 matrix where M is the number of modes, with the effective index for the temperature, wavelength and modes specified. Note: For more information on mode properties, see Mode Properties in photonic model page. |
ng |
matrix |
M x 1 matrix where M is the number of modes, with the group index for the temperature, wavelength and modes specified. Note: For more information on mode properties, see Mode Properties in photonic model page. |
D |
matrix |
M x 1 matrix where M is the number of modes, with the dispersion(s/m/m) for the temperature, wavelength and modes specified. Note: For more information on mode properties, see Mode Properties in photonic model page. |
loss |
matrix |
M x 1 matrix where M is the number of modes, with the loss (dB/m) for the temperature, wavelength and modes specified. Note: This must be a positive number. |
Complete data requirement (for advanced users)
The complete data section provides a complete reference of data supported by the simple waveguide model including the basic required data described in the previous section. The descriptions of all the fields in the simple waveguide 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||11977740050067]]
Each struct above consists of following fields:
[[snippet||11549759363603]]
parameters
"parameters" is a struct with the following fields:
[[snippet||27212451955859]]
Each struct above consists of the following fields:
[[snippet||11720299494931]]
model_data
"model_data" is a struct with the following fields:
[[snippet||11977964211731]]
QA
"QA" is a struct with the following fields:
[[snippet||11980127854995]]
statistical
"statistical" is a struct with the 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 waveguide with respect to the X-th statistical parameter defined as d_neff / d_parameter_X, provided as a Mx1 matrix where M is the number of modes. Note: Only provide this field if the statistical parameter affects theeffective index. |
slope_ng |
The sensitivity of the group index of the waveguide with respect to the i-th statistical parameter defined as d_ng / d_parameter_X, provided as a Mx1 matrix where M is the number of modes. Note: Only provide this field if the statistical parameter affects the group index. |
|
slope_loss |
The sensitivity of the waveguide loss (dB/m) with respect to the i-th statistical parameter defined as d_loss / d_parameter_X, provided as a Mx1 matrix where M is the number of modes. Note: Only provide this field if the statistical parameter affects the waveguide loss. |
statistical QA
[[snippet||11985858825747]]