Manufacturing variations of photonic components can be statistically measured at various physical levels (intra-die, die-to-die, wafer-to-wafer, and batch-to-batch), and depending on manufacturing process spatial correlation of non-uniformity can be in different length scale.
INTERCONNECT allows users to specify GLOBAL level (i.e., global base) and LOCAL level (i.e., per- instance base) variations for statistical parameters, which is consistent with conventions of EDA SPICE models. Besides, spatial correlation can be enabled at the LOCAL level to introduce instance-to-instance correlations based on their physical locations in a layout, where the correlation coefficient for components’ parameter is determined by a correlation length \(L\) and components’ origin-to-origin physical distance \(d\):
$$coeff=e^{-2(d/L)^2}$$
This page describes how to define spatial correlations for Monte Carlo analysis in INTERCONNECT and gives some examples of how to define correlations in different use cases. For more information on how to set up a Monte Carlo analysis, see Monte Carlo analysis utility. This page also give an introduction to the spatial correlation visualizer.
Defining spatial correlations in a library file
Spatial correlations between model parameters can be pre-defined in the .lib file with the use of correlation groups. Correlation groups are created using the CORRGROUP command in the .lib file, along with a name and correlation length for the group. The parameters of models can be added to a correlation group by tagging them with the correlation group name (see the example below). Note that parameters can only be placed in a single correlation group, and all of the parameters in a correlation group must be either in the same GLOBAL group or without GLOBAL group definitions.
The values of these tagged parameters will be correlated in a Monte Carlo sweep based on the correlation length of the group and the distance between the elements in the INTERCONNECT testbench. The positions of the elements are specified using their “x coordinate” and “y coordinate” properties (note that these are different than the element’s “x position” and “y position” properties, which specify where the elements are placed in the Schematic Editor).
Below is an example of a .lib file with two spatial correlation groups, corr_L_delta_width and corr_L_delta_height. In this file, the delta_width and delta_height parameters of the elements with the WG and MMI models will be correlated, with a correlation length of 2 mm and 3 mm, respectively.
.LIB statistical
.CORRGROUP corr_L_delta_width=2e-3
.CORRGROUP corr_L_delta_height=3e-3
.MODEL WG
+ delta_height=0 LOCAL=(normal,1) CORRGROUP=corr_L_delta_height
+ delta_width=0 LOCAL=(normal,1) CORRGROUP=corr_L_delta_width
.MODEL MMI
+ delta_height=0 LOCAL=(normal,1) CORRGROUP=corr_L_delta_height
+ delta_width=0 LOCAL=(normal,1) CORRGROUP=corr_L_delta_width
.ENDL
If two waveguide elements with the WG model and one MMI element with the MMI model are placed in an INTERCONNECT simulation and this library is imported into a Monte Carlo sweep with spatial correlations enabled, the correlation groups will appear under the “Correlations” tab of the Monte Carlo sweep object:
Examples
For accurate modeling, users need to map their measured statistical data to GLOBAL and LOCAL variations for each statistical model parameter, and accordingly define the correlation length(s) for spatially correlated statistical parameters. Here, we will discuss a few typical use cases for spatial correlation, to guide users through this feature.
Case 1: Variations at the intra-die level are not uniform, and have spatial correlation
In this case, statistical data for intra-die variations determine LOCAL distribution for each statistical parameter. GLOBAL group and distribution can be optionally defined based on the data for die-to-die variations (or combining with wafer-to-wafer, and batch-to-batch variations if they are available). Spatial correlation group(s) should be defined for correlated statistical parameters, with spatial correlation length(s) measured at the intra-die level.
In the following example .LIB file, delta_width and delta_height are the two statistical parameters for model_1, model_2, and model_3, and their corresponding LOCAL distributions are characterized by the measured intra-die variations. width_corr_length and height_corr_length are the two spatial correlation groups defined for delta_width and delta_height, respectively, with correlation lengths of 1 mm. For two circuit components that are 200 um apart, their statistical parameters delta_width are correlated by a coefficient of 0.923, according to the equation in above.
…
.LIB statistical
.GLOBALGROUP GLOBAL_width=(normal,0.1)
.GLOBALGROUP GLOBAL_height=(normal,0.1)
.CORRGROUP width_corr_length=1e-3
.CORRGROUP height_corr_length=1e-3
.MODEL model_1
+ delta_width=0 LOCAL=(normal,0.5) CORRGROUP=width_corr_length GLOBALGROUP=GLOBAL_width
+ delta_height=0 LOCAL=(normal,0.2) CORRGROUP=height_corr_length GLOBALGROUP=GLOBAL_height
+ library="example_library"
.MODEL model_2
+ delta_width=0 LOCAL=(normal,0.5) CORRGROUP=width_corr_length GLOBALGROUP=GLOBAL_width
+ delta_height=0 LOCAL=(normal,0.2) CORRGROUP=height_corr_length GLOBALGROUP=GLOBAL_height
+ library="example_library"
.MODEL model_3
+ delta_width=0 LOCAL=(normal,0.5) CORRGROUP=width_corr_length GLOBALGROUP=GLOBAL_width
+ delta_height=0 LOCAL=(normal,0.2) CORRGROUP=height_corr_length GLOBALGROUP=GLOBAL_height
+ library="example_library "
.ENDL
Case 2: Intra-die variations are highly uniform
In this case, statistical data for intra-die variations determine LOCAL distribution for each statistical parameter. GLOBAL group and distribution can be optionally defined based on the data for die-to-die, wafer-to-wafer, and batch-to-batch variations, if available. Spatial correlation group(s) should be defined for components’ statistical parameters, with spatial correlation length(s) being much greater that the die size, which applies strong correlations to circuit components within the die.
For instance, in the following example .LIB file, spatial correlation lengths for groups width_corr_length and height_corr_length are set to 2 cm. For two circuit components that are 200 um apart in the same die, their statistical parameter delta_width are correlated by a coefficient of 0.9998.
…
.LIB statistical
.GLOBALGROUP GLOBAL_width=(normal,0.1)
.GLOBALGROUP GLOBAL_height=(normal,0.15)
.CORRGROUP width_corr_length=0.02
.CORRGROUP height_corr_length=0.02
.MODEL model_1
+ delta_width=0 LOCAL=(normal,0.5) CORRGROUP=width_corr_length GLOBALGROUP=GLOBAL_width
+ delta_height=0 LOCAL=(normal,0.2) CORRGROUP=height_corr_length GLOBALGROUP=GLOBAL_height
+ library="example_library"
.MODEL model_2
+ delta_width=0 LOCAL=(normal,0.5) CORRGROUP=width_corr_length GLOBALGROUP=GLOBAL_width
+ delta_height=0 LOCAL=(normal,0.2) CORRGROUP=height_corr_length GLOBALGROUP=GLOBAL_height
+ library="example_library"
.MODEL model_3
+ delta_width=0 LOCAL=(normal,0.5) CORRGROUP=width_corr_length GLOBALGROUP=GLOBAL_width
+ delta_height=0 LOCAL=(normal,0.2) CORRGROUP=height_corr_length GLOBALGROUP=GLOBAL_height
+ library="example_library "
.ENDL
Case 3: Investigate the yield of circuits on specific region on the wafer, where die-to-die correlation is known to be strong (e.g., for wafer having island/donut shape non-uniformity, dies on the same wafer ring are correlated and circuits on those dies are more likely to match)
In this case, both data for intra-die and die-to-die variations are corrected only at the specific wafer region under investigation. The data for intra-die variations determine LOCAL distribution for each statistical parameter, and the die-to-die variations defines GLOBAL group(s) and distribution(s). Spatial correlation group(s) should be defined for correlated statistical parameters, with spatial correlation length(s) measured at the die-to-die level. User can refer to the example .LIB file of case 2 for a reference.
Case 4: Variations at the intra-die level are random, with no spatial correlation
In this case, intra-die variations determine LOCAL distribution for each statistical parameter. GLOBAL group and distribution can be optionally defined based on the data for die-to-die, wafer-to-wafer, and batch-to-batch variations, if available. No spatial correlation group is defined in the .LIB file, as shown in the following example. In a Monte Carlo analysis, statistical parameters delta_width and delta_height vary independently.
…
.LIB statistical
.MODEL model_1
+ delta_width=0 LOCAL=(normal,0.5)
+ delta_height=0 LOCAL=(normal,0.2)
+ library="example_library"
.MODEL model_2
+ delta_width=0 LOCAL=(normal,0.5)
+ delta_height=0 LOCAL=(normal,0.2)
+ library="example_library"
.MODEL model_3
+ delta_width=0 LOCAL=(normal,0.5)
+ delta_height=0 LOCAL=(normal,0.2)
+ library="example_library "
.ENDL
Spatial correlation visualizer
With the spatial correlation defined in the CML library file, after loading the library into INTERCONNECT Monte Carlo analysis window, users can use the "Preview" option to visualize the spatial correlation amongst the elements.
The example in above shows spatial correlations among elements "RM_1", "RM_2", and "WG_1", which are distributed at different location in a layout. Three spatial correlation groups are defined for the statistical parameters. Click on the "Preview" button under one of the correlation group will show the preview of the spatial correlations amongst elements' statistical parameters:
Elements' statistical parameters are represented by blue points in the preview plot. The blue points represent the relative physical location of elements (referring to the central element) and the spatial correlation length of the group is indicated at the bottom of the plot. Users can click on any element statistical parameter to use it as the reference (center) for other elements' statistical parameters. Users can hover over each blue point to visualize its spatial correlation coefficient with respect to the central parameter, and the spatial correlation coefficient for the central parameter to itself is always 1. The plot in above shows spatial correlations for group 'corr_delta_height', where parameter 'RM_1_delta_height' is selected as the center. The following is the same spatial correlation plot with parameter 'WG_1_delta_height' at the center and with correlations to 'WG_1_delta_height' and 'RM_1_delta_height' indicated in the plot:
See also
Monte Carlo scripting commands