Overview
Quality assurance (QA) tests help ensure that the elements in your library are behaving as expected. This gives you confidence in your CML before distributing it.
CML Compiler automatically generates standard QA tests for each element in the library. The tests for each photonic model are unique and QA variables provided in the element source data file are used. The following types of tests are used:
- Behavior test: Run simulation to extract data, then analyze. Compare simulation results to input data values provided in source data file and check that they match within your acceptable tolerance.
- Regression test: Compare raw simulation results against previously extracted/saved simulation results and check for agreement within tolerance.
In this type of test, if reference data is not available (and "reference_data_available : false" in the element source data file), the first run of QA saves the statistical results in a file named <element_name>_stat_refdata.mat. These results should be then checked and validated manually. In consecutive runs, the results will be compared to the data stored in this file and made sure the difference is within the tolerance. - Self-consistency test: Check that data is passive (won't return gain) and reciprocal.
- Simulator/data processing test: Compare frequency domain simulation and time domain simulation results. Check for agreement within tolerance.
For information on how to create and run QA tests with CML Compiler, see Creating and Running QA Tests
CML Compiler also supports custom QA tests for INTERCONNECT elements. This provides you the flexibility to design your own test benches and perform checks.
For more information on QA tests for different photonic models please see the QA description pages.