A simple waveguide model for the operation at a single frequency band.
Note: For legacy data format (2022 R2.4 and older) please visit following link:
Waveguide Straight (Fixed) - Lumfoundry Template (Legacy)
Template: wg_strip_straight_c
Photonic Model: waveguide_simple
Quality Assurance Test: waveguide_simple QA
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 section (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 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" |
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 |
---|---|---|
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:
|
"wg_length" struct 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. This is expected to be the center of the band. 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]]
"wg_length" struct 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]]