Compound is a hierarchical element that contains other elements
Keywords
Properties
General Properties
Name | Default value | Default unit | Range |
---|---|---|---|
name Defines the name of the element. |
Compound Element | - | - |
annotate Defines whether or not to display annotations on the schematic editor. |
true | - | [true, false] |
enabled Defines whether or not the element is enabled. |
true | - | [true, false] |
type Defines the element unique type (read only). |
Compound Element | - | - |
description A brief description of the elements functionality. |
Compound is a hierarchical element that contains other elements | - | - |
prefix Defines the element name prefix. |
COMPOUND | - | - |
model Defines the element model name. |
- | - | - |
library Defines the element location or source in the library (custom or design kit). |
- | - | - |
local path Defines the local path or working folder $LOCAL for the element. |
- | - | - |
url An optional URL address pointing to the element online help. |
- | - | - |
expandable Defines whether or not the user can access the internal elements of the compound. |
true | - | [true, false] |
Thermal Properties
Name | Default value | Default unit | Range |
---|---|---|---|
temperature Defines the temperature. |
%temperature% | K | (-∞, +∞) |
Numerical Properties
Name | Default value | Default unit | Range |
---|---|---|---|
scattering data analysis Enables the scattering data analysis solver. |
false | - | [true, false] |
modes List of optical mode labels supported by the element. |
TE | - | - |
Numerical/Digital Filter Properties
Name | Default value | Default unit | Range |
---|---|---|---|
digital filter type Defines the digital filter type used to fit the element transfer function in time domain. |
FIR | - | [single tap, FIR, IIR |
number of taps estimation Defines the method used to estimate the number of taps of the digital filter. |
fit tolerance | - | [disabled, fit tolerance, group delay |
filter fit tolerance Defines the mean square error for the fitting function. |
0.05 | - | (0, 1) |
filter fit number of iterations This determines the maximum number of iterations required before fitting reaches the tolerance error. |
50 | - | [1, +∞) |
filter fit rolloff Defines the frequency roll off for the fitting function. |
0.05 | - | [0, 1) |
window function Defines the window type for the digital filter. |
rectangular | - | [rectangular, hamming, hanning |
number of fir taps Defines the number of coefficients for digital filter. |
256 | - | [1, +∞) |
maximum number of fir taps Defines the number of coefficients for digital filter. |
4096 | - | [1, +∞) |
filter delay Defines the time delay equivalent to a number of coefficients for digital filter. |
0 | s | [0, +∞) |
number of iir taps Defines the number of coefficients for digital filter. |
4 | - | [2, +∞) |
maximum number of iir taps Defines the number of coefficients for digital filter. |
20 | - | [2, +∞) |
initialize filter taps Defines whether to use the initial input signal to initialize filter state values or to set them to zero values. |
false | - | [true, false] |
Simulation Properties
Name | Default value | Default unit | Range |
---|---|---|---|
bitrate The output signal bitrate. |
%bitrate% | bits/s | (0, +∞) |
time window The duration of the generated signal. This is typically set by the global properties in the root (top-most) element. |
%time window% | s | (0, +∞) |
sample rate The sample rate of the generated signal. This is typically set by the global properties in the root (top-most) element. |
%sample rate% | Hz | [0, +∞) |
output signal mode The output signal mode. |
%output signal mode% | - | [sample, block |
number of output signals The number of simulation runs, or the number of generated signals. |
%number of output signals% | - | [1, +∞) |
Script Properties
Name | Default value | Default unit | Range |
---|---|---|---|
run setup script Defines whether to run setup script automatically or to force the setup script to run at the beginning of the simulation. |
automatic | - | [automatic, always |
Design Kit Properties
Name | Default value | Default unit | Range |
---|---|---|---|
version |
- | - | - |
internal electrical equivalent Defines if the internal electrical equivalent circuits or elements are enabled. |
%internal electrical equivalent% | - | [true, false] |
Design Kit/Header Properties
Name | Default value | Default unit | Range |
---|---|---|---|
component id A component identifier, defined when importing a schematic from a file. |
true | - | - |
mcs filename The file containing a list of process design kit (pdk) names and correspondent pdk parameters. |
- | - | - |
mcs The process design kit name. |
- | - | - |
Validation Properties
Name | Default value | Default unit | Range |
---|---|---|---|
deadlock resolution Defines how do resolve simulation deadlock. Insert delays to break probable deadlocks (prevent). Locate where deadlock occurs and automatically insert delays (resolve). To run the simulation and manually resolve simulation deadlock use 'ignore' option. |
%deadlock resolution% | - | [ignore, prevent |
delay insertion Defines whether the simulator will add delays exclusively to bidirectional ports or to any output port. |
%delay insertion% | - | [output ports, bidirectional ports |
check internal monitors Defines whether or not to check for monitors inside of compound elements. |
true | - | [true, false] |
Diagnostic Properties
Name | Default value | Default unit | Range |
---|---|---|---|
run diagnostic Enables the frequency response of the designed filter implementation and the ideal frequency response to be generated as results. |
false | - | [true, false] |
diagnostic size The number of frequency points used when calculating the filter frequency response. |
1024 | - | [2, +∞) |
diagnostic data export Defines whether or not to export the calculated s-parameter to a file. |
false | - | [true, false] |
diagnostic start frequency The lower frequency limit of the analysis. |
193.05 |
THz* *std. unit is Hz |
(0, +∞) |
diagnostic stop frequency The upper frequency limit of the analysis. |
193.15 |
THz* *std. unit is Hz |
(0, +∞) |
diagnostic data filename The name of the file for writing the output data (destination). |
sparam.dat | - | - |
Results
Name | Description |
---|---|
diagnostic/response #/transmission | The complex transmission vs. frequency corresponding to the ideal and designed filter. |
diagnostic/response #/gain | The gain vs. frequency corresponding to the ideal and designed filter. |
diagnostic/response #/error | Mean square error comparing the frequency response of the designed filter implementation with the ideal frequency response. |
====================================
Compound Element
A Compound Element is a group of primitive elements that functions as a single element. In addition to simple grouping, it is possible to create parameterized group-objects by adding new properties and script code to the group. Please refer to the addproperty script command page for the details of user defined properties. Compound elements are essential for creating increasingly complex photonic integrated circuits based on hierarchical sub-circuit elements. Once created, they can be added to the element library as a Custom Element.
Compound Element is added with the "version" property under the "Design kit" category, and this property can be used to version control compound elements especially in Compact Model Libraries (CML) to distinguish the same model in different versions. Once the CML is published and installed in Design Kits, the (Compound Element) version will no longer be editable for the end users.
Before running a simulation, INTERCONNECT flattens the compound hierarchy and the circuit elements are transferred to the simulator scheduler (where the simulation runs).
Scattering data analysis
If the scattering data analysis is enabled for a Compound Element, the embedded scattering data analysis solver calculates the equivalent S-parameter data of the compound's internal circuit, and this is implemented in the simulation instead of the flattened compound circuit. In time-domain, the S-parameter data is also calculated, and an equivalent digital filter is automatically generated. The input signal bandwidth is used to calculate the frequency range and the frequency spacing for the calculated s-parameters automatically.
The equivalent S-parameter data of the compound's internal circuit can be extracted in the standard format shown in this page. For unidirectional compound elements, only relevant S-matrix entries are extracted to the file.
Notes When "scattering data analysis" option is enabled in the Compound element:
|
To enable the Compound element scattering data analysis and extract the S-parameter data:
1. Select Compound
2. Go to Property View
3. Set (in the following order):
- scattering data analysis = true
- run diagnostic = true
- diagnostic data export = true
- diagnostic data filename
4. Press run (no analyzer required)
The extracted S-parameter file follows the standard format as shown in this page. For unidirectional compound elements, only relevant S-matrix entries are extracted to the file.
Implementation Details
As with the Optical Network Analyzer, the Compound Element also supports scattering data analysis. If the property ‘scattering data analysis’ is set to true, an embedded s-parameter solver is enabled for the Compound Element.
The embedded solver will calculate the s-parameters of the internal circuit during the simulation. In time-domain the s-parameters are also calculated, and an equivalent digital filter is generated. The input signal bandwidth is used to calculate the frequency range and the frequency spacing for the calculated s-parameters. The Compound Element solver can simulate circuits with optical and electrical port types.
When creating optical or electrical circuits, the compound solver allows for solving the circuit in frequency domain first, and then generating the equivalent time domain digital filter of the whole circuit. This is more accurate than cascading independent digital filters for each element. In addition, the delay latency introduced by the multiple digital filters is minimized, since they are replaced by a single digital filter.
In the project bellow we have a demultiplexer sub-circuit, created by cascading four ring resonators.
The complex transmission of the device can be calculated using the scattering data analysis or the impulse response. There is a perfect match when comparing the complex transmission using scattering data analysis, impulse response using four cascaded digital filters with 256 coefficients each and the impulse response using the compound solver (single digital filter) with 256 coefficients.
Note: Elements that support the signal type ‘Electrical Node’, such as the electrical linear elements, require the Compound Solver when running simulations in time domain. This means the electrical linear circuit elements must be placed inside a compound element, and the ‘scattering data analysis’ property should be enabled. Running an electrical linear circuit in time domain outside of the compound element will generate an error.
The following restrictions apply to running the solver in the compound element:
- The solver can handle only one type of signal, for instance you can not mix electrical and optical input ports.
- Nonlinear or time-variant s-parameters are not supported.
- Elements that support ‘Electrical Node’ signal types can only run in time domain inside a compound element.