This is a photonic model that combines two or more elements of a library into one element. This is particularly useful for reducing the number of elements in the library by including all the similar elements (for example, all the Si waveguides) into a single container element. The CML user can then select which one of elements included in the container should be used in the simulation after adding the element in the simulation. Children (sub-elements) can be either passive or active elements and can use any of the available photonic models. This element can support parameters that are supported by children elements.
Lumfoundry Templates: container_example
Statistical Modeling Support: No
Supported Parameters: User-defined (depends on parameters supported by children elements)
Tuning Support: No.
Interoperability with Cadence Virtuoso:
- Circuit design flows using INTERCONNECT model: Yes.
- Circuit design flow using photonic Verilog-A model: No.
Model Information
-
Foundry .XML setup:
1. The foundry .XML file should include the container element as well as its children (sub-elements) as stand-alone elements listed under the element list.
2. It is required that the children should be listed above the container element in the element list so that they are built before the container is built.
3. The children should also be listed in a "sub-element" list under the container element.
4. In order to avoid including the children as stand-alone elements in the generated library, a <remove_sub_elements> tag can be added under the container element
5. A selection code which selects an specific child of the container needs to be added under each child in the sub-element list.
6. For an example of how the above-mentioned requirements are implemented in the foundry .XML file, please see lumfoundry.xml (elements "container_example", "container_element_child1", "container_element_child2").
-
Container element source data and .LSF file setup:
1. The .LSF file for the container element should include the children names, a list of parent and children elements parameters and selection code for selecting each child based on the user's input. For an example, please refer to the source data files for elements "container_example", "container_element_child1", and "container_element_child2" in lumfoundry template.
2. A child's parameters will be inherited from its parent container
3. Once the library is built, the QA scripts for each child element will be created under its own source data folder. The container element itself will not have any QA script created.