A waveguide directional coupler model described by fixed s-parameters.
Note: For legacy data format (2022 R2.4 and older) please visit following link:
Directional Coupler (Fixed) - Lumfoundry Template (Legacy)
Template: dc_strip_te_c
Photonic Model: spar_fixed
Quality Assurance Test: spar_fixed QA
Parameters: None.
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 spar-fixed element can divided into two sections.
- For new users (continue with following section: Basic data requirement section)
- Advanced users ( continue with section: Complete Data Requirement )
In order to get started and add a custom directional coupler element into the compact model library (CML), a user only needs to edit the data listed in the ‘basic data requirement section’ below, while all other data (i.e. the advanced element data) can be left as is.
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 directional coupler 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 following fields:
Field | Type | Description |
---|---|---|
opt_X |
struct with the fields described in the table below | Port definition corresponding to the X-th optical port. |
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. |
dir | string | The directionality of the port, either "Input", "Output", or "Bidirectional" |
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. |
model_data
Field | Type | Description |
---|---|---|
mode_data |
Cell |
n x 1 cell array (n number of modes). Each element of the cell is a struct with fields:
|
spar_filename | String | A string containing the filename of the s-parameter data file for this element. This must include the extension of the file (.txt) |
S_parameters file | File |
A text file containing directional coupler's s-parameters in Optical N Port S-Parameter format. The s-parameters must be defined for at least two frequency points. Note:
|
Complete data requirement (for advanced users)
The advanced data section provides a complete reference of data supported by the spar-fixed model including the basic required data described in the previous section.
The description of all the fields in the 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||12147423089811]]
Each field above consists of following fields:
[[snippet||11549759363603]]
model_data
"model_data" is a struct with following fields:
[[snippet||12147882417043]]
S_parameters file | File |
A text file containing directional coupler's s-parameters in Optical N Port S-Parameter format. The s-parameters must be defined for at least two frequency points. Note:
|
QA
"QA" is a struct with following fields:
[[snippet||12148587970835]]