A statistically enabled parameterized waveguide model for operation at multiple frequency bands. 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, dispersion, and waveguide loss.
For information on statistical CMLs, see Statistical CMLs.
Note: You are now visiting legacy data format page (2022 R2.4 and older). For current data format page (2023 R1.1 onwards) please visit following link:
Waveguide Straight (Parameterized, Statistical) - Lumfoundry Template
Template: wg_stat_strip_straight_parameterized
Photonic Model: wg_parameterized
Quality Assurance Test: wg_parameterized QA
Statistically Enabled Parameters: neff, ng, D, loss
Parameters: waveguide length, waveguide width, temperature
Virtuoso/Verilog-A Support: Yes
Required Data
Parameter Script File
[[snippet||7211489381267]]
QA Variables
[[snippet||7211686292627]]
Statistical QA Variables (statistical compact models only)
[[snippet||7211741054483]]
Data File
Nominal Data
[[snippet||7222787661971]]
Statistical Data (Optional)
This data is required for CML Compiler to enable statistical modeling. Note that 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.
Variable | Type | Description |
---|---|---|
stat_parameters |
Cell |
A cell of length N containing the statistical data for the ring modulator where N is the number of statistical parameters. Each entry in the cell is a struct with the following fields. |
stat_parameters{i}.name |
String |
Name of the i-th statistical parameter. |
stat_parameters{i}.mean |
Number |
Mean value of the i-th statistical parameter. |
stat_parameters{i}.corners |
Matrix |
Corner values for the i-th statistical parameter provides as an Cx1 matrix where C is the number of process corners defined in the XML file. Note: The values for the process corners should follow the same order as in the XML file. |
stat_parameters{i}.use_parameter_data |
String |
The name of the parameter which contains variation data for this statistical parameter. This is useful for capturing nonlinear statistical variation, when the data is available. If both use_parameter_data and slope_X values are provided, slope values will be unused in the final model. Note: Only provide this field if there is a parameter which contains the variation data for this statistical parameter. Note: If use_parameter_data is provided for a statistical parameter, normalization_factor must be provided as well. |
stat_parameters{i}.normalization_factor |
Number |
The normalization factor between the value of the statistical parameter and the parameter identified by use_parameter_data. Note: This factor is only used when use_parameter_data is provided. |
stat_parameters{i}.slope_neff |
Matrix |
An F x M matrix containing the sensitivity of the effective index of the waveguide with respect to the i-th statistical parameter defined as d_neff / d_stat_parameters{i}. F is the number of frequency bands supported by the device, and variation of effective index will correspond to these slopes exactly at the center of each band. Note:
|
stat_parameters{i}.slope_ng |
An F x M matrix containing the sensitivity of the group index of the waveguide with respect to the i-th statistical parameter defined as d_ng / d_stat_parameters{i}. F is the number of frequency bands supported by the device, and variation of group index will correspond to these slopes exactly at the center of each band. Note:
|
|
stat_parameters{i}.slope_D |
An F x M matrix containing the sensitivity of the dispersion (s/m) of the waveguide with respect to the i-th statistical parameter defined as d_D / d_stat_parameters{i}. F is the number of frequency bands supported by the device, and variation of dispersion will correspond to these slopes exactly at the center of each band. Notes:
|
|
stat_parameters{i}.slope_loss |
An F x M matrix containing the sensitivity of the sensitivity of the loss (dB/m) of the waveguide with respect to the i-th statistical parameter defined as d_loss / d_stat_parameters{i}. F is the number of frequency bands supported by the device. Note:
|
|
stat_parameters{i}.LOCAL |
Struct
|
A struct describing the LOCAL level variation of the i-th statistical parameter with the following fields: distribution = Defines the type of the PDF used to describe the LOCAL level variation. Currently the options are 'normal' (Gaussian) or 'pearson4' (Non-Gaussian). sigma = The standard deviation of the LOCAL level variation. gamma1: The skewness of the LOCAL level variation (for pearson4 distribution only) beta2: The kurtosis of the LOCAL level variation (for pearson4 distribution only) |
stat_parameters{i}.GLOBAL |
A struct containing the GLOBAL level variation of the i-th statistical parameter with the following fields: distribution = Defines the type of the PDF used to describe the GLOBAL level variation. Currently the options are 'normal' (Gaussian) or 'pearson4' (Non-Gaussian). sigma = The standard deviation of the GLOBAL level variation. gamma1: The skewness of the GLOBAL level variation (for pearson4 distribution only) beta2: The kurtosis of the GLOBAL level variation (for pearson4 distribution only) GLOBALGROUP : Name of the GLOBALGROUP defined in the top level XML file. (if a GLOBALGROUP is provided then the description in the XML file takes priority over the data file) Note: It is optional to provide a GLOBAL level variation for statistical parameters. |
Frequency Band Information
Statistical variation of waveguide properties (effective and group index, dispersion, and loss) can be applied by either using existing parameter variation or slope values. When slope values are used, the perturbation is applied separately for each band and mode supported by the waveguide.
As described in the supplementary information, there is a relationship between effective index, group index, and dispersion. In order to ensure these relationships always hold, statistical variation from slope values will alter more than just the property they correspond to. For example, slope_ng will affect the group index of the waveguide at the center of each band, as well as the first derivative of effective index with respect to wavelength. Because of this, accuracy of waveguide variation according to the slope values can only be guaranteed at the center of each band. In addition, information about the frequency bands supported by the waveguide must be provided to CML compiler, so that it is explicit which frequencies should be perturbed according to each slope.
Variable | Type | Description |
---|---|---|
wavelength_bands |
Cell |
A cell of length F containing the names and ranges of all wavelength bands supported by the waveguide. F is the number of wavelength bands supported by the device. Note: If any wavelengths are contained within wavelength_data and not wavelength_bands, those points will not be perturbed by statistical parameters! |
wavelength_bands{i}.name |
String |
Name of the i-th wavelength band. |
wavelength_bands{i}.range |
Matrix |
2 x 1 matrix containing the minimum and maximum wavelength values of the i-th band. Note: If any wavelengths are contained within wavelength_data and not wavelength_bands, those points will not be perturbed by statistical parameters! |