This is an example of how the scripted element model can be used to create a waveguide 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 waveguide examples in lumfoundry template for more typical waveguide implementations.
Note: For legacy data format (2022 R2.4 and older) please visit following link:
Scripted Waveguide - Lumfoundry Template (Legacy)
Template: scripted_wg
Photonic Model: scripted_element
Quality Assurance Test: scripted_element QA
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 with wg_strip_straight_c template offered by CML Compiler for the waveguide simple photonic model, while the information in the data file is exactly the same for both templates, the conversion of the source data into a waveguide model is done by the setup script for the waveguide template using the scripted element photonic model. Whereas for the template using waveguide simple 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 waveguide, the user can control how the source data is converted into a waveguide 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]]