This is an example of how the scripted element model can be used to create a grating coupler element. The scripted element will be useful in cases where new capabilities or features need to be added to the models in CML compiler or new model need to be added for a customized photonic device. In such cases, a custom model can be built using Lumerical scripting language to model the behavior of the desired photonic device.
Note: the scripted element model is an advanced model. Please see other grating coupler examples in lumfoundry template for more typical implementations.
Note: For legacy data format (2022 R2.4 and older) please visit following link:
Scripted Grating Coupler (Statistical) - Lumfoundry Template (Legacy)
Template: scripted_grating_stat
Photonic Model: scripted_element
Quality Assurance Test: scripted_element QA
Statistically Enabled Parameters: User defined
Parameters: User defined.
Interoperability with Cadence Virtuoso:
- Circuit design flows using INTERCONNECT model: Yes.
- Circuit design flow using photonic Verilog-A model: No.
Required Data
The required data is collected as a struct with the following fields:
general
"general" is a struct with the following fields:
[[snippet||11549514081811]]
ports
"ports" is a struct with the following fields:
[[snippet||12121585867411]]
Each struct above consists of the following fields:
[[snippet||11549759363603]]
type
|
string |
The signal type of the port, either "Optical Signal" or "Electrical Signal" |
parameters
"parameters" is a struct with the following fields:
[[snippet||12121700744851]]
Each struct above consists of the following fields:
[[snippet||12006995584019]]
model_data
Comparing this template with gc_fitted_stat_te_c template offered by CML Compiler for the grating coupler photonic model, while the information in the data file is exactly the same for both templates, the conversion of the source data into a grating coupler model is done by the setup script for the grating coupler template using the scripted element photonic model. Whereas for the template using grating coupler photonic model, this is taken care of by the photonic model and no setup script is needed to be provided by the user. For the scripted grating coupler, the user can control how the source data is converted into a grating coupler model and this is an advantage offered by the scripted element photonic model for customization.
"model_data" is a struct with the following fields:
[[snippet||12121946581523]]
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 the table below. Note: This data is required for CML Compiler to enable statistical modeling. |
Each struct above consists of the following fields:
[[snippet||11647965606547]]
slope_<stat param> |
Number |
A slope can be optionally defined for use in the setup script. |