Note: For legacy data format (2022 R2.4 and older) please visit following link:
Mach_zehnder_modulator QA (Legacy)
Photonic Model: mach_zehnder_modulator, mach_zehnder_modulator_2x2
Information on QA tests and QA types: Introduction to Quality Assurance (QA) tests
Instructions on running QA tests: Running QA tests in CML Compiler
QA tests
QA script | QA type | FOMs | Comments |
---|---|---|---|
Behavior |
BW |
MZM only |
|
Behavior |
BW |
MZM only |
|
mach_zehnder_modulator_thermal_BW_qa.lsf |
Behavior |
Thermal BW |
(if thermal tuner is available) |
Behavior |
Vpi and IL |
balanced (Vpi for MZM only) |
|
Behavior |
Thermal_Ppi |
balanced (if thermal tuner is available) |
|
Behavior |
Notch_wl, FSR, ER and IL |
unbalanced |
|
Behavior |
Thermal_Ppi |
unbalanced (if thermal tuner is available) |
|
Behavior |
dneff_dT |
unbalanced |
|
Behavior |
Vpi |
unbalanced (MZM only) |
|
Regression |
Statistical |
balanced MZM, statistical compact model |
|
Regression |
Statistical |
unbalanced MZM, statistical compact model |
QA Variables
These variables are defined as below in a struct named "QA" in the source data file:
[[snippet||11878308867603]]
Statistical QA Variables
(statistical compact models only)
These variables are defined as below in a struct named "QA" in the "statistical" struct in the source data file:
[[snippet||11881271796499]]
QA scripts
mach_zehnder_modulator_unbalanced_notch_wl_FSR_ER_IL_qa.lsf
mach_zehnder_modulator_unbalanced_dneff_dT_qa.lsf
The same test-bench shown below is used by these QA scripts to calculate the gain spectrum and extract the following FOMs. These values will be compared to source data and made sure the difference is within the tolerance.
QA type | FOMs | QA variables |
---|---|---|
Behavior test |
|
relative_tolerances:
|
mach_zehnder_modulator_unbalanced_Vpi_qa.lsf
In this test bench, which runs only for models with an electrical phase shifter, two mach_zehnder_modulator compact models are biased with voltage values provided in "ref1" and "ref2" within the Vpi_electrical FOM in source data file, and the gain spectrum for these two cases are obtained. Notch wavelengths for these two bias points are extracted. Modulation efficiency is then calculated and the corresponding Vpi is compared to the value provided for "Vpi_electrical" in source data and made sure the difference is within the tolerance values.
QA type | FOMs | QA variables |
---|---|---|
Behavior test |
Vpi_electrical |
relative_tolerances:
|
mach_zehnder_modulator_unbalanced_thermal_Ppi_qa.lsf
In this test-bench, which runs only for models with a thermal tuner, the thermal tuner of two mach_zehnder_modulator compact models are biased based on the voltage corresponding to the power values provided in "ref1" and "ref2" within the Ppi_thermal FOM in source data file and the gain spectrums are obtained. Finding the notch wavelength for each case, thermal Ppi is extracted and compared to the value provided for "Ppi_thermal" in source data and made sure the difference is within the tolerance value.
QA type | FOMs | QA variables |
---|---|---|
Behavior test |
Ppi_thermal |
relative_tolerances:
|
mach_zehnder_modulator_thermal_BW_qa.lsf
This test-bench, which runs only for models with a thermal tuner, is used to extract the thermal bandwidth for the compact model. Net 3dB bandwidth can be extracted from the circuit with a bias point defined in source data as "thermal_BW_bias" within the "parameters" field of the "QA" struct. 3dB thermal bandwidth at the defined bias point can be obtained from these values and compared to data provided in "bandwidth_data" of the "thermal_tuner_data" in source data and made sure the difference is within the tolerance value.
QA type | FOMs | QA variables |
---|---|---|
Behavior test |
thermal_tuner_data:
|
parameters:
relative_tolerances:
|
mach_zehnder_modulator_BW_qa.lsf
The following test-bench, which runs only for models with an electrical phase shifter, is used to extract electrical bandwidth for the mach_zehnder_modulator compact model. Net 3dB bandwidth can be extracted from the circuit with a bias point defined in source data as "BW_bias" within the "parameters" field of the "QA" struct. The test-bench calculates the impulse response of the modulated optical signal, finds the 3dB cutoff frequency, compares it to the "bandwidth_data" of the "electrical_tuner_data" in source data, and makes sure the difference is within the tolerance value.
Behavior test
QA type | FOMs | QA variables |
---|---|---|
Behavior test |
electrical_tuner_data:
|
parameters:
relative_tolerances:
|
mach_zehnder_modulator_BW_qa_RF_sweep.lsf
The following test-bench, which runs only for models with an electrical phase shifter, provides and alternative way to extract electrical bandwidth for the mach_zehnder_modulator compact model. Net 3dB bandwidth can be extracted from the circuit with a bias point defined in source data as "BW_bias" within the "parameters" field of the "QA" struct. The frequency of the RF signal applied to the top arm is swept using a parameter sweep and the output ac power of the modulated signal is collected as a function of the RF frequency. The 3dB cutoff frequency from the sweep result is then compared to "bandwidth_data" of the "electrical_tuner_data" in source data and made sure the difference is within the tolerance value.
QA type | FOMs | QA variables |
---|---|---|
Behavior test |
electrical_tuner_data:
|
parameters:
relative_tolerances:
|
mach_zehnder_modulator_balanced_IL_Vpi_qa.lsf
mach_zehnder_modulator_balanced_thermal_Ppi_qa.lsf
In the balanced mach zehnder modulator QA tests, fifteen mach_zehnder_modulator compact models are biased at different points (only six shown in the image below). In the Vpi test bench (MZMs only), the modulators are biased between voltage values provided in "ref1" and "ref2" within the Vpi_electrical FOM in source data file, while the Ppi test bench (if thermal tuner is available) uses voltages corresponding to the power values provided by "ref1" and "ref2" within the Ppi_electrical FOM in source data file. The gain spectra are obtained for each bias point, and the minima are found for IL. Electrical Vpi and thermal Ppi are extracted and compared to "Vpi_electrical" and "Ppi_thermal" values in source data and make sure the differences are within the tolerance values.
QA type | FOMs | QA variables |
---|---|---|
Behavior test |
|
relative_tolerances:
|
mach_zehnder_modulator_balanced_statistical_qa.lsf
mach_zehnder_modulator_unbalanced_statistical_qa.lsf
In these tests, for each FOM the Monte Carlo analysis is performed on related test-benches described above and data is compared to data saved in "<element_name>_stat_refdata.mat".
This test is a regression test. If this is the first time running QA, the "reference_data_available" flag under "QA" within the "statistical" struct in source data should be set to "false", so the Monte Carlo results from first run will be saved in the element folder as in "<element_name>_stat_refdata.mat". For consecutive runs, the "reference_data_available" flag should be set to true, and results will be compared to these statistical data and make sure the difference is within the tolerance value.
QA type | FOMs | QA variables |
---|---|---|
Regression test |
|
statistical : QA : absolute_tolerances:
|