The "library source directory" is the folder structure that contains all the required source files to build a compact model library with CML Compiler. This directory must have a specific structure to function properly with CML Compiler. This section will provide an overview of the required folder structure of the library source directory. The directory contains two primary subfolders, as well as some top-level files which contain information about the CML and logs:
- '/source/' contains the source data for each element within the CML. Inside the source folder there is a folder corresponding to each element in the library. For more information about the data stored within the source folder, see Element Source Data.
-
'/artifacts/' contains some of the output files of the CML Compiler build process. It has several primary subfolders:
- '/artifacts/interconnect/' contains the output files which CML Compiler creates for use within Ansys Lumerical INTERCONNECT (see Building a Compact Model Library for more information)
- '/artifacts/Virtuoso_INTERCONNECT_interop/' contains Virtuoso symbols CML Compiler creates for INTERCONNECT models (see Building a Compact Model Library for more information)
-
'/artifacts/veriloga/' contains Verilog-A output files which CML Compiler creates when the Verilog-A option is selected (see Building a Compact Model Library for more information).
- /models/' include compiled model files
- '/primitives/' include CML Compiler primitives
- '/artifacts/<platform>_verilogA/' contains the CDF_setup_generation.json file necessary to manually set up element CDF mapping in OptoCompiler and Virtuoso. When you select the symbol generation option during model generation (see Building a Compact Model Library for more information), this folder also contains the corresponding symbols for the models.
- '/icons/' contains template element icons available that can be copied or modified to suit the element being created.
- '<library name>.json' is the Library Master File, and contains high-level information about the library, as well as a list of elements within the library.
- 'cml-compiler.state' is a JSON-formatted log file which stores information about the current state of the library source directory.
- 'QA_INTC.log' is a log file which is created whenever the CML Compiler QA tests are run.
For information on how to deploy this folder, see Getting Started with CML Compiler.