Download as pdf or txt
Download as pdf or txt
You are on page 1of 20

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. Material and Geometry Definition


Material
To accurately model the MZI, a system of materials with associated properties must be
defined. For this example, material models for silicon, aluminium, and silicon dioxide (SiO2)
needs to be added to the project file. Both the electrical (and thermal) and optical material
databases of DEVICE contain electrical and optical properties for these materials. These
models must be added to different material objects in the Objects Tree to use them in a
simulation. This can be done easily by following the steps described below:

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.

Material Electrical model name Optical model name


Silicon Si (Silicon) Si (Silicon) - Palik
Oxide SiO2 (Glass) - Sze SiO2 (Glass) - Palik
Aluminium Al (Aluminium) - CRC Al (Aluminium) - CRC

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.

tab property value


name pad
Geometry x (um) / x span (um) 0 /3
y (um) / y span (um) 0 /1.01
z (um) / z span (um) -0.025 / 0.05
Material material Silicon

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.

tab property value


name buried oxide
Geometry x (um) / x span (um) 0 / 3
y (um) / y span (um) 0 / 1
z (um) / z span (um) -0.75 / 1.4
Material material Oxide

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.

tab property value


name surface oxide
Geometry x (um) / x span (um) 0 / 3
y (um) / y span (um) 0 / 1
z (um) / z span (um) 0.7 / 1.4
Material material Oxide
mesh order 5

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.

tab property value


name source
Geometry x (um) / x span (um) -1.125 / 0.75
y (um) / y span (um) 0 / 1
z (um) / z span (um) 0.05 / 0.1
Material material Aluminium

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.

tab property value


name drain
Geometry x (um) / x span (um) 1.125 / 0.75
y (um) / y span (um) 0 / 1
z (um) / z span (um) 0.05 / 0.1
Material material Aluminium

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.

2. CHARGE Simulation Setup


With the material properties and geometry defined, we will set up the CHARGE simulation
next.

Simulation Region
Edit the properties of the Simulation Region object in the Objects Tree according to the
following table:

tab property value


Name simulation region
General dimension 2D Y-normal
boundaries (all) closed
Geometry x (um) / x span (um) 0 / 2.4
y (um) 0
z (um) / z span (um) 0 / 2.4

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:

tab property value


General simulation region simulation region
solver mode steady state
temperature dependence isothermal
simulation temperature (K) 300
Mesh Minimum edge length (um) 0.005
Maximum edge length (um) 0.3

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.

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:

tab property value


name Waveguide p+
General dopant type p
concentration(cm-3) 2.5e+17
source theta 0
source phi 0
distribution fundtion pearson4
range 0.3
straggle 0.5
skewness 0.5
kurtosis 7
lateral scatter 0.1
Geometry surface normal z
x (um) 0
y (um) 0
z (um) 0.4
x y
0.05 -0.5
vertices 1 -0.5
1 0.5
0.05 0.5
volume type domain
volume domains 5

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:

tab property value


name Waveguide n
General dopant type n
concentration(cm-3) 1.5e+17
source theta 0
source phi 0
distribution fundtion pearson4
range 0.3
straggle 0.5
skewness 0.5
kurtosis 7
lateral scatter 0.1
Geometry surface normal z
x (um) 0
y (um) 0

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:

tab property value


name source
General bc mode steady state
force ohmic true
sweep type single
voltage 0
Geometry surface type solid
solid source

drain

Click the Electrical button under the Boundary Conditions section of the CHARGE tab.
Set the properties according to the following table:

tab property value


name drain
General bc mode steady state
force ohmic true
sweep type single
voltage 0
Geometry surface type solid
solid drain

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:

tab property value


name surface_recombination
General electron velocity (cm/s) 1e+07
hole velocity (cm/s) 1e+07
apply to majority carriers disabled
Geometry Surface type material:material
Material 1 Silicon
Material 2 Aluminium

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:

tab property value


name charge_monitor
General monitor type 2D y-normal
record electrons enabled
record holes enabled
save data enabled
filename wg_charge.mat
Geometry x (um) / x span (um) 0 / 2.5
y (um) 0
z (um) / z span (um) 0.2 / 0.6

total 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:
tab property value
name total_charge_monitor
General monitor type 2D y-normal
record electrons enabled
record holes enabled
save data disabled

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.

section property value


name mesh
Geometry geometry type volume
volume type domain
volume domains 5
max edge length (um) 0.01

3. FEEM Simulation Setup


The final step in creating the project file is to set up the FEEM simulation.

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.

tab property value


General simulation region simulation region
Mesh edges per wavelength 3
refine based on material properties enabled
polynomial order 3
Modal Analysis sweep type single > wavelength
wavelength (um) 1.55
number of trial modes 5
use max index enabled

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.

tab property value


name PEC
Geometry surface type simulation region
x min enabled
x max enabled
z min enabled
z max enabled

NOTE: If no boundary conditions are defined then the boundaries of an FEEM


simulation region defaults to PEC boundary condition. Therefore for this particular
simulation we can also choose to not define any boundary condition at the
simulation boundaries and get the same result.

(n,k) Material Attribute


In order to model the index perturbation due to charge density in the silicon waveguide, we
will use the n,k material attribute in the FEEM solver. This attribute can be used to either
directly define the spatial index variation of a material within the certain region or can be used

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.

tab property value


name nk import
Geometry x (um) 0
y (um) 0
z (um) 0
volume type domain
volume domains 5

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.

section property value


name wg_mesh
General Maximum edge length (um) 0.02
Geometry geometry type surface
surface type domain
domain 5

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.

section property value


name voltage
Solver FEEM
Parameters Type Ranges
Number of Points 9
Name V
Parameter ::model::FEEM::nk import::V
Type Number
Start 0

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.

Save Project File


The project file is now complete. Click on the "File" tab in the toolbar and select "Save" to
save the project file. Set the name to MZI_gs.ldev.

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.

Defining the pn Junction in the Waveguide


To define a pn junction, we will use the analytic profiles of the implant doping objects to mimic
the behavior of an ion implant. The impant doping profiles are 3D objects that define a doping
profile according to an analytic distribution (Gaussian or Pearson IV). At the contact pwell
and nwell we will use the analytic profiles of the diffusion doping objects to mimic the doping
profile. The diffusion doping objects are also 3D objects that define a doping profile using
either a Gaussian or a complementary error function. To model the background doping of
the silicon layer we will use a constant doping object. The doping objects in the CHARGE
solver are additive so when multiple doping objects are added to the same simulation volume
their values add to each other in the overlapped regions (n- and p-type doping having
opposite signs) and create a net overall doping profile. The figure below shows the different
doping objects used in this simulation setup in partitioned volume mode.

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.

•Click on the mesh button to calculate the mesh.


•Right-click on the FEEM solver object and select 'Lock Mesh'.
•In order to make the individual simulations faster, set the 'number of trial modes' to 1 in the
property editor window of the FEEM solver.
Once these two changes are done, right click on the sweep object (voltage) and click Run.
Once the sweep is complete, open and run the

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.

Transmission versus bias voltage

20

You might also like