Professional Documents
Culture Documents
Guided Practice MZI
Guided Practice MZI
This page contains 3 sections that will provide step-by-step instructions on how to create the
DEVICE project file used in the Results and discussion section. Alternatively, the project file
provided on the first page of the example can also be used to jump to the Results and
discussion section.
1. Under the Materials section of the Design tab, click on New Material button to add
three new "material" objects to the Objects Tree. Change the names for the new material
objects to "Silicon", "Oxide", and "Aluminium".
2. Next, right click on each material object and click on Add electrical properties. This will
automatically open the Electrical Material Database. Scroll down to find the corresponding
material model (see table below) from the Material List and click on Select. This will add the
appropriate electrical properties to the material object.
3. Next, right click on each material object and click on Add optical properties. This will
automatically open the Optical Material Database. Scroll down to find the corresponding
material model (see table below) from the Material List and click on Select. This will add the
appropriate optical properties to the material object.
The table below shows the corresponding electrical and optical material model names in the
material database for each material.
Geometry
The Structures section of the Design tab can be used to introduce various
types of structures into the simulation space. The available options vary from simple
rectangles and spheres to complex waveguides and planar solids. In this example, we will
use multiple rectangles to define the silicon waveguide, the metal contacts, and the
surrounding oxide cladding.
Waveguide
From the Structures section of the Design tab, select a RECTANGLE to be added to the
Objects Tree. Select the rectangle in the Objects Tree and click on the "Edit Properties"
button to edit the properties of the rectangle according to the following table.
1
tab property value
name Waveguide
Geometry x (um) / x span (um) 0 / 0.5
y (um) / y span (um) 0 / 1.01
z (um) / z span (um) 0.2 / 0.4
Material material Silicon
pad
Go to the Structures section of the Design tab and select a RECTANGLE. Set the properties
of the rectangle according to the following table.
buried oxide
Go to the Structures section of the Design tab and select a RECTANGLE. Set the properties
of the rectangle according to the following table.
surface oxide
Go to the Structures section of the Design tab and select a RECTANGLE. Set the properties
of the rectangle according to the following table.
source
Go to the Structures section of the Design tab and select a RECTANGLE. Set the properties
of the rectangle according to the following table.
2
drain
Go to the Structures section of the Design tab and select a RECTANGLE. Set the properties
of the rectangle according to the following table.
The resulting geometry should appear as shown below. Note that the transparency of the top
oxide layer has been set to 70% to improve the visualization.
Simulation Region
Edit the properties of the Simulation Region object in the Objects Tree according to the
following table:
3
CHARGE Solver
Click on the CHARGE button from the Solvers section of the Design tab to add a
CHARGE solver and edit its properties according to the following table:
Doping Profile
pepi
Press the Constant doping button from the Doping section of the CHARGE tab to
add a constant doping profile. Set the properties according to the following table:
property value
name pepi
x (um) / x span (um) 0 / 3.2
y (nm) / y span (um) 0 / 1.5
z (um) / z span (um) 0 / 2.2
volume type all domains
Dopant type p
concentration(cm-3) 1e+15
4
drain pwell
Press the Diffusion doping button from the Doping section of the CHARGE tab to
add a diffusion doping profile. Set the properties according to the following table:
property value
name drain pwell
x (um) / x span (um) 1.125 / 1.15
y (um) / y span (um) 0/1
z (um) / z span (um) -0.1495 / 0.301
volume type all domains
Dopant type p
source face upper z
junction width (um) 0.2
distribution function erfc
concentration(cm-3) 1e+18
ref concentration(cm-3) 1e+6
source nwell
Press the Diffusion doping button from the Doping section of the CHARGE tab to
add a diffusion doping profile. Set the properties according to the following table and
screenshot:
property value
name source nwell
x (um) / x span (um) -1.125 / 1.15
y (um) / y span (um) 0/1
z (um) / z span (um) -0.1495 / 0.301
volume type all domains
Dopant type n
source face upper z
junction width (um) 0.2
distribution function erfc
concentration(cm-3) 1e+18
ref concentration(cm-3) 1e+6
5
Waveguide p+
Press the Implant doping button from the Doping section of the CHARGE tab to add an
implant doping profile. Set the properties according to the following table:
Waveguide n
Press the Implant doping button from the Doping section of the CHARGE tab to add an
implant doping profile. Set the properties according to the following table:
6
z (um) 0.4
x y
-1 -0.5
vertices -0.05 -0.5
-0.05 0.5
-1 0.5
volume type domain
volume domains 5
Boundary Conditions
Electrical Contact
To visualize a doping profile, a simulation must be run. To run a simulation, the contacts must
first be defined, as well as the simulation region. DEVICE does not currently allow floating
contacts. Each metal (conductor) structure in the simulation region must be defined as a
contact. If a contact is not specified, it will be automatically set to 0V applied.
source
Click the Electrical button under the Boundary Conditions section of the CHARGE tab.
Set the properties according to the following table:
drain
Click the Electrical button under the Boundary Conditions section of the CHARGE tab.
Set the properties according to the following table:
7
Surface Recombination
Also, add a surface recombination between Al and Si by clicking the Surface Recombination
button from Boundary Conditions section of the CHARGE tab and editing its
properties according to the following table:
Monitors
Monitors can be added to the simulation to record different simulation results from different
regions. In this example we will use a charge monitor to record the charge distribution in the
waveguide. The data recorded by the monitor will be transferred to FEEM solver for optical
simulation of the waveguide. We will also add a second charge monitor that will be used to
calculate the capacitance of the device.
charge monitor
Add a charge monitor by clicking on the "Charge" button in the "Monitors" section under the
CHARGE tab. The monitor appears as a child to the CHARGE solver. Select the monitor in
the Objects Tree and click on the edit button to edit the properties according to the following
table:
8
integrate total charge enabled
Geometry x (um) / x span (um) 0 / 2.5
y (um) 0
z (um) / z span (um) 0.2 / 0.6
Mesh Constraint
In Solver section under the CHARGE tab, press on the CONSTRAINT button to
add a Mesh Constraint to the objects tree. Select it from the Objects Tree (under CHARGE)
and click on the "Edit Properties" button to edit the properties according to the following
table.
Simulation Region
DEVICE project files support multiple simulation regions. Alternatively, a single simulation
region can be assigned to multiple solvers. In this example, we will use the same simulation
region for both the CHARGE and the FEEM solvers.
FEEM Solver
In the Solvers section of the Design tab select the button to place an FEEM solver in
the simulation environment. Note that once the solver is selected, all the simulation objects
(i.e. constraints, boundary conditions, etc.) belonging to the solver become available under
a new tab named FEEM. Select the FEEM object from the Objects Tree and click on the
"Edit Properties" button to edit the properties according to the following table.
9
Check Partitioned Volume
Click on the "Partition simulation region" button to view the partitioned volume (Fig.
below). The partitioned volume mode shows the entire simulation volume and identifies the
different domains and surfaces. Each domain and surface has a unique identifier and they
are listed under the "simulation region" in the Objects Tree. As you select different domains
and surfaces in the Objects Tree the corresponding volume or surface gets highlighted in the
partitioned volume. In the figure below "domain 5" is highlighted in the partitioned volume
which the domain defining the entire silicon waveguide.
Boundary Conditions
The last step in setting up the simulation is to add the boundary conditions at the simulation
boundaries.
PEC
In most FEEM simulation, the simulation boundaries are defined as perfect electrical
conductors using the PEC boundary condition. Click on the PEC button in the Boundary
Conditions section under the FEEM tab in the tabbed toolstrip and add a PEC object in the
objects tree. Click on the "Edit Properties" button to edit the properties according to the
following table.
10
to add a perturbation to an existing material index within a certain region. In this example,
we will calculate the index perturbation of silicon due to variations in charge density and add
that to the index of the "Silicon" material using the (n,k) material attribute.
To do this, add an (n,k) material attribute to the Objects Tree by clicking the "(n,k) Material"
the button in the Attributes section under the FEEM tab. The object appears as a child of the
FEEM solver region. Edit the properties according to the following table. We will load index
data into this object later in the Results and discussion section.
Mesh Constraint
In Solver section under the FEEM tab, press on the CONSTRAINT button to
add a Mesh Constraint to the objects tree. Select it from the Objects Tree (under FEEM) and
click on the "Edit Properties" button to edit the properties according to the following
table.
Parameter Sweep
In the FEEM simulation we will perform a parameter sweep to sweep the voltage of the
imported index data and calculate the optical modes at each bias point. To do this we will
create a parameter sweep object in the "Optimizations and Sweep" window on the right hand
side.
voltage
Click on the "Create new parameter sweep" button in the "Optimizations and Sweep"
window. Once the sweep object gets created open up the property editor, click on the "Add"
buttons to add a 'Parameter' and a 'Result' and edit the values according to the following
table.
11
Stop -4
Results Name neff
Result ::mode::FEEM::modeproperties
Error Check
The project file is now set up. Next check if there is any error in the simulation setup by
clicking on the "Check" button. This will open up the "Error Checking and Diagnostics"
window that shows any error in the simulation setup as well information about the different
simulation objects. There should be no warnings.
NOTE: the partition volume must be generated before using the Check button.
12
RESULTS
Geometry and Doping
Open the MZI_gs.ldev project file. The MZI is specified as follows:
•A 450 nm silicon layer is grown on a thick
silicon dioxide (oxide) layer.
•The waveguide is defined as a 500 nm wide
region, and the remaining silicon is etched
back 400 nm to leave a waveguide 400 nm
thick and 500 nm wide, which sits on a 50
nm silicon pad.
•Metal (aluminum) contacts are defined with
a distance of 500 nm to the edge of the
waveguide. They are 100 nm thick.
•The top surface system is passivated with a
thick layer of oxide.
To define the space-charge regions in the silicon, dopants must be added. First, the
background doping concentration of the silicon is set to represent a p-type epitaxial layer with
a concentration of 1x1015cm-3. This is accomplished by defining a region of constant doping
that encompasses the entire geometry.
CHARGE Results
Click on the calculate mesh button from the CHARGE tab to mesh the structure. Notice
that every time there is data available to be viewed, the icon of the object in the object tree
13
containing results, will have a small red sign in the corner indicating that it contains results.
In this case, the simulation region will have this indicator . Right click on the
"CHARGE" object and click "visualize" and then "grid". The visualizer window will open.
Select the "ID" attribute from the Attributes box and press "W" key on the keyboard to view
the calculated mesh structure. You should see something similar to the screenshot
below. The "ID" result shows the different domains in the simulation region. Note that the
mesh is finer inside the silicon domain due to the mesh attribute and is the finest at the center
of the waveguide since the doping there changes sharply (from p- to n-type).
Click the Run button so the simulation runs. Again, after the simulation is complete,
the simulation region will have this indicator . Right click on the CHARGE object
and select visualize. You will notice that you can pick a quantity to visualize. After selecting
the 'charge' quantity, from the visualizer window chart settings, you can choose to plot the
carrier concentrations in log scale to more clearly recognize the depletion region. The
following screenshot shows the plot for 'n' and 'p' attributes in log scale.
The change in the carrier density can lead to changes in the values of refractive index and
absorption coefficient in semiconductors. This phenomenon is often used in modulation and
switching of guided waves as it results in perturbation of the resulting mode effective index.
Calculations for design of such devices can be modeled by importing the charge density into
the FEEM solver and examining the effects of the index change.
14
Edit the “drain” boundary condition to perform a sweep of the drain voltage with the following
parameter:
tab property value
General bc mode steady state
sweep type single
start (V) 0
stop (V) -4
interval (V) -0.5
number of points 9 (autoset)
•Click OK to confirm the edits, the application will revert to layout mode.
•In the CHARGE toolstrip tab, click “Run” and wait for the simulation to complete.
•Right click on the CHARGE object in the objects tree, and select Visualize > charge.
•In the visualizer window, select “n” from the “attributes” pane.
•Press E to edit plot settings, and select “log scale” from the axis scale options pane. The
image should resemble the electron concentration plot in the figure below.
To examine the electron distribution as a function of applied bias, from the list of parameters,
select "V_drain" This will bring up the slider to choose a drain bias voltage from the bias
sweep. Use the up and down arrows to change the applied bias for visualization. As the drain
contact voltage is made more negative, observe that the depletion layer widens, pushing free
charge out of the waveguide. The screen shot below illustrates the visualization for V drain = -
2.5V.
The "charge_monitor" will record the carrier concentrations n and p to get the change in the
overall charge and import the results to a .mat file, wg_charge.mat. To calculate the effect
15
of the change in the carrier density on the waveguide loss and effective index, an FEEM
simulation will be run next.
Capacitance
Before moving to the optical simulation, we can also use the result from the CHARGE
simulation to calculate the capacitance of the pn junction. A similar approach to the one used
in the capacitance calculation on the p-n junction diode page can be used to calculate the
junction capacitance in this case as well. To do that open and run the
script junction_capacitance.lsf. The junction capacitance based on electrons as well
as based on holes is calculated. The capacitance values are in agreement for both
calculations based on electron and hole concentrations as expected.
Index Perturbation
Open the script file MZI_index_perturbation.lsf. The script file loads the charge
density data saved in the wg_charge.mat file and calculates the perturbation to the
refractive index of silicon using the Soref-Bennett model [1]. The model is described in this
KB page: Charge to index conversion. When run, the script file will calculate the perturbation
to the Silicon index at a wavelength of 1550 nm, save the data in a dataset, and load the data
into the (n,k) material attribute under the FEEM solver in the project file.
FEEM Results
Right click on the "nk import" object and right click to select visualize. The visualizer window
will show the real part of the imported index data. You can click on the "scalar operation"
option to switch and view the imaginary part of the index as well. Note that the index data is
a function of applied voltage and the slider at the bottom can be used to view the data at
different bias voltages.
16
Next, go to the property editor of the "nk import" object and ensure that the "attribute
assignment behavior" is set to "accumulation" (the script should automatically do this). In
this mode the index data loaded into the n,k import object gets added on top of the index of
the material in the domain where the attribute is applied to. In this example that is the silicon
index of domain 5 (set in the Geometry tab of the object). If the "all domain" option is selected
then the index gets applied to any mesh point that falls inside the volume of the extent of the
imported data.
Once the testing is complete, click OK. Run the FEEM solver the clicking the RUN
button. The solver will calculate the index of the different optical modes and the results will
become available in the solver object. Right click on the FEEM solver object and select
"modeproperties" to visualize the effective index of the different optical modes for an optical
wavelength of 1.55 um. The same dataset provides the propagation loss for each mode as
well.
17
The "fields" dataset, also available in the FEEM solver object, can be visualized to view the
electric and magnetic field profiles of the different optical modes. The figure below shows
the electric field profile for the first mode or the fundamental TE mode (left) and the second
mode or the fundamental TM mode (right).
The index profile of the structure is also provided as a result in the "grid" dataset. Note that
the "grid" result can also be achieved by simply calculating the mesh (even without running
the FEEM solver).
18
Sweeping the bias voltage
Under the sweeps and optimization tab, a sweep object is set up to sweep over the voltage
range and return the effective index of the resulting mode. In DEVICE, every time the
simulation is run, the mesh is calculated randomly. During the sweep, since multiple files are
generated and run separately, each file can have slightly different mesh. To ensure that the
mesh is identical between all the simulation files, we can first calculate the mesh and lock it
in the FEEM solver.
script voltage_sweep_FEEM.lsf. The script extracts the sweep data and plots
the change in the effective index and the loss of the fundamental TE mode as a function of
applied bias.
19
In addition, the modulation response is calculated by assuming a balanced Mach-Zehnder
type configuration with a modulation length of 1 cm. The plot below shows that the VpiLpi of
the modulator is 2.5 V-cm.
20