0% found this document useful (0 votes)
50 views

Silicon Carrier Density

Uploaded by

fredericxxxreal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
50 views

Silicon Carrier Density

Uploaded by

fredericxxxreal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 43

Part III

Active components
6 Modulators

This chapter describes how optical modulation and tuning are achieved using carrier
depletion in a pn-junction, carrier injection in a PIN junction, and the thermo-optic
effect. We discuss the modelling and design considerations for a ring modulator, vari-
able optical attenuator, active tuning techniques, and a thermo-optic switch.

6.1 Plasma dispersion effect

6.1.1 Silicon, carrier density dependence


In 1987, Soref and Bennett predicted the change in silicon’s refraction index due to
carriers [1]. This is termed the plasma dispersion effect, and is used for silicon mod-
ulators where the concentration of carriers is varied either by injecting or removing
carriers from the device. This effect will be used for high-speed pn-junction modulators,
Section 6.2, and PIN phase shifters and variable attenuators, Section 6.4. The commonly
used (e.g. [2]) phenomenological expressions are as follows:
The change in index of refraction is phenomenologically described by:
n (at 1550 nm) = −8.8 × 10−22 N − 8.5 × 10−18 P0.8
(6.1)
n (at 1310 nm) = −6.2 × 10−22 N − 6 × 10−18 P0.8 .
The change in absorption is described by:
α (at 1550 nm) = 8.5 × 10−18 N + 6 × 10−18 P [cm−1 ]
(6.2)
α (at 1310 nm) = 6 × 10−18 N + 4 × 10−18 P [cm−1 ],

where N, P are the carrier densities of electrons and holes [cm−3 ].
It should be noted that holes have a smaller absorption as compared with electrons,
whereas holes have a larger index shift. Thus, holes are most effective for providing an
index shift with minimal absorption, hence modulators typically use holes for offset-
junction designs (e.g. in Mach–Zehnder or ring modulators).
Equations (6.1) and (6.2) were updated in 2011 using more recent experimental data
as follows [3]:
n (at 1550 nm) = −5.4 × 10−22 N 1.011 − 1.53 × 10−18 P0.838
(6.3)
n (at 1310 nm) = −2.98 × 10−22 N 1.016 − 1.25 × 10−18 P0.835 .
218 Modulators

10−2

Free holes
− Dn

10−3

DN, 1550 nm
DN, 1310 nm
DP, 1550 nm
Free electrons DP, 1310 nm
10−4

1017 1018 1019 1020


−3
Carrier Density [cm ]

Figure 6.1 Change in index of refraction versus carrier density, Equations (6.3).

The change in absorption is described by:

α (1550 nm) = 8.88 × 10−21 N 1.167 + 5.84 × 10−20 P1.109


(6.4)
α (1310 nm) = 3.48 × 10−22 N 1.229 + 1.02 × 10−19 P1.089 .
The wavelength dependence can be introduced by considering the theoretical free-
carrier (Drude) model, in which both the index and absorption vary as λ2 . See also
Figures 6.1 and 6.2. Taking into account the wavelength dependence, Equations (6.1)
and (6.2) are extended with wavelength-dependent fitting parameters:

n(λ) = −3.64 × 10−10 λ2 N − 3.51 × 10−6 λ2 P0.8


(6.5)
α(λ) = 3.52 × 10−6 λ2 N + 2.4 × 10−6 λ2 P [cm−1 ],
where λ is the wavelength [m]. The wavelength dependence is plotted in Figure 6.3.

6.2 pn-Junction phase shifter

6.2.1 pn-Junction carrier distribution


The impurity and carrier distributions in a carrier-depletion phase modulator are illus-
trated in Figure 6.4. We have the following assumptions or approximations for the
pn-junction.
• The diffused pn-junction is approximated by a step or abrupt junction where the
impurity profile changes abruptly across the mask-defined doping boundary.
6.2 pn-Junction phase shifter 219

103

DN, 1550 nm
DP, 1550 nm
102 DN, 1310 nm
DP, 1310 nm
Da [cm−1]

101

100

1017 1018 1019 1020


−3
Carrier Density [cm ]

Figure 6.2 Change in absorption versus carrier density, Equations (6.4).

DP=1e+19
ΔN=1e+19
−2
102
10 DN=1e+19 ΔP=1e+19

DP=1e+18
ΔN=1e+18
Δα [cm−1]

101
−Dn

−3
10 DN=1e+18 ΔP=1e+18
DP=1e+17

ΔN=1e+17
100
ΔP=1e+17
−4
10 DN=1e+17

1.2 1.4 1.6 1.8 2 1.2 1.4 1.6 1.8 2


Wavelength [mm] Wavelength [μm]

(a) Absorption (b) Index Change

Figure 6.3 (a) Change in index of refraction versus wavelength. (b) Change in absorption versus
wavelength. Equation (6.5) with data points (X) taken from Equations (6.1) and (6.2). Update
data from Reference [3] is included (circles, triangles).

• The width of the pn-junction is much shorter than the diffusion length, therefore,
a linear distribution in minority carrier densities is assumed between the depletion
region and the heavily doped region.

The width of the depletion region, Wd , is determined by the impurity densities


(NA and ND ), as well as the applied voltage (V), and is given by:

20 s (NA + ND )(Vbi − V)
Wd = , (6.6)
qNA ND
220 Modulators

z w
(a)
dp++ dn++

NA++ NA ND ND++
0 yoffset
y

(b) Wd

p++ p n n++
yp++ yp 0 yn yn++
y
(c) p, n
n
ND
p
NA
np0
pn0

Figure 6.4 pn-Junction in a rib waveguide: (a) cross-sectional view of the impurity distribution
assumed in the abrupt junction model; (b) cross-sectional view of the carrier distribution; (c) 1D
free-carrier distributions.

where s is the relative permittivity and Vbi is the built-in or diffusion potential of the
junction given by:
kB T NA ND
Vbi = ln 2 . (6.7)
q ni
The boundaries of the depletion region are given by:
Wd
yp = yoffset − (6.8a)
1 + NA /ND
Wd
yn = yoffset + (6.8b)
1 + ND /NA


⎪ yp −y ( kqVT −1)
⎨ np0 1 + (1 − yp −yp++ )e
B for yp++ < y < yp
n(y, V) = (6.9)

⎪ 0 for yp < y < yn

ND for yn++ > y > yn
6.2 pn-Junction phase shifter 221



⎪ NA for yp++ < y < yp

0 for yp < y < yn
p(y, V) =
⎪   . (6.10)
⎪ y−yn ( kqVT −1)
⎩ pn0 1 + 1 − yp++ −yp e B for yn++ > y > yn

The carrier densities, N = n(y, V), and P = p(y, V), are given in Equations (6.9)
and (6.10), where np0 and pn0 are given by
n2i
np0 = (6.11a)
NA
n2i
pn0 = . (6.11b)
ND
Using the above equations, the carrier distributions in the waveguide can be solved
using the MATLAB code 6.1.

6.2.2 Optical phase response


The changes in the silicon refractive index, nco , and optical loss, at λ = 1.55 µm, due to
the free carriers are given by Equations (6.1) and (6.2).
Then the effective index, neff , and the optical loss due to the free-carrier absorption,
αpn , as functions of applied voltage are given by:
 ∗
E (y) · n(y, V) E(y) dy dneff
neff (V) = neff,i +  ·
E∗ (y) · E(y) dy dnco
 ∗ (6.12)
E (y) · α(y, V) E(y) dy
αpn (V) =  ,
E∗ (y) · E(y) dy
where neff,i is the effective index of the waveguide without any doping and dneff /dnco
(change of mode effective index versus change in the waveguide core effective index)
is typically very close to 1 (including silicon strip and rib waveguides). E(y) is the 1D
field profile found using the effective index method, see MATLAB function 3.11. Then
the voltage-dependent changes in effective index and phase are given by:
neff (V) = neff (V) − neff (0)
0.02
neff (V) (6.13)
φ(V) [π · cm−1 ] = .
λ
Using the above equations (MATLAB code 6.2), we calculate the changes in effective
index and optical loss due to the free-carrier absorption for a design with the following
waveguide parameters: rib width w = 500 nm, rib thickness, t = 220 nm, and slab
thickness, tslab = 90 nm. Holes have stronger effect on the effective index than electrons
do, as revealed by Equations (6.1), therefore, an offset of the junction to the waveguide
centre can be used to optimize the modulation efficiency. A 50 nm doping offset is used
in the calculation.
The calculated results are shown in Figure 6.5 (MATLAB code 6.3). The effective
index increases, while the optical loss reduces, as the voltage increases, because the
222 Modulators

x 10−4
3 11

2.5 10

2 9

a pn (dB/cm)
Δ neff

1.5 8

1 7

0.5 6

0 5
0 2 4 6 8 10
Voltage (V)

Figure 6.5 Changes in effective index and free-carrier-caused optical loss as functions of applied
voltage (reverse biased).

3.5

2.5
Δf (π/cm)

1.5

1 [1.6V π]

0.5

0
0 2 4 6 8 10
Voltage (V)

Figure 6.6 Phase change as a function of applied voltage (reverse biased).

carriers are removed from the waveguide by the applied voltage. The change in the phase
is plotted in Figure 6.6. A voltage of 1.6 V is needed to make a phase shift of π for
a waveguide 1 cm long, indicating a Vπ · L product of 1.6 V·cm for a phase shifter
1 cm long.
6.2 pn-Junction phase shifter 223

6.2.3 Small-signal response


The resistance and capacitance of the pn-junction are given by:
w  w 
Rj [ · m] = + yp Rsrp + − yn Rsrn
2 2
w   w
− + yp++ Rssp + yn++ − Rssn (6.14)
2 2

q0 s
Cj [F/m] = trib
2(1/ND + 1/NA )(Vbi − V)
where Rsrn , Rsrp , Rssn , and Rssp are the sheet resistances of the n-doped rib, p-doped rib,
n-doped slab, and p-doped slab, respectively.
Then, the 3 dB cutoff frequency determined by the RC time constant can be found by:
1
fc = . (6.15)
2π Rj Cj
Using the parameters given above, fc is calculated to be 35 GHz and 51 GHz at 0
and 1 V, respectively. As shown in Figure 6.7, fc increases as the applied DC voltage
increases due to the simultaneously reduced Rj and Cj , as a result of the expanded
depletion region. We can see that the frequency response of the pn-junction can easily
go beyond tens of GHz, therefore, the intrinsic RC of the junction is typically not a
limiting factor of silicon optical modulators. The RC becomes a limitation in cases

160

140

120
fc (GHz)

100

80

60

40
0 2 4 6 8 10
Voltage (V)

Figure 6.7 Cutoff frequency as a function of applied voltage (reverse biased).


224 Modulators

where a long junction is used (hence a large capacitance) together with a large source
impedance, e.g. 50 . This is the case for a basic Mach–Zehnder modulator or phase
shifter; to avoid this RC limit, structures such as travelling wave electrodes need to be
employed.
The resistance of the junction is an important parameter that can be reduced by
optimizing the doping concentrations and the distances of the dopants from the junction.
Specifically, minimizing the distance from the contact to the junction will lead to a
reduced RC time constant. However, the optical losses of the doping contacts need to
be considered. This is described in the context of the PIN junction in Section 6.4, with
results in Figure 6.16. Similar results can be obtained for the pn-junction.

6.2.4 Numerical TCAD modelling of pn-junctions


In the preceding sections, specifically in Section 6.2.1, we assumed a one-dimensional
model for the pn-junction, and used the effective index method in Section 6.2.2 to ana-
lytically calculate the optical mode. The 1D model is computationally efficient and pro-
vides significant insight into the functioning of the phase modulator. However, it makes
several approximations (e.g. neglects the carrier distribution in the vertical dimension),
and relies on numerous parameters (e.g. sheet resistance, contact resistance). In this
section, we present 2D simulations using TCAD tools for both the pn-junction and the
optical mode. These models are expected to be more accurate.
In the following example, the dimensions of the waveguide reflect the structures
in the publication by T. Baehr-Jones et al. [4]. The structure is a rib waveguide with
a pn-junction in the centre. The peak doping concentrations and dimensions of the
doping profile in the referenced paper are used to define the pn-junction profile in
the waveguide. Analytic models are used to construct the doping profile; however,
doping profiles determined from a process simulation could also be used. To establish an
accurate correspondence between the simulations and measured results, the measured
capacitance versus voltage characteristic was fit by setting the pn-junction profile in the
waveguide. The size and position of the analytic models were adjusted until a match
between simulation and experiment was obtained.
The simulation is similar to that presented in Sections 6.2.1 and 6.2.2, as follows.
(1) Parameters are defined, including the waveguide geometry, doping parameters,
contacts, and simulation regions; Listing 6.8.
(2) Electrical simulations are performed. The electrical simulation is used to calculate
the distribution of electrons and holes in response to the applied voltage, here
from −0.4 to 4 V. The spatial charge density (2D profile) is exported for each
voltage; Listing 6.9.
(3) Additional electrical simulations are performed to determine the junction capac-
itance versus voltage. The pn-junction capacitance is simulated at DC by calcu-
lating the numerical derivative, C = dQ/dV. The total charge can be calculated
using a charge monitor. The monitor will integrate the carrier density (electrons
6.2 pn-Junction phase shifter 225

2.8
TCAD Model
2.6 Experimental

2.4

Capacitance (pF/cm) 2.2

1.8

1.6

1.4

−1 0 1 2 3 4
Voltage (V)

Figure 6.8 Capacitance of a pn-junction phase modulator. Experimental data are from
Reference [4]. Simulation is from Listing 6.8.

and holes) over the volume of simulation. By running two simulations at bias
voltage V and V + V, the capacitance can be estimated as

Qn,p (V + V) − Qn,p (V)


Cn,p = ,
V
where Cn,p and Qn,p are the capacitance and charge due to the electrons (n) and
holes (p), at an applied voltage V. These two values should be numerically the
same, if the simulation has correctly converged. In this example, the capacitance
is ∼2 pF. It is voltage dependent, as plotted in Figure 6.8, due to the depletion
region being voltage dependent, as per Equation (6.6).
The total charge integration is sensitive to the mesh density, particularly in
the region containing the pn-junctions. Therefore, a mesh override is used in the
junction to improve the accuracy.
(4) Additional electrical simulations are performed to determine the resistance of
the n and the p sides. This is done by splitting the simulation into two parts by
putting a metal contact in the pn-junction region. Two simulations are performed
to determine the resistance of each side, by measuring the current in response to
the voltage. In this example, the total series resistance is 2 .
(5) Optical simulations are performed. The simulation loads the carrier density from
the electrical simulations, calculates the corresponding plasma dispersion effect
using Equation (6.5) (or similar), performs optical mode calculations for each
voltage, and determines the neff versus voltage, similar to results in Figure 6.5;
Listing 6.10. This includes both the real and imaginary part of the refractive index
change.
226 Modulators

(6) Finally, the results are exported to a file. These results are used to create a compact
model for the phase modulator, which can then be used for photonic circuit
modelling, such as the ring modulator shown in Figure 9.13 or a travelling wave
modulator. The compact model is created in Listing 9.3.

6.3 Micro-ring modulators

A high-Q optical resonator, such as a ring resonator described in Section 4.4 has strong
wavelength selectivity, performing as a narrow-bandwidth filter. The resonant wave-
length is determined by the round-trip phase of the resonator. Therefore, when operating
at a wavelength close to the resonance of an optical resonator, the transmission is very
sensitive to the phase change of the cavity. Based on this effect, one can obtain a very
efficient modulator by integrating a pn-junction into the resonator cavity and modulating
the phase through the plasma effect as described in the previous section. The reader
is also referred to numerous papers on ring modulators, e.g. [5, 6], and two review
papers [7, 8]. See also Figure 6.9.
Two ring resonator configurations, i.e., all-pass and add-drop filters, are commonly
used to obtain a micro-ring modulator, as shown in Figure 6.10. The micro-ring cavity
can have a racetrack shape, consisting of two 180◦ circular waveguides and two straight
waveguides (for directional couplers).
Because the micro-ring modulator can only operate within a narrow spectral window
around its resonant wavelength, wavelength stabilization is usually needed for practical
applications. For example, as shown in Figure 6.10a, a quarter of the optical cavity (in
the directional coupler region) is integrated with a resistor heater for thermal tuning and
wavelength stability. As a result of this compromise, the modulation efficiency is lower
as compared to the fully modulated cavity.
The optical transfer function of the micro-ring modulator is implemented using
MATLAB code 6.4.

Figure 6.9 Microscope image of a ring resonator modulator [6]. Three electrical pads are shown
on the left, for ground–signal–ground (GSG); the ring is adjacent; it is optically characterized
using two grating couplers on the far right side. The couplers are separated by 0.5 mm from the
microwave probes for ease of testing. Additional pairs of grating couplers are included in the
layout as characterization test structures.
6.3 Micro-ring modulators 227

In Thru

(a) All-pass (integrated with a heater for wavelength tuning)

Drop

Thru
In

(b) Add-drop (fully modulated)

Figure 6.10 Mask layouts of micro-ring modulators.

6.3.1 Ring tuneability


Here we discuss the micro-ring modulator with a reverse-biased pn-junction. Incorpor-
ating the pn-junction model (MATLAB codes 6.2 and 6.1) with the micro-ring res-
onator transfer function (Equations (4.24) and (4.25)), we can simulate its spectrum as
a function of applied voltage (MATLAB codes 6.6 and 6.7). This example micro-ring
modulator is implemented based on the structure shown in Figure 6.11.
228 Modulators

function RingMod_spectrum_plot

Voltage scan
Small-signal response bandwidth

function RingMod_spectrum

Optical spectrum (transfer functions)

function RingMod

Design parameters as the inputs


Transmission @ single wavelength, single voltage

function neff_V

Mode overlap
Carrier-depletion phase modulator

function pn_depletion function wg_TElike_1Dprofile_neff


function wg_1D_mode_profile
1D electrical solver for function wg_1D_analytic2
the reverse-biased p-n
junction !D optical solver for the TE-like mode

Figure 6.11 Structure diagram of a 1D analytic model for micro-ring modulators.

We consider a fully modulated (i.e. no thermal tuning is used), add-drop micro-ring


modulator using point couplers (i.e. Lc = 0) with r = 10 µm and default values for
other parameters given in MATLAB code 6.7. The calculated through-port and drop-
port responses are shown in Figure 6.12. We can see that the through-port power trans-
mission is more sensitive to the change of the roundtrip phase and, therefore, should be
used as the modulator output. As shown in Figure 6.12a, the central wavelength shifts
by 0.016 nm/V. Owing to the high quality factor (about 10 000), this relatively small
spectral shift results in a considerable change in the power transmission. For example,
for the 3 dB insertion loss wavelength at zero bias (∼1540.9 nm), when the applied
voltage (reverse biased) changes from 0 to 4V, the transmission drops by about 8 dB.
In order to improve the modulation efficiency, we can increase the quality factor, for
example, by reducing the coupling (i.e. reducing κ) to make the transmission notch
narrower. However, a higher Q means a longer photon lifetime, which will limit the
frequency response of the modulator, as we will see next.

6.3.2 Small-signal modulation response


The cutoff frequency (3 dB), fc , of the small-signal response of a micro-ring modulator
is determined by both the RC constant of the reverse-biased pn-junction and the photon
lifetime, τp , of the optical cavity:
1 1 1
2
= 2 + 2 . (6.16)
fc fτp fRC
6.3 Micro-ring modulators 229

(a) Through-port

4
Transmission (dB)

7
4V
8 3V
2V
9 1V
0V
10
1540.7 1540.75 1540.8 1540.85 1540.9 1540.95 1541
(nm)
(b) Drop-port

Figure 6.12 Through-port (a) and drop-port (b) spectra with varied applied voltage (reverse
biased).

The τp determined cutoff frequency is given by:


1
fτp = , (6.17)
2π τp
where τp is related to the total quality factor, Qt , of the optical cavity and is given by:
Qt
τp = , (6.18)
ωo
230 Modulators

where ωo is the optical frequency and Qt is determined by both the coupling and
propagation losses:

1 1 1
= + , (6.19)
Qt Qc Qi

where the intrinsic quality factor is given by [9]:

2π ng
Qi = . (6.20)
λα

For the all-pass filter, the coupling-determined quality factor, Qc , is given by:

π Lrt ng
Qc = − (6.21)
λ loge |t|

If the add-drop configuration is used, the coupling-determined quality factor should be


divided by 2 since two couplers are used in this case.
For the same design as described for the DC performance, we can predict the cutoff
frequency of the micro-ring modulator using the above equations. The calculated results
are shown in Figure 6.13. In this case, the RC constant of the pn-junction has a cutoff
frequency (i.e. fRC ) of over 40 GHz, while the τp determined cutoff frequency (i.e. fτp )

100
tp determined
90 p−n junction determined
fc
80
Cutoff frequency (GHz)

70

60

50

40

30

20

10
0 0.5 1 1.5 2 2.5 3 3.5 4
Voltage (V)

Figure 6.13 Ring modulator small-signal modulation bandwidth versus applied voltage. Two
factors are considered: the photon lifetime, τp , and the pn junction RC time constant.
6.3 Micro-ring modulators 231

is about 20 GHz. As a result, the total cutoff frequency, fc , is 15 GHz at the bias of 1 V,
mainly limited by the photon lifetime.

6.3.3 Ring modulator design


In this section, we provide an overview for a design methodology for the ring modulator.
The first step is to identify the desired modulator characteristics: modulation bandwidth,
FSR, extinction ratio, drive voltage, architecture choice between double-bus and single-
bus, and operation in the drop port or through port.
A common design target is to design a ring for critical coupling. The highest extinc-
tion ratio is obtained in this case. This condition leads to 0 transmission on resonance
(i.e., all power is absorbed within the ring, or goes to the drop port); this is the complete
destructive interference condition. Critical coupling is obtained when the input coupler
matches the other losses of the resonator (internal losses in the ring, and output coupler
losses).
The double-bus ring modulator is useful because the second waveguide is used to
“load” the resonator (add extra loss). This leads to balanced losses, enabling critical
coupling and high extinction ratio. This approach is particularly useful when the losses
of the dopants are not known a priori. It allows for the control of the Q and hence
the modulation bandwidth. A disadvantage of this approach is that this design is sub-
optimal. Namely, if the modulator requires the Q to be lowered, it is preferable to
increase the pn-junction propagation losses, thereby increasing the junction efficiency
(pm/V).
One important consideration is the pn-junction phase shifter fill-factor. This fill-factor
determines the fraction of the ring circumference that contains the pn-junction. This is
illustrated in the ring modulator in Figure 6.10a. A fill-factor of less than 100% may be
used to include thermal tuning in the ring. The fill-factor is also determined by mask
layout and manufacturing constraints.
Next, parameters from the fabrication process are identified: waveguide propagation
loss (due to scattering, doping absorption, metal absorption, and bend radiation and
mismatch losses, which are larger for smaller devices with large FSR); slab thickness
for the rib waveguide (e.g. 150, 90, and 50 nm); characteristics of the pn-junction,
particularly the RC time constant; and considerations for fabrication process variations
and any required fabrication bias. The pn-junction itself can also be optimized (e.g.
choice of doping concentrations, junction offset in the waveguide, etc.)
Next, we calculate the quality factor of the ring for the target modulation bandwidth.
Then we calculate the design parameters to match the required Q and FSR: radius,
and coupling coefficients. At this point, the optical transfer function can be verified
and optimized, and a time-domain model can be constructed; see Section 9.5. Such a
model can be used to predict eye diagrams, extinction ratio, energy efficiency, and to
investigate the impact of the bias point.
Finally, the physical structure needs to be calculated, specifically the directional
coupler for a desired coupling coefficient (i.e. directional coupler gap), typically done
232 Modulators

Waveguide width
Clearance

P++ i N++

Figure 6.14 Cross-section of a PIN junction in a rib waveguide. The contacts connected to the
“P++” and “N++” regions, and the intrinsic region is “I”.

using 3D FDTD. Only the directional coupler by itself needs to be simulated in 3D


FDTD; see Sections 4.1.4 and 9.4.2. With all physical parameters in place, the mask
layout can be implemented.

6.4 Forward-biased PIN junction

Similar to the reverse-biased pn-junctions considered above, active silicon photonics


devices can be constructed using forward bias. In this case, it is useful to increase the
size of the junction by introducing an un-doped (intrinsic) region between the P and
N regions, as shown in Figure 6.14. This eliminates the excess optical losses (Fig-
ure 6.2) in the waveguide when the device is unbiased; thus, the device functions as
a conventional rib waveguide. By applying a forward bias, carriers are injected. These
carriers change the index of refraction (Figure 6.1) and introduce optical absorption
(Figure 6.2). Hence, this is useful to construct variable optical attenuators (VOA) using
the absorption property, and phase tuners using the index of refraction change. It should
be noted that both pn and PIN junctions operate on the same fundamental principle,
namely the plasma-dispersion effect, and that both the real and imaginary parts of
the index of refraction change simultaneously; namely, amplitude modulation occurs
simultaneously with phase modulation. One important difference is that PIN junctions
have much longer time constants, dominated by the carrier recombination lifetime in
the intrinsic region. For example, a 90 MHz lifetime was measured in the device in
Reference [10]. This is in contrast with the tens of GHz that are obtained in pn-junctions
(Section 6.2.3).

6.4.1 Variable optical attenuator


Experimental results for a variable optical attenuator consisting of a 1 cm long PIN
junction waveguide are shown in Figure 6.15. The waveguide geometry is shown in
Figure 6.14, where the width of the waveguide is 500 nm, and the clearance is 800 nm.
The experimental VOA efficiency is approximately 0.35 dB/mA. The device is easiest
to model and understand when operated in constant current mode. Assuming that every
injected electron and hole recombine in the intrinsic region, and the dominant mech-
anism is non-radiative recombination with a time constant τn , a simple model for the
carrier density in the device is:
Iτn
N= . (6.22)
qV
6.4 Forward-biased PIN junction 233

30 1.4

25 1.2

20 1

Voltage [V]
Loss [dB]
15 0.8

10 0.6

5 0.4
Loss [dB]

0 0.2
0 20 40 60 80
Current [mA]

Figure 6.15 Performance of a variable optical attenuator (VOA) consisting of a 1 cm long PIN
junction in a rib waveguide: (left) optical attenuation; (right) voltage.

Considering the volume of the intrinsic region, a carrier lifetime of τn = 1/2πf3dB =


1.8 ns, and a current of 90 mA, using Equations (6.2) and (3.9), this corresponds to a
propagation loss of 25 dB/cm, close to the results in Figure 6.15.
One of the main design considerations for PIN junction waveguide devices is the
distance between the doping regions; referred to here as “doping offset,” or “clearance,”
it is 2.1 µm in Figure 6.14. To optimize the device efficiency, the volume of the device
needs to be reduced according to Equation (6.22); this can be achieved by bringing the
dopants closer to the waveguide, leading to a larger carrier density for a given current.
However, the dopants introduce excess optical loss. This can be simulated using a mode
solver with the inclusion of doped regions with a complex index of refraction with
absorption as per Equations (6.5). In the simulation Listing 6.11, the two doped regions
are defined, and mode calculations are repeated for several doping offset distances. The
results are shown in Figure 6.16. The high doping density is typically used for these
devices, in which case the doping offset needs to be greater than 1.6 µm to ensure that
the excess loss due to the dopants is less than 1 dB/cm, and 2.1 µm to ensure an excess
loss less than 0.1 dB/cm.
The diode current–voltage (IV) relation should also be considered. The Shockley
diode equation, with an ideality factor, n, is:
 
I = Is eV/nVT − 1 , (6.23)

where VT = kT/q, Is is the reverse bias saturation current, and I is the bias current.
Re-arranging this equation, and adding a series resistance due to the probes, contacts,
etc., the voltage observed when a current source is used is:
I
V = ln nVT + nVT + IR. (6.24)
Is
234 Modulators

High doping
101
Medium doping
Low doping

Excess Loss [dB/cm]


100

10-1

10-2

0 0.5 1 1.5
Doping Offset / Clearance [mm]

Figure 6.16 Optical excess loss due to the P and N dopants for the PIN junction rib waveguide.
Three levels of doping density are considered, as per References [6, 11].

For the device in Figure 6.15, the fit to the IV data has parameters n= 2.1, Is = 3.8×10−9 ,
and R = 3 , as shown in Figure 6.15. In such measurements, it is common to see
variations in the resistance (e.g. from 3 to 15 ) primarily due to the probe contact.
Given the IV curve, the power consumption of the device can be calculated. This
allows one to determine the optical absorption in relation to the power consumed. For
applications where power consumption needs to be minimized, an additional important
geometry parameter can be adjusted – the length. There are additional trade-offs to
consider given the nonlinear behaviour of the diode and of the measured absorption data.
For very long devices, the propagation loss (scattering, e.g. 3 dB/cm) will dominate,
negatively contributing to the insertion loss. For very short devices, a large voltage will
be required leading to a large current; in such a regime, a large portion of the current
is “wasted”, namely the carrier density does not increase linearly with current as per
Equation (6.22). Thus the efficiency is reduced. With these considerations, typical PIN
junction devices have lengths in the range of 0.1–10 mm.
More detailed simulations and device optimization taking into account the diode
behaviour, contacts, device length, waveguide geometry, etc., can be performed using
TCAD simulations, using similar methods as described in Section 6.2.4.

6.5 Active tuning

In this section, we describe two common approaches of tuning photonic circuits


by introducing an electrically controlled phase shift. The first is the PIN junction
waveguide, which offers moderately high-speed operation and efficiency, with a
6.5 Active tuning 235

trade-off of variable insertion loss. The second is a thermal phase shifter, which offers
pure phase shifting with no amplitude change, but operates at low speed.

6.5.1 PIN phase shifter


The forward-biased PIN junction waveguide from Section 6.4 can also be used as
a phase shifter. This is useful for tuning the phase in a Mach–Zehnder modulator
or other circuits that require phase tuning. When this waveguide is placed inside a
Mach–Zehnder interferometer, the phase shift can be measured. Experimental results
are shown for waveguide width of 500 nm and a clearance of 800 nm. Shown in
Figure 6.17 are the spectra for a PIN junction inside an imbalanced interferometer
with a free-spectral range of 55 nm. The measurement was performed using grating
couplers, hence the spectrum has a signature Gaussian-like insertion-loss. At 0 bias, the
extinction ratio of the interferometer is large (40 dB) signifying that there is no excess
loss in the PIN waveguide. At a 5 mA current, a π phase shift is obtained, noting that
the spectrum has shifted by half of the FSR. The figure of merit for PIN junction phase
tuners can be expressed in mA per FSR, and in this case is approximately 10 mA/FSR.
It is also observed that there is excess optical loss present in the PIN waveguide, thus the
extinction ratio of the unbalanced interferometer is degraded (approximately 15 dB).
For a large current of 90 mA, the losses are so large that the interference is no longer
observed. Given that the attenuation in one arm of the interferometer is nearly 30 dB,
as per Figure 6.15, this corresponds to light being transmitted only in one arm of the
interferometer.

−10

−20

−30
Power (dB)

−40

−50

−60 0 mA
5 mA
90 mA
−70
1500 1520 1540 1560 1580
Wavelength (nm)

Figure 6.17 Optical transmission spectra of a Mach–Zehnder with each arm consisting of a 3 mm
long PIN junction in a rib waveguide.
236 Modulators

6.5.2 Thermal phase shifter


In this section, we consider the implementation of a phase shifter using a thermal heater.
There are numerous methods of implementing a thermal phase shifter.

• A (metal) resistor above an optical waveguide, such that the heat generated
in the heater descends towards the substrate past the waveguide. The metal is
typically located far enough above the waveguide so as not to introduce optical
loss: typically 1–2 μ above the waveguide.
• Placing the resistor inside the waveguide, so that the heat is generated directly
within the waveguide. This would be more efficient; however, it incurs optical
loss from the doping. This is typically implemented as an N++/N/N++ structure,
where the two N++ regions are used to make contact with the silicon and are
placed on opposite sides of the waveguide, as in Figure 6.18. The current flows
across the waveguide, perpendicular to the light propagation. One of the limita-
tions is that this requires access to both sides of the waveguide, i.e. requires a rib
waveguide. This approach is used in the system presented in Section 13.1.3.
• Placing the resistor on the side of the waveguide with the current running parallel
to the waveguide. This can be implemented either in the silicon slab of a rib
waveguide, or a nearby metal.

Heater efficiency is an important issue for silicon photonic systems, and the com-
mon figure of merit is the tuning efficiency, expressed as mW/FSR, namely the power
required to obtain a 2π optical phase-shift in a waveguide. This figure of merit suggests
that the efficiency is nearly independent of the length of the phase shifter. A short
thermal phase shifter will require a higher temperature of operation to achieve the
same phase shift as a long phase shifter; however, it will consume the same power. This
length independence is true for straight phase-shifter waveguides, as considered in this
section, where the structure can be considered as a 2D cross-section. Compact heater
structures (e.g., folding the waveguide), which would require 3D thermal modelling,
can achieve improved heater efficiency since the heat is more concentrated on the
waveguides. Other techniques of improving thermal phase shifters include reducing
the thermal-conduction pathways by removing material, e.g. selectively undercutting
the back-side of the substrate under the heater [12] (3.9 mW/FSR demonstrated), etch-
ing vertical trenches next to the thermal phase shifter [13] (0.8 mW/FSR demonstrated),
or under-etching to improve the thermal isolation of the waveguide [14] (0.49 mW/FSR
demonstrated).

Waveguide width
Clearance

N++ N N++

Figure 6.18 Cross-section of a N++/N/N++ resistor in a rib waveguide. The contacts are
connected to the “N++” regions, and the resistance is dominated by the lightly doped region “N”.
6.5 Active tuning 237

Thermal modelling of the thermal phase shifter uses the steady-state heat equation
(Poisson’s equation):

−∇ · (k∇T) = Q, (6.25)

where k is the coefficient of heat conduction, Q is the heat source [W/m3 ], and T is the
temperature.
The example in Listing 6.12 was generated by the MATLAB Partial Differential
Equation (PDE) Toolbox [15] graphic user interface. It was subsequently modified to
extract the relevant information. Using the PDE Toolbox, we consider the geometry as
follows, drawn in the order listed to ensure that the waveguide and metal are “on-top”
of the oxide.
• Define y = 0 as the bottom of the waveguide.
• Oxide extends from y = −2 to 2, and x = −50 to 50.
• Metal is 1 µm above the waveguide, i.e. extends from y = 1.22 to 1.72, and
x = −0.5 to 0.5.
• Waveguide is a 500 nm × 220 nm strip, i.e. extends from y = 0 to 0.22, and
x = −0.25 to 0.25.
• Silicon substrate is 100 µm thick, i.e. extends from y = 0 to −100, and x = −50
to 50.
Two boundary conditions are used.
(1) Dirichlet type, where the temperature on the boundary is specified: this is used for
the bottom of the substrate, assuming that it is on a heat sink. The temperature is
set to 0 degrees, and the results are plotted relative to this heat sink temperature.
(2) Neumann type, where the heat flux, −n · (k∇T), is specified: this is used on all
the other boundaries to assume they are insulating, i.e. no heat passes through.
We are neglecting convection and radiation.
Heat is generated in a metal conductor above a waveguide. Assume the metal is 500
nm thick, 1000 nm wide, and 100 µm long, and that this resistive heater is dissipating
Qtot =10 mW of power. Thus,

Qtot 0.01W
Q= = .
V 0.5 · 1 · 100 × 10−18 m3
The material properties are
• kSi = 149; thermal conductivity of silicon [W/m·K],
• kSiO2 = 1.4; thermal conductivity of SiO2 [W/m·K],
• kAl = 250; thermal conductivity of aluminum [W/m·K].
To be consistent with the geometry definition in microns, the thermal conductivities are
also provided in micron units, i.e. kSi = 149 × 10−6 W/m·K.
The thermal map, zoomed in to the cross-section near the waveguide and heater, is
plotted in Figure 6.19a. Observations from the simulations are as follows.
238 Modulators

2
40

0 30
y Position [mm]

20

−2

10

−4
−5 0 5
x Position [mm]
(a) 2D cross-section thermal distribution

45

40

35

30
Temperature

25

20

15

10

0
−5 −4 −3 −2 −1 0 1 2
y Position [mm]
(b) 1D cross-section temperature distribution through the metal and wave-
guide, as position x = 0 in Figure 6.19a. The waveguide is located at y position
0, and the metal is at position 1.22.

Figure 6.19 Temperature distribution in the cross-section of a wafer. The simulation includes a
strip waveguide at position (0,0), a metal heater above it at position (0,1.5); both are surrounded
by oxide. The silicon substrate is below the interface at y = −2. The bottom of the substrate is
fixed at a temperature 0 ◦ C, and the other boundaries are assumed insulating.

• Because the silicon and metal thermal conductivities are much higher than the
surrounding oxide (100×), the temperature is uniform within the metal and
waveguide.
• Similarly, because silicon thermal conductivity is significantly higher (100×)
than the oxide, the substrate is nearly uniform in temperature (1.1 ◦ C higher
6.5 Active tuning 239

25

0 20
y Position [mm]

15

−2 10

−4
−5 0 5
x Position [mm]
(a) 2D cross-section thermal distribution

35

30

25
Temperature

20

15

10

0
−5 0 5
x Position [mm]
(b) 1D cross-section temperature distribution through the metal and wave-
guide, as position y = 0.11 in Figure 6.20a. The waveguide is located at x
position 0, and the metal is at position 2.25–3.25.

Figure 6.20 Temperature distribution in the cross-section of a wafer. The simulation includes a
strip waveguide at position (0,0), a metal heater next to it at position (2.75,0.25); both are
surrounded by oxide. The silicon substrate is below the interface at y = −2. The bottom of the
substrate is fixed at a temperature 0 ◦ C, and the other boundaries are assumed insulating.

at the silicon–oxide interface than the heat sink), and the thermal gradient is
almost entirely in the oxide. Although the silicon substrate is very thick relative
to the oxide and waveguide (700 µm versus 2 µm and 0.22 µm, respectively),
the thickness of the substrate does not significantly impact the thermal results.
Namely, a substrate that is 10 µm or 700 µm thick gives very similar results.
240 Modulators

• The simulation predicts a temperature rise of 44 ◦ C in the metal, and 23 ◦ C in the


waveguide.
We can calculate the thermal tuning efficiency for this simulation. From
Equation (6.25), and based on the definition that one FSR is equivalent to a 2π phase
shift, we can write that:
Qtot λ
efficiency [mW/FSR] = dn
. (6.26)
dT T

For this simulation, the efficiency is found to be 36 mW/FSR.


Similar calculations can be performed for the heater on the side of the waveguide. The
results for a metal heater 2 µm away from the strip waveguide are shown in Figure 6.20.
In this case, the efficiency is 83 mW/FSR.

6.6 Thermo-optic switch

The Mach–Zehnder inteferometer (MZI), described in Section 4.3, can function as a


thermo-optic switch if a temperature difference is applied between the arms [13, 16].
This can be implemented by using a resistive heater on one of the arms [17]. Let us
consider a temperature increase of T applied to the lower arm, and a thermo-optic
dn
coefficient of dT = 1.87 × 10−4 K −1 (Section 3.1.1). The propagation constant in the

1
DT = 0 K
DT = 5 K
0.8
Transfer function (Io/Ii)

0.6

0.4

0.2

0
1.54 1.545 1.55 1.555 1.56
Wavelength [mm]

Figure 6.21 Optical transmission spectrum of an MZI for a temperature difference applied on the
second arm (L2 ). Parameters: L1 = 500 µm, L = 100 µm, α = 3 dB/cm, lossless y-branch.
Wavelength-dependent effective index for both waveguides as per Equation (3.7).
6.7 Problems 241

1
One arm
Both arms
0.8
Transfer function (Io/Ii)

0.6

0.4

0.2

0
0 10 20 30 40 50
Temperature Increase [K]

Figure 6.22 Optical transmission versus temperature of the MZI in Figure 6.21. Two cases are
considered: thermally tuning one arm, and thermally tuning the substrate (both arms).

lower arm is:


 dn

2π n2 + dT T
β2 = . (6.27)
λ
Inserting this in Equation (4.19), the optical output is thus temperature dependent:

    
dn
Ii 2π n2 + dT T
Io (T) = 1 + cos β1 L1 − L2 . (6.28a)
2 λ

For identical waveguide cross-sections (n1 = n2 ), this becomes


   dn  
Ii 2π n 2π dT T
Io (T) = 1 + cos L − L2 (6.29a)
2 λ λ

Here, we explicitly see that the output of the interferometer is a sinusoidally varying
function of wavelength and temperature. This is illustrated in Figures 6.21 and 6.22
(with loss included).

6.7 Problems

6.1 Determine the thermal tuning efficiency for a thermal phase shifter where the heater
is embedded in the waveguide via a N++/N/N++ region. Assume the waveguide is
242 Modulators

a rib waveguide with a 10 µm slab width, 90 nm slab thickness, with a ridge that is
0.5 µm width and 220 nm thick.
6.2 Consider a ring resonator with 220 nm × 500 nm strip waveguides that is uniformly
heated. Determine an expression for the wavelength shift versus temperature, i.e.
dλ/dT, at 1550 nm. How does this vary with the radius of the ring resonator?

6.8 Code listings

Listing 6.1 pn-Junction depletion, MATLAB model, pn_depletion.m


% pn_depletion.m: 1D pn junction model for carrier-depletion phase modulation
% Wei Shi, UBC, Nov. 2012
%
% usage, e.g.:
% [n, p, x, xn, xp, Rj, Cj]=pn_depletion(500e-9, 50e-9, 1e-6, 1e-6, 25, -1, 100)
%
function [n, p, x, xn, xp, Rj, Cj]=pn_depletion(wg_width, pn_offset, ds_npp, ds_ppp, T, V,
pts)
%
% N_D, N_A: doping densities
% V: applied voltage; positive for forward bias; negative for reverse bias
% ds_npp: distance of the n++ boundary to the pn junction centre
% ds_ppp: distance of the p++ boundary to the pn junction centre
% Rj: junction resistance in ohms
% Cj: junction capacitance in F/m

epsilon0 = 8.854187817620e-12; % [F/m]


epsilon_s = 11.8; % relative dielectric constant for Si
q = 1.60217646e-19; % electronic charge [Coulumbs]
kB = 1.3806503e-23; % Boltzmann constant in J/K
T=T+273.15; % Temperature [K]
VT=kB*T/q;

%material constants
NA_plus=4.4e20*1e6;% cm^-3*1e6
ND_plus=4.4e20*1e6;
NA=5e17*1e6;% cm^-3*1e6
ND=3e17*1e6;

Rs_rib_n=2.5e3;
Rs_rib_p=4.0e3;
Rs_slab_n=0.6e4;
Rs_slab_p=1e4;

% waveguide height
h_rib=220e-9; h_slab=90e-9;

h=4.135e-15; % Plank’s constant [eV-s]


m_0=9.11e-31; % electron mass [kg]
m_n=1.08*m_0; % Density-of-states effective mass for electrons
m_p=1.15*m_0; % Density-of-states effective mass for holes
Nc=2*(2*pi*m_n*(kB/q)*T/h^2)^(3/2)/(q)^(3/2); % Effective Density of states for Conduction
Band
Nv=2*(2*pi*m_p*(kB/q)*T/h^2)^(3/2)/(q)^(3/2); % Effective Density of states for Valence
Band
Eg=1.1242; % band gap for Si [eV]
% ni=1e10*1e6;
ni=sqrt(Nc*Nv).*exp(-Eg/(2*(kB/q)*T)); % intrinsict charge carriers in m^-3

Vbi=VT*log(NA*ND/ni^2); % built-in or diffusion potential


Wd=sqrt(2*epsilon0*epsilon_s*(NA+ND) / (q*NA*ND) *(Vbi-V)); % depletion width
xp=-Wd/(1+NA/ND)+pn_offset;
xn=Wd/(1+ND/NA)+pn_offset;
6.8 Code listings 243

del_x=wg_width/(pts-1);
x_ppp=-ds_ppp+pn_offset; x_npp=ds_npp+pn_offset;
x_min=x_ppp-500e-9; x_max=x_npp+500e-9;
%
x_NA_plus=x_min:del_x:x_ppp-del_x;
x_NA=x_ppp:del_x:xp-del_x;
x_dep=xp:del_x:xn;% for the depletion region
x_ND=xn+del_x:del_x:x_npp;
x_ND_plus=x_npp+del_x:del_x:x_max;
x=[x_NA_plus, x_NA, x_dep, x_ND, x_ND_plus];

n0_NA=ni^2/NA; p0_ND=ni^2/ND;
n0_NA_plus=ni^2/NA_plus; p0_ND_plus=ni^2/ND_plus;

% Long-base assumption
% Lp=sqrt(Dp*tau_p);
% Ln=sqrt(Dn*tau_n);
% del_n_NA=n0_NA*(exp(q*V/(kB*T))-1)* exp(-abs(x_NA-xp)/Ln); % minority electron density
in p(NA) region
% del_p_ND=p0_ND*(exp(q*V/(kB*T))-1)* exp(-abs(x_ND-xn)/Lp); % minority hole density in
n(ND) region

% Short-base assumption
del_n_NA=n0_NA*(exp(q*V/(kB*T))-1)* (1-abs((x_NA-xp)/(xp-x_ppp))); % minority electron
density in p(NA) region
del_p_ND=p0_ND*(exp(q*V/(kB*T))-1)* (1-abs((x_ND-xn)/(x_npp-xn))); % minority hole density
in n(ND) region

n_NA=n0_NA+del_n_NA; p_ND=p0_ND+del_p_ND;
p_dep=zeros(1, length(x_dep)); n_dep=zeros(1, length(x_dep));
p_NA=ones(1, length(x_NA))*NA; % majority holes in p(NA) region
n_ND=ones(1, length(x_ND))*ND; % majority electrons in n(ND) region
n_NA_plus=ones(1, length(x_NA_plus))*n0_NA_plus;% assumption of uniform electrons in p++
p_ND_plus=ones(1, length(x_ND_plus))*p0_ND_plus;% assumption of uniform holes in n++
p_NA_plus=ones(1, length(x_NA_plus))*NA_plus; % majority holes in p++ region
n_ND_plus=ones(1, length(x_ND_plus))*ND_plus; % majority electrons in n++ region

n=[n_NA_plus, n_NA, n_dep, n_ND, n_ND_plus]; p=[p_NA_plus, p_NA, p_dep, p_ND, p_ND_plus];

Rj=(wg_width/2-xn)* Rs_rib_n+(wg_width/2+xp)* Rs_rib_p+(-wg_width/2-x_ppp)*


Rs_slab_p+(x_npp-wg_width/2)* Rs_slab_n;
Cj=sqrt(q*epsilon0*epsilon_s/2/ (1/ND+1/NA)/(Vbi-V))*h_rib;

Listing 6.2 pn-Junction effective index and optical loss, MATLAB model, neff_V.m
% neff_V.m: effective index as a function of voltage for carrier-depletion phase modulation
% Wei Shi, UBC, 2012
% Usage, e.g.:
% [del_neff alpha Rj Cj]=neff_V(1.55e-6, 220e-9, 500e-9, 90e-9, 3.47, 1.44, 1.44,
50e-9, 1e-6, 1e-6, 500, 25, -1)
function [neff alpha Rj Cj]=neff_V(lambda, t, w, t_slab, n_core, n_clad, n_oxide,
pn_offset, ds_n_plus, ds_p_plus, pts, T, V)
[n, p, xdoping, xn, xp, Rj, Cj]=pn_depletion(w, pn_offset, ds_n_plus, ds_p_plus, T, V,
pts);

M=min(ds_n_plus-pn_offset+0.5e-6, ds_p_plus+pn_offset+0.5e-6)/w-0.5;

[xwg, TM_E_TEwg, neff0]=wg_TElike_1Dprofile_neff(lambda, t, w, t_slab, n_core, n_clad,


n_oxide, pts, M);
Ewg=TM_E_TEwg(:,1)’;

pts_x=length(xwg);
dxwg=zeros(1, pts_x);
dxwg(1)=xwg(2)-xwg(1); dxwg(pts_x)=xwg(pts_x)-xwg(pts_x-1);
for i=2:pts_x-1
dxwg(i)=xwg(i+1)/2-xwg(i-1)/2;
end
244 Modulators

n_wg=interp1(xdoping, n, xwg);
p_wg=interp1(xdoping, p, xwg);

del_ne=-3.64e-10*lambda^2*sum(conj(Ewg).*(n_wg*1e-6).*Ewg.*dxwg)/sum(conj(Ewg).*Ewg.*dxwg);
del_nh=-3.51e-6*lambda^2*sum(conj(Ewg).*(p_wg*1e-6).^0.8.*Ewg.*dxwg)/sum(conj(Ewg).
*Ewg.*dxwg);
del_neff=del_ne+del_nh;
neff=neff0+del_neff;

del_alpha_e=3.52e-6*lambda^2*sum(conj(Ewg).*(n_wg*1e-6).*Ewg.*dxwg)/sum(conj(Ewg).
*Ewg.*dxwg);
del_alpha_h=2.4e-6*lambda^2*sum(conj(Ewg).*(p_wg*1e-6).*Ewg.*dxwg)/sum(conj(Ewg).
*Ewg.*dxwg);
alpha=del_alpha_e+del_alpha_h;

Listing 6.3 pn-Junction depletion, MATLAB model, neff_V_plot.m


% example:
% [neff alpha delta_neff delta_phi fc]=neff_V_plot(1.5e-6, 220e-9, 500e-9, 90e-9, 3.47,
1.44, 1.44, 50e-9, 10e-6, 10e-6, 500, 25, -(1:5));

function [neff alpha delta_neff delta_phi fc] = neff_V_plot(lambda, t, w, t_slab, n_core,


n_clad, n_oxide, pn_offset, ds_n_plus, ds_p_plus, pts, T, V);

neff=zeros(1, length(V)); alpha=zeros(1, length(V));


Rj=zeros(1, length(V)); Cj=zeros(1, length(V));
for i=1:length(V);
[neff(i) alpha(i) Rj(i) Cj(i)]=neff_V(lambda, t, w, t_slab, n_core, n_clad, n_oxide,
pn_offset, ds_n_plus, ds_p_plus, pts, T, V(i))
end

[neff_v0 alpha_v0]=neff_V(lambda, t, w, t_slab, n_core, n_clad, n_oxide, pn_offset,


ds_n_plus, ds_p_plus, pts, T, 0);

delta_neff=neff-neff_v0;
alpha_dB=-10*log10(exp(-alpha));

figure; plot(-V, delta_neff)


figure; plot(-V, alpha_dB);

% Phase shift per cm


delta_phi=2*pi/lambda*delta_neff*1e-2/pi;% per cm
figure; plot(-V, delta_phi, ’linewidth’, 2);

% Cut-off frequency
fc=1./(2*pi*Rj.*Cj)*1e-9;% in GHz
figure; plot(-V, fc, ’linewidth’, 2);

Listing 6.4 Ring modulator, MATLAB model, RingMod.m


% RingMod.m: Ring modulator 1D model
% Usage, e.g.,
% [Ethru Edrop Qi Qc Rj Cj]=RingMod(1.55e-6, ’all-pass’, 10e-6, 0, 2*pi*10e-6, 500e-9,
0, 1e-6, 1e-6, 25, 0);
%
% Wei Shi, UBC, 2012
% [email protected]
%
function [Ethru Edrop Qi Qc tau_rt Rj Cj]=RingMod(lambda, Filter_type, r, Lc, L_pn, w,
pn_offset, ds_n_plus, ds_p_plus, T, V);
%
% type: all-pass or add-drop
% r: radius
% Lc: coupler length
% Lh: heater length
%
% neff_pn, alpha_pn: effective index and free-carrier obsorption of the phase modulator
% Rj, Cj: junction resistance and capacitance of the phase modulator
6.8 Code listings 245

%
% predetermined parameters
t=220e-9; t_slab=90e-9; n_core=3.47; n_clad=1.44; n_oxide=1.44; pts=200;
%
[neff_pn alpha_pn Rj Cj]=neff_V(lambda, t, w, t_slab, n_core, n_clad, n_oxide, pn_offset,
ds_n_plus, ds_p_plus, pts, T, V);
%
% undoped waveguide mode and effective index
[xwg0 TM_E_TEwg0 neff0]=wg_TElike_1Dprofile_neff(lambda, t, w, t_slab, n_core, n_clad,
n_oxide, pts, 2);
neff_exc=neff0;
del_lambda=0.1e-9;
[xwg1 TM_E_TEwg1 neff0_1]=wg_TElike_1Dprofile_neff(lambda+del_lambda, t, w, t_slab,
n_core, n_clad, n_oxide, pts, 2);
ng=neff0-(neff0_1-neff0)/del_lambda*lambda;

alpha_wg_dB=5; % optical loss of intrinsic optical waveguide, in dB/cm


alpha_wg=-log(10^(-alpha_wg_dB/10));% converted to /cm
alpha_pn=alpha_wg+alpha_pn;
alpha_exc=alpha_wg; % optical loss of the ring cavity excluding the phase modulator

L_rt=Lc*2+2*pi*r;
L_exc=L_rt-L_pn;
phi_pn=(2*pi/lambda)*neff_pn*L_pn;
phi_exc=(2*pi/lambda)*neff_exc*L_exc;
phi_rt=phi_pn+phi_exc;

c=299792458;
vg=c/ng;
tau_rt=L_rt/vg;% round-trip time

A_pn=exp(-alpha_pn*100*L_pn); % attunation due to pn junciton


A_exc=exp(-alpha_exc*100*L_exc); % attunation over L_exc
A=A_pn*A_exc; % round-trip optical power attenuation

alpha_av=-log(A)/L_rt;% average loss of the cavity


Qi=2*pi*ng/lambda/alpha_av;

%coupling coefficients
k=0.2;
if (Filter_type==’all-pass’)
t=sqrt(1-k^2);
Ethru=(-sqrt(A)+t*exp(-1i*phi_rt))/(-sqrt(A)*conj(t)+exp(-1i*phi_rt));
Edrop=0;
Qc=-(pi*L_rt*ng)/(lambda*log(abs(t)));
elseif (Filter_type==’add-drop’)
k1=k; k2=k1;
t1=sqrt(1-k1^2); t2=sqrt(1-k2^2);
Ethru=(t1-conj(t2)*sqrt(A)*exp(1i*phi_rt))/(1-sqrt(A)*conj(t1)*conj(t2)
*exp(1i*phi_rt));
Edrop=-conj(k1)*k2*sqrt(sqrt(A))*exp(1i*phi_rt/2)/(1-sqrt(A)*conj(t1)*conj(t2)
*exp(1i*phi_rt));
Qc1=-(pi*L_rt*ng)/(lambda*log(abs(t1)));
Qc2=-(pi*L_rt*ng)/(lambda*log(abs(t2)));
Qc=1/(1/Qc1+1/Qc2);
else
error(1, ’The’’Filter_type’’ has to be ’’all-pass’’ or ’’add-drop’’.\n’);
end

Listing 6.5 Waveguide mode profile and effective index calculation, MATLAB model,
wg_TElike_1Dprofile_neff.m
% wg_TElike_1Dprofile.m - Effective Index Method - 1D mode profile
% Lukas Chrostowski, 2012
% modified by Wei Shi, 2012

% usage, e.g.:
% [xwg, TM_E_TEwg]=wg_TElike_1Dprofile_neff (1.55e-6, 0.22e-6, 0.5e-6, 90e-9,3.47, 1,
1.44, 100, 2);
246 Modulators

% figure; plot(xwg, TM_E_TEwg(:,1))

function [xwg, TM_E_TEwg, neff_TEwg_1st]=wg_TElike_1Dprofile_neff (lambda, t, w, t_slab,


n_core, n_clad, n_oxide, pts, M)

% TE (TM) modes of slab waveguide (core and slab portions):


[nTE,nTM]=wg_1D_analytic (lambda, t, n_oxide, n_core, n_clad);
if t_slab>0
[nTE_slab,nTM_slab]=wg_1D_analytic (lambda, t_slab, n_oxide, n_core, n_clad);
else
nTE_slab=n_clad; nTM_slab=n_clad;
end
[xslab, TE_Eslab, TE_Hslab, TM_Eslab, TM_Hslab]= wg_1D_mode_profile (lambda, t, n_oxide,
n_core, n_clad, pts, M);

% TE-like modes of the etched waveguide (for fundamental slab mode):


[nTE,nTM]=wg_1D_analytic (lambda, w, nTE_slab(1), nTE(1), nTE_slab(1));
neff_TEwg_1st=nTM(1);
[xwg, TE_E_TEwg, TE_H_TEwg, TM_E_TEwg, TM_H_TEwg]= wg_1D_mode_profile (lambda, w,
nTE_slab(1), nTE(1), nTE_slab(1), pts, M);

Listing 6.6 Ring modulator spectrum, MATLAB model, RingMod_spectrum.m


% calculate the ring modulator spectrum
% Wei Shi UBC, 2012
% [email protected]

function [Ethru Edrop Qi Qc tau_rt Rj Cj]=RingMod_spectrum(lambda, Filter_type, r, Lc,


L_pn, w, pn_offset, ds_n_plus, ds_p_plus, T, V);
%
Ethru=zeros(1, length(lambda));
Edrop=zeros(1, length(lambda));
Qi=zeros(1, length(lambda));
Qc=zeros(1, length(lambda));
tau_rt=zeros(1, length(lambda));
%
for i=1:length(lambda)
[Ethru(i) Edrop(i) Qi(i) Qc(i) tau_rt(i) Rj Cj]=RingMod(lambda(i), Filter_type, r, Lc,
L_pn, w, pn_offset, ds_n_plus, ds_p_plus, T, V);
end

Listing 6.7 Ring modulator spectrum plot, MATLAB, RingMod_spectrum_plot.m


% Plot the ring modulator spectrum
% Wei Shi, UBC, 2012
% [email protected]
%
% RingMod_spectrum_plot;

c=299792458;
lambda=1e-9*(1530:0.1:1560);
Filter_type=’add-drop’;
pn_angle=2*pi; %
r=10e-6; Lc=0; L_pn=2*pi*r*pn_angle/(2*pi); w=500e-9; % WG parameters
pn_offset=0; ds_n_plus=1e-6; ds_p_plus=1e-6; % pn-junction design
T=25; V0=0; % temperature and voltage

[Ethru0 Edrop0 Qi0 Qc0 tau_rt0 Rj0 Cj0] = RingMod_spectrum (lambda, Filter_type, r, Lc,
L_pn, w, pn_offset, ds_n_plus, ds_p_plus, T, V0);

figure;
plot(lambda*1e9, [10*log10(abs(Ethru0).^2); 10*log10(abs(Edrop0).^2)], ’linewidth’, 2);
xlim([min(lambda) max(lambda)]*1e9);
set(gca, ’fontsize’, 14);
xlabel({’\lambda (nm)’}, ’fontsize’, 14);
ylabel({’Transmission (dB)’}, ’fontsize’, 14);
legend(’Through’, ’Drop’);
6.8 Code listings 247

% zoom at one peak wavelength


lambda_zoom=1e-9*(1540.7:0.0025:1541);
V=-4:1:0;
lenV = length(V); lenLZ = length(lambda_zoom);
Ethru=zeros(lenV, lenLZ); Edrop=zeros(lenV, lenLZ);
A=zeros(lenV, lenLZ);
Qi=zeros(lenV, lenLZ); Qc=zeros(lenV, lenLZ);
Cj=zeros(lenV,1); Rj=zeros(lenV,1);
for i=1:lenV
[Ethru(i,:) Edrop(i,:) Qi(i,:) Qc(i,:) tau_rt(i,:) Rj(i,:)
Cj(i,:)]=RingMod_spectrum(lambda_zoom, Filter_type, r, Lc, L_pn, w, pn_offset,
ds_n_plus, ds_p_plus, T, V(i));
end

Qt=1./(1./Qi+1./Qc);% total Q
tp=Qt./(c/1541e-9*2*pi); % photon lifetime
tp_av=sum(tp, 2)/(length(lambda_zoom)); % average photon lifetime across over the spectrum
fcq=1./(2*pi*tp_av);
fcj=1./(2*pi*Rj.*Cj);
fc=1./(1./fcq+1./fcj);

figure; plot(lambda_zoom*1e9, 10*log10(abs(Ethru).^2), ’linewidth’, 2);


set(gca, ’fontsize’, 14);
xlabel({’\lambda (nm)’}, ’fontsize’, 14);
ylabel({’Transmission (dB)’}, ’fontsize’, 14);
legend({cat(2, num2str(-V’), char(ones(length(V),1)*’V’))}, ’Location’, ’best’,
’fontsize’, 14);

if strcmp(Filter_type,’add-drop’)
figure;
plot(lambda_zoom*1e9, 10*log10(abs(Edrop).^2), ’linewidth’, 2);
set(gca, ’fontsize’, 14);
xlabel({’\lambda (nm)’}, ’fontsize’, 14);
ylabel({’Transmission (dB)’}, ’fontsize’, 14);
legend({cat(2, num2str(-V’), char(ones(length(V),1)*’V’))}, ’Location’, ’best’,
’fontsize’, 14);
end

figure;
plot(-V, [fcq fcj fc]*1e-9, ’linewidth’, 2);
set(gca, ’fontsize’, 14);
xlabel({’Voltage (V)’}, ’fontsize’, 14);
ylabel({’Cutoff frequency (GHz)’}, ’fontsize’, 14);
legend({’\tau_p determined’,’p-n junction determined’,’f_c’}, ’Location’, ’NorthWest’,
’fontsize’, 14);

Listing 6.8 Parameter definitions for the pn-junction phase modulator, used for electrical
calculations in DEVICE, Listing 4.10, and optical calculations in MODE, Listing 6.10,
modulator_setup_parameters.lsf
# Parameter definitions for the modulator, used for electrical calculations in DEVICE and
optical calculations in MODE

# define wafer and waveguide structure


thick_rib = 0.13e-6;
width_rib = 0.5e-6;
thick_slab = 0.09e-6;
width_slab = 5e-6;
center_plateau = 3.75e-6;
width_plateau = 2.5e-6;

# define doping
center_pepi = 0.1e-6; # pepi
thick_pepi = 0.3e-6;

x_center_p = -3.075e-6; # implant


x_span_p = 5.85e-6;
z_center_p = -0.105e-6;
248 Modulators

z_span_p = 0.39e-6;
diff_dist_fcn = 1; # 0 for erfc, 1 for gaussian
face_p = 5; # upper z
width_junction_p = 0.1e-6;
surface_conc_p = 7e17*1e6;
reference_conc_p = 1e6*1e6;
x_center_n = 3.075e-6;
x_span_n = 5.85e-6;
z_center_n = -0.105e-6;
z_span_n = 0.39e-6;
face_n = 5; # upper z
width_junction_n = 0.1e-6;
surface_conc_n = 5e17*1e6;
reference_conc_n = 1e6*1e6;

x_center_p_contact = -4e-6; # contact


x_span_p_contact = 4e-6;
z_center_p_contact = -0.04e-6;
z_span_p_contact = 0.52e-6;
diff_dist_fcn_contact = 1; # 0 for erfc, 1 for gaussian
face_p_contact = 5; # upper z
width_junction_p_contact = 0.1e-6;
surface_conc_p_contact = 1e19*1e6;
reference_conc_p_contact = 1e6*1e6;
x_center_n_contact = 4e-6;
x_span_n_contact = 4e-6;
z_center_n_contact = -0.04e-6;
z_span_n_contact = 0.52e-6;
face_n_contact = 5; # upper z
width_junction_n_contact = 0.1e-6;
surface_conc_n_contact = 1e19*1e6;
reference_conc_n_contact = 1e6*1e6;

x_center_p_rib = -0.12e-6; # waveguide


x_span_p_rib = 0.36e-6;
z_center_p_rib = 0.1275e-6;
z_span_p_rib = 0.255e-6;
diff_dist_fcn_rib = 1; # 0 for erfc, 1 for gaussian
face_p_rib = 0; # lower x
width_junction_p_rib = 0.12e-6;
surface_conc_p_rib = 5e17*1e6;
reference_conc_p_rib = 1e6*1e6;
x_center_n_rib = 0.095e-6;
x_span_n_rib = 0.31e-6;
z_center_n_rib = 0.14e-6;
z_span_n_rib = 0.24e-6;
face_n_rib = 1; # upper x
width_junction_n_rib = 0.11e-6;
surface_conc_n_rib = 7e17*1e6;
reference_conc_n_rib = 1e6*1e6;

# define contacts
center_contact = 4.4e-6;
width_contact = 1.2e-6;
thick_contact = 0.5e-6;
voltage_start = -0.5;
voltage_stop = 4;
voltage_interval = 0.25;

# define simulation region


min_edge_length = 0.004e-6;
max_edge_length = 0.6e-6;
max_edge_length_override = 0.007e-6; # mesh override region
x_center = 0; x_span = 2*center_contact + width_contact;
y_center = 0; y_span = 1e-6; # irrelevant for 2D cross section
z_center = 0; z_span = 5e-6;

# define monitors
filename_mzi = ’mzi_carrier.mat’;
6.8 Code listings 249

Listing 6.9 Electrical simulation of the pn-junction phase modulator, in Lumerical DEVICE. This script
simulates the DC characteristics of the junction, specifically the spatial charge density and junction
capacitance versus voltage. Device and simulation parameters are defined in Listing 6.8;
modulator_setup_device.lsf
# Electrical simulation of the pn-junction phase shifter
# Step 1: in Lumerical DEVICE; this script accomplishes:
# 1) Simulate the DC characteristics of the junction,
# to export the spatial charge density, for different voltages
# 2) Calculates the junction capacitance versus voltage.
# 3) Calculates the resistance in each slab

newproject; redrawoff;

# modulator geometry variables defined:


modulator_setup_parameters;

# draw geometry
addrect; # rib
set(’name’,’rib’);
set(’material’,’Si (Silicon)’);
set(’x’,x_center); set(’x span’, width_rib);
set(’y’,y_center); set(’y span’,y_span);
set(’z min’,thick_slab); set(’z max’,thick_slab+thick_rib);

addrect; # slab
set(’name’,’slab’);
set(’material’,’Si (Silicon)’);
set(’x’,x_center); set(’x span’, width_slab);
set(’y’,y_center); set(’y span’,y_span);
set(’z min’,z_center); set(’z max’,thick_slab);

addrect; # plateau
set(’name’,’plateau_left’);
set(’material’,’Si (Silicon)’);
set(’x’,-center_plateau); set(’x span’, width_plateau);
set(’y’,y_center); set(’y span’,y_span);
set(’z min’,z_center); set(’z max’,thick_slab+thick_rib);
copy;
set(’name’,’plateau_right’);
set(’x’,center_plateau);

addrect; # contacts
set(’name’,’anode’);
set(’material’,’Al (Aluminium) - CRC’);
set(’x’,-center_contact); set(’x span’, width_contact);
set(’y’,y_center); set(’y span’,y_span);
set(’z min’,thick_slab+thick_rib); set(’z max’,thick_slab+thick_rib+thick_contact);
copy;
set(’name’,’cathode’);
set(’x’,center_contact);

addrect; # oxide
set(’name’,’oxide’);
set(’material’,’SiO2 (Glass) - Sze’);
set(’override mesh order from material database’,1); set(’mesh order’,5);
set(’override color opacity from material database’,1); set(’alpha’,0.3);
set(’x’,x_center); set(’x span’,x_span);
set(’y’,y_center); set(’y span’,y_span);
set(’z’,z_center); set(’z span’,z_span);

# draw simulation region


adddevice;
set(’min edge length’,min_edge_length);
set(’max edge length’,max_edge_length);
set(’x’,x_center); set(’x span’,x_span-0.1e-6);
set(’y’,y_center); set(’y span’,y_span);
set(’z’,z_center); set(’z span’,z_span);
250 Modulators

addmesh;
set(’name’,’wg mesh’);
set(’max edge length’,max_edge_length_override);
set(’x’,x_center); set(’x span’, width_rib);
set(’y’,y_center); set(’y span’,y_span);
set(’z min’,0); set(’z max’,thick_slab+thick_rib);
set(’enabled’,0);

# draw doping regions


adddope;
set(’name’,’pepi’);
set(’dopant type’,’p’); # p type
set(’x’,x_center); set(’x span’,x_span);
set(’y’,y_center); set(’y span’,y_span);
set(’z’,center_pepi); set(’z span’,thick_pepi);

adddiffusion;
set(’name’,’p implant’);
set(’x’,x_center_p); set(’x span’,x_span_p);
set(’y’,y_center); set(’y span’,y_span);
set(’z’,z_center_p); set(’z span’,z_span_p);
set(’dopant type’,’p’);
set(’face type’,face_p);
set(’junction width’,width_junction_p);
set(’distribution index’,diff_dist_fcn);
set(’concentration’,surface_conc_p);
set(’ref concentration’,reference_conc_p);

adddiffusion;
set(’name’,’n implant’);
set(’x’,x_center_n); set(’x span’,x_span_n);
set(’y’,y_center); set(’y span’,y_span);
set(’z’,z_center_n); set(’z span’,z_span_n);
set(’dopant type’,’n’);
set(’face type’,face_n);
set(’junction width’,width_junction_n);
set(’distribution index’,diff_dist_fcn);
set(’concentration’,surface_conc_n);
set(’ref concentration’,reference_conc_n);

adddiffusion;
set(’name’,’p++’);
set(’x’,x_center_p_contact); set(’x span’,x_span_p_contact);
set(’y’,y_center); set(’y span’,y_span);
set(’z’,z_center_p_contact); set(’z span’,z_span_p_contact);
set(’dopant type’,’p’);
set(’face type’,face_p_contact);
set(’junction width’,width_junction_p_contact);
set(’distribution index’,diff_dist_fcn_contact);
set(’concentration’,surface_conc_p_contact);
set(’ref concentration’,reference_conc_p_contact);

adddiffusion;
set(’name’,’n++’);
set(’x’,x_center_n_contact); set(’x span’,x_span_n_contact);
set(’y’,y_center); set(’y span’,y_span);
set(’z’,z_center_n_contact); set(’z span’,z_span_n_contact);
set(’dopant type’,’n’);
set(’face type’,face_n_contact);
set(’junction width’,width_junction_n_contact);
set(’distribution index’,diff_dist_fcn_contact);
set(’concentration’,surface_conc_n_contact);
set(’ref concentration’,reference_conc_n_contact);

adddiffusion;
set(’name’,’p wg implant’);
set(’x’,x_center_p_rib); set(’x span’,x_span_p_rib);
set(’y’,y_center); set(’y span’,y_span);
set(’z’,z_center_p_rib); set(’z span’,z_span_p_rib);
set(’dopant type’,’p’);
6.8 Code listings 251

set(’face type’,face_p_rib);
set(’junction width’,width_junction_p_rib);
set(’distribution index’,diff_dist_fcn_rib);
set(’concentration’,surface_conc_p_rib);
set(’ref concentration’,reference_conc_p_rib);

adddiffusion;
set(’name’,’n wg implant’);
set(’x’,x_center_n_rib); set(’x span’,x_span_n_rib);
set(’y’,y_center); set(’y span’,y_span);
set(’z’,z_center_n_rib); set(’z span’,z_span_n_rib);
set(’dopant type’,’n’);
set(’face type’,face_n_rib);
set(’junction width’,width_junction_n_rib);
set(’distribution index’,diff_dist_fcn_rib);
set(’concentration’,surface_conc_n_rib);
set(’ref concentration’,reference_conc_n_rib);

# draw monitors
addchargemonitor; # capacitance
set(’monitor type’,6); # 2D y-normal
set(’integrate total charge’,1);
set(’x’,x_center); set(’x span’,x_span);
set(’z min’,0); set(’z max’,thick_slab+thick_rib);
set(’save data’,1);
set(’filename’,filename_mzi);

# set contacts
addcontact; # anode
setcontact(’new_contact’,’name’,’anode’);
setcontact(’anode’,’geometry’,’anode’);
addcontact; # cathode
setcontact(’new_contact’,’name’,’cathode’);
setcontact(’cathode’,’geometry’,’cathode’);
setcontact(’cathode’,’dc’,’fixed contact’,0);
setcontact(’cathode’,’dc’,’range start’,voltage_start);
setcontact(’cathode’,’dc’,’range stop’,voltage_stop);
setcontact(’cathode’,’dc’,’range interval’,voltage_interval);

# 1) Simulate the DC characteristics of the junction,


# export the spatial charge density, for different voltages
save(’pn_wg_dcsweep.ldev’);
run;

# 2) Calculates the junction capacitance versus voltage.


# compare with experimental results
CV_baehrjones = [-0.4, 0.261; -0.25, 0.248; 0, 0.223; 0.25, 0.208; 0.5, 0.198; 0.75,
0.190; 1.0, 0.184; 1.5, 0.175; 2.0, 0.168; 3.0, 0.157; 4.0, 0.150];

# perform two simulations, separated by ’dv’, for each voltage step.


# this is used to determine the change in charge for the small voltage change,
# to find the capacitance.
vmin = -0.4; vmax = 4; N = 12;
dv = 0.025;
vdv = matrix(2*N,1);
vdv(1:2:(2*N)) = linspace(vmin,vmax,N);
vdv(2:2:(2*N)) = vdv(1:2:(2*N)) + sign(vmax)*dv;

switchtolayout;

# set contact bias


setcontact(’cathode’,’dc’,’voltage table’,vdv);
setcontact(’cathode’,’dc’,’dc mode’,2);
setcontact(’cathode’,’dc’,’fixed contact’,0);

# refine mesh for C calculation


setnamed(’wg mesh’,’enabled’,1);

# don’t save this result to file


setnamed(’monitor’,’save data’,0);
252 Modulators

save(’pn_wg_cvanalysis.ldev’);
run;

total_charge = getresult(’monitor’,’total_charge’);
Qn = e*pinch(total_charge.n);
Qp = e*pinch(total_charge.p);

Cn = abs(Qn(2:2:(2*N))-Qn(1:2:(2*N)))/dv;
Cp = abs(Qp(2:2:(2*N))-Qp(1:2:(2*N)))/dv;
V = vdv(1:2:(2*N));

# User should check for convergence; Cn and Cp should be equal:


#plotxy(V,Cn*1e15*1e-6,V,Cp*1e15*1e-6,"Voltage (V)","Capacitance (fF/um)");

# Final result:
plotxy(V,0.5*(Cn+Cp)*1e15*1e-6,CV_baehrjones(1:11,1),CV_baehrjones(1:11,2),"Voltage
(V)","Capacitance (fF/um)");

#
# 3) Calculate the resistance in each slab
# Add a contact in the middle then adjust simulation region
switchtolayout;

addrect; # rib contact


set(’name’,’r_contact’);
set(’material’,’Al (Aluminium) - CRC’);
set(’x’,x_center); set(’x span’, 0.5*width_rib);
set(’y’,y_center); set(’y span’,y_span);
set(’z min’,z_center); set(’z max’,thick_slab+thick_rib+thick_contact);
set(’override mesh order from material database’,1);
set(’mesh order’,1);

vtest_max = 0.5;
addcontact;
setcontact(’new_contact’,’name’,’r_test’);
setcontact(’r_test’,’geometry’,’r_contact’);
setcontact(’r_test’,’dc’,’fixed contact’,0);
setcontact(’r_test’,’dc’,’range start’,0);
setcontact(’r_test’,’dc’,’range stop’,vtest_max);
setcontact(’r_test’,’dc’,’range interval’,0.1);

setcontact(’anode’,’dc’,’fixed contact’,1);
setcontact(’cathode’,’dc’,’fixed contact’,1);

setnamed(’Device region’,’x’,x_center);
setnamed(’Device region’,’x span’,x_span-0.1e-6);
setnamed(’Device region’,’solver type’,’newton’);
setnamed(’Device region’,’x min’,x_center);

save(’pn_wg_R.ldev’);
run;

test_result = getresult(’Device region’,’r_test’);


Itest = pinch(test_result.I);
Itest_max = abs(Itest(length(Itest)));
?"R_cathode = " + num2str(vtest_max/Itest_max * getnamed(’Device region’,’norm
length’)/0.01) + " Ohm-cm";

switchtolayout;
setnamed(’Device region’,’x’,x_center);
setnamed(’Device region’,’x span’,x_span-0.1e-6);
setnamed(’Device region’,’x max’,x_center);

run;

test_result = getresult(’Device region’,’r_test’);


Itest = pinch(test_result.I);
Itest_max = abs(Itest(length(Itest)));
?"R_anode = " + num2str(vtest_max/Itest_max * getnamed(’Device region’,’norm
length’)/0.01) + " Ohm-cm";
6.8 Code listings 253

Listing 6.10 Optical simulation of the pn-junction phase modulator, in Lumerical MODE. This script
loads the carrier density from electrical simulations in Listing 6.9, calculates the corresponding plasma
dispersion effect, Equation (6.5), performs mode calculations, and determines the neff vs voltage, similar
to results in Figure 6.5. The results are exported for compact modelling in INTERCONNECT such as the
ring modulator in Listing 9.3. Device and simulation parameters are defined in Listing 6.8;
modulator_setup_mode.lsf
# Optical simulation of the pn-junction phase modulator
# Step 2: in Lumerical MODE; this script accomplishes:
# 1) Loads the carrier density from electrical simulations, and
# calculates the neff vs voltage
# 2) Exports the results for INTERCONNECT compact modelling.

newproject; redrawoff;

# modulator geometry variables defined:


modulator_setup_parameters;

# add material
np_material_name = ’silicon with carriers’;
new_mat = addmaterial(’np Density’);
setmaterial(new_mat,’name’,np_material_name);
setmaterial(np_material_name,’use soref and bennet model’,1);
setmaterial(np_material_name,’Base Material’,’Si (Silicon) - Palik’);

# add data source (np density grid attribute)


matlabload(filename_mzi); # read in charge dataset
addgridattribute(’np Density’);
importdataset(charge); # attach to grid attribute
set(’name’,filename_mzi);

# define simulation region for MODE calculations


x_span = width_slab - 1e-6; # truncate the contact regions
z_span = 3e-6;
override_mesh_size = 0.01e-6;

# draw geometry
addrect; # oxide
set(’name’,’oxide’);
set(’material’,’SiO2 (Glass) - Palik’);
set(’override mesh order from material database’,1); set(’mesh order’,5);
set(’override color opacity from material database’,1); set(’alpha’,0.3);
set(’x’,x_center); set(’x span’,width_slab);
set(’y’,y_center); set(’y span’,y_span);
set(’z’,0); set(’z span’,z_span);

addrect; # rib
set(’name’,’rib’);
set(’material’,np_material_name);
set(’x’,x_center); set(’x span’, width_rib);
set(’y’,y_center); set(’y span’,y_span);
set(’z min’,thick_slab); set(’z max’,thick_slab+thick_rib);

addrect; # slab
set(’name’,’slab’);
set(’material’,np_material_name);
set(’x’,x_center); set(’x span’, width_slab);
set(’y’,y_center); set(’y span’,y_span);
set(’z min’,z_center); set(’z max’,thick_slab);

# simulation region
addfde;
set(’solver type’,’2D Y normal’);
set(’x’,x_center); set(’x span’,x_span);
set(’z’,0);

addmesh;
set(’name’,’wg mesh’);
set(’dx’,override_mesh_size);
254 Modulators

set(’dz’,override_mesh_size);
set(’override y mesh’,0);
set(’x’,x_center); set(’x span’, width_rib);
set(’z min’,0); set(’z max’,thick_slab+thick_rib);

# run simulation
V = voltage_start:voltage_interval:voltage_stop;
neff = matrix(length(V));

for (i=1:length(V)){
switchtolayout;
setnamed(filename_mzi,’V_cathode_index’,i);
findmodes;
neff(i) = getdata(’mode1’,’neff’);
}

# write out
dneff = real(neff - neff(find(V>=0,1))); # relative change in index

la0 = getnamed("FDE","wavelength"); # central wavelength


rel_phase = 2*pi*dneff/la0*1e-2; # phase change /cm
alpha_dB_cm = -0.2*log10(exp(1))*(-2*pi*imag(neff)/la0);

plot(V,rel_phase, "Voltage (V)", "Relative phase (rad./cm)");


plot(V,alpha_dB_cm, "Voltage (V)", "loss (dB/cm)");

data = [V,dneff,imag(neff)];
write("modulator_neff_V.dat",num2str(data)); # for INTERCONNECT

Listing 6.11 Simulation of the doping offset on the excess optical loss of a PIN junction waveguide, in
Lumerical MODE Solutions; wg_PIN.lsf
# wg_PIN.lsf - draw the PIN waveguide geometry in Lumerical MODE
new(1);
wg_2D_draw;

wavelength=1550e-9;

#N=5e20; P=1.9e20; # N++/ P++


#N=3e18; P=2e18; # N+ / P+
N=5e17; P=7e17; # N / P
alphaN_m = 3.52e-6*wavelength^2*N*100;
alphaP_m = 2.4e-6*wavelength^2*P*100;
k_P = wavelength * alphaP_m /4/pi;
k_N = wavelength * alphaN_m /4/pi;

matP = "P++";
temp = addmaterial("(n,k) Material");
setmaterial(temp, "name",matP);
setmaterial(matP, "Refractive Index", 3.47);
setmaterial(matP, "Imaginary Refractive Index", k_P);

matN = "N++";
temp = addmaterial("(n,k) Material");
setmaterial(temp, "name",matN);
setmaterial(matN, "Refractive Index", 3.47);
setmaterial(matN, "Imaginary Refractive Index", k_N);

# draw P++ doping


addrect; set("name", "P++"); set("material", matP);
set("y min", 0.8e-6); set("y max", Ymax);
set("z min", 0); set("z max", thick_Slab);
set("x min", Xmin); set("x max", Xmax);

# draw N++ doping


addrect; set("name", "N++"); set("material", matN);
set("y max", -0.8e-6); set("y min", -Ymax);
set("z min", 0); set("z max", thick_Slab);
set("x min", Xmin); set("x max", Xmax);
6.8 Code listings 255

# define simulation parameters


meshsize = 20e-9; # maximum mesh size

# add 2D mode solver (waveguide cross-section)


addfde; set("solver type", "2D X normal");
set("x", 0);
set("y", 0); set("y span", Y_span);
set("z max", Zmax); set("z min", Zmin);
set("wavelength", wavelength); set("solver type","2D X normal");
set("define y mesh by","maximum mesh step"); set("dy", meshsize);
set("define z mesh by","maximum mesh step"); set("dz", meshsize);
set("number of trial modes",1);

# define parameters to sweep


doping_offset_list=[0:.1:1.5]*1e-6; # sweep doping offset

select("FDE"); set("solver type","2D X normal"); # 2D mode solver


loss = matrix (length(doping_offset_list) );

for(ii=1:length(doping_offset_list)) {
switchtolayout;
setnamed("P++","y min", doping_offset_list(ii)+width_ridge/2);
setnamed("N++","y max", -doping_offset_list(ii)-width_ridge/2);
n=findmodes;
loss(ii) =( getdata ("FDE::data::mode1","loss") ); # dB/m
}

plot (doping_offset_list, loss/100,"Doping offset","Excess Loss [dB/cm]", "","log10y");


matlabsave (’wg_PIN_low’, doping_offset_list, loss);

Listing 6.12 Thermal modelling of a metallic heater above a strip waveguide, using MATLAB PDE
ToolBox, Thermal_Waveguide.m
function pdemodel

% Geometry and parameter definitions


Width=50; % in unit microns
MetalWidth=1;
MetalThickness=0.5;
MetalLength=100;
MetalWGDistance=1;
WGWidth=0.5;
WGHeight=0.22;
kSi = 149e-6; % Thermal conductivity, W / (micron.K)
kSiO2 = 1.4e-6;
kAl = 250e-6;
Qsource=0.01; % Heat source in the metal [W]
Q = Qsource / MetalThickness / MetalWGDistance / MetalLength; % unit of W / micron^3;

%%%%%%%%%%%%%%
% code generated by Matlab PDE ToolBox:
%%%%%%%%%%%%%%
[pde_fig,ax]=pdeinit;
pdetool(’appl_cb’,9);
set(ax,’DataAspectRatio’,[1 1 1]);
set(ax,’PlotBoxAspectRatio’,[10 6 1]);
set(ax,’XLim’,[-10 10]);
set(ax,’YLim’,[-10 2]);
set(ax,’XTickMode’,’auto’);
set(ax,’YTickMode’,’auto’);

% Geometry description:
pderect([-50 50 2 -2],’Oxide’);
pderect([-0.5 0.5 1.22 1.72],’Metal’);
pderect([-0.25 0.25 0 0.22],’Si’);
pderect([-50 50 -2 -100],’SiSubstrate’);
set(findobj(get(pde_fig,’Children’),’Tag’,’PDEEval’),’String’,’Oxide+Metal+Si+SiSubstrate’)
256 Modulators

% Boundary conditions:
pdetool(’changemode’,0)
pdesetbd(14, ’neu’, 1, ’0’,’0’)
pdesetbd(13, ’neu’, 1, ’0’,’0’)
pdesetbd(10, ’neu’, 1, ’0’,’0’)
pdesetbd(7, ’neu’, 1, ’0’,’0’)
pdesetbd(6, ’neu’, 1, ’0’,’0’)
pdesetbd(4, ’dir’, 1, ’1’,’0’)

% Mesh generation:
setappdata(pde_fig,’Hgrad’,1.3);
setappdata(pde_fig,’refinemethod’,’regular’);
setappdata(pde_fig,’jiggle’,char(’on’,’mean’,’’));
setappdata(pde_fig,’MesherVersion’,’preR2013a’);
pdetool(’initmesh’)
pdetool(’refine’)
pdetool(’refine’)

% PDE coefficients:
pdeseteq(1,...
’1.4e-6!149e-6!250e-6!149e-6’,...
’0!0!0!0’,...
’(0)+(0).*(0.0)!(0)+(0).*(0.0)!(0.0002)+(0).*(0.0)!(0)+(0).*(0.0)’,...
’(1.0).*(1.0)!(1.0).*(1.0)!(1.0).*(1.0)!(1.0).*(1.0)’,...
’0:10’,...
’0.0’,...
’0.0’,...
’[0 100]’)
setappdata(pde_fig,’currparam’,...
[’1.0!1.0!1.0!1.0 ’;...
’1.0!1.0!1.0!1.0 ’;...
’1.4e-6!149e-6!250e-6!149e-6’;...
’0!0!0.002!0 ’;...
’0!0!0!0 ’;...
’0.0!0.0!0.0!0.0 ’])

% Solve parameters:
setappdata(pde_fig,’solveparam’,...
char(’0’,’22368’,’10’,’pdeadworst’,...
’0.5’,’longest’,’0’,’1E-4’,’’,’fixed’,’Inf’))

% Plotflags and user data strings:


setappdata(pde_fig,’plotflags’,[1 1 1 1 1 1 7 1 0 0 0 1 1 1 0 0 0 1]);
setappdata(pde_fig,’colstring’,’’);
setappdata(pde_fig,’arrowstring’,’’);
setappdata(pde_fig,’deformstring’,’’);
setappdata(pde_fig,’heightstring’,’’);

% Solve PDE:
pdetool(’solve’)

%%% End of PDE ToolBox code.

%%%%%%%%%%%%%%%
% Extract data from PDE ToolBox and plot
%%%%%%%%%%%%%%%

pde_fig=findobj(allchild(0),’flat’,’Tag’,’PDETool’);
u = get(findobj(pde_fig,’Tag’,’PDEPlotMenu’),’UserData’);
h=findobj(get(pde_fig,’Children’),’flat’,’Tag’,’PDEMeshMenu’);
hp=findobj(get(h,’Children’),’flat’,’Tag’,’PDEInitMesh’);
he=findobj(get(h,’Children’),’flat’,’Tag’,’PDERefine’);
ht=findobj(get(h,’Children’),’flat’,’Tag’,’PDEMeshParam’);
p=get(hp,’UserData’);
t=get(ht,’UserData’);

% get geometry to overlay on plot


pdetool(’export’,2);
pause
References 257

g=evalin(’base’,’g’);
fid = wgeom(g, ’geom’);

% Plot 2D data:
xlist =[-5:.05:5];
ylist =[-4:.05:2];
[X,Y] = meshgrid(xlist, ylist);
UXY=tri2grid(p,t,u,xlist,ylist);
figure; [c, h] = contourf(X,Y,UXY,20); colorbar;
c=colormap(’hot’); c=c(end:-1:1,:); colormap(c)
hold all; h=pdegplot(’geom’);
set(h,’LineWidth’,3,’Color’,’b’);
global FONTSIZE
FONTSIZE=20;
xlabel (’x Position [\mum]’,’FontSize’,FONTSIZE)
ylabel (’y Position [\mum]’,’FontSize’,FONTSIZE)
pbaspect([ (xlist(end)-xlist(1))/(ylist(end)-ylist(1)) 1 1])
printfig (’thermal1’);

% plot 1D
xlist =[0]; ylist =[-5:.01:2];
[X,Y] = meshgrid(xlist, ylist);
UXY=tri2grid(p,t,u,xlist,ylist);
figure; plot (Y, UXY,’LineWidth’,3);
xlabel (’y Position [\mum]’,’FontSize’,FONTSIZE)
ylabel (’Temperature’,’FontSize’,FONTSIZE)
yl=ylim;ylim([0 yl(2)]); grid on
xlim([ylist(1) ylist(end)]);
printfig (’thermal2’);

% Temperature inside waveguide


q=find(ylist>.09);
T_wg=UXY(q(1))

% Temperature inside metal


q=find(ylist>1.4);
T_metal=UXY(q(1))

% Thermal tuning efficiency calculations:


dndT = 1.87e-4;
FSR_fraction = dndT*T_wg*MetalLength / 1.55
mW_per_FSR = Qsource*1e3 / FSR_fraction

function printfig (file)


global FONTSIZE
set (gca, ’FontSize’,FONTSIZE)
pdf = [ file ’.pdf’];
print (’-dpdf’, pdf); system([ ’pdfcrop ’ pdf ’ ’ pdf ]);

References

[1] R. Soref and B. Bennett. “Electrooptical effects in silicon”. IEEE Journal of Quantum
Electronics 23.1 (1987), pp. 123–129 (cit. on p. 217).
[2] G. T. Reed, G. Mashanovich, F. Y. Gardes, and D. J. Thomson. “Silicon optical modulators”.
Nature Photonics 4.8 (2010), pp. 518–526 (cit. on p. 217).
[3] M. Nedeljkovic, R. Soref, and G. Z. Mashanovich. “Free-carrier electro-refraction
and electroabsorption modulation predictions for silicon over the 1–14 micron
infrared wavelength range”. IEEE Photonics Journal 3.6 (2011), pp. 1171–1180. doi:
10.1109/JPHOT.2011.2171930 (cit. on pp. 217, 219).
[4] T. Baehr-Jones, R. Ding, Y. Liu, et al. “Ultralow drive voltage silicon traveling-wave
modulator”. Optics Express 20.11 (2012), pp. 12 014–12 020 (cit. on pp. 224, 225).
258 Modulators

[5] Xi Xiao, Hao Xu, Xianyao Li, et al. “25 Gbit/s silicon microring modulator based on
misalignment-tolerant interleaved PN junctions”. Optics Express 20.3 (2012), pp. 2507–
2515. doi: 10.1364/OE.20.002507 (cit. on p. 226).
[6] Tom Baehr-Jones, Ran Ding, Ali Ayazi, et al. “A 25 Gb/s silicon photonics platform”.
arXiv:1203.0767v1 (2012) (cit. on pp. 226, 234).
[7] W. Bogaerts, P. De Heyn, T. Van Vaerenbergh, et al. “Silicon microring resonators”. Laser &
Photonics Reviews 6.1 (2012), pp. 43–73. (cit. on p. 226).
[8] Guoliang Li, Ashok V. Krishnamoorthy, Ivan Shubin, et al. “Ring resonator modulators
in silicon for interchip photonic links”. IEEE Journal of Selected Topics in Quantum
Electronics 19.6 (2013), p. 3401819 (cit. on p. 226).
[9] Lukas Chrostowski, Samantha Grist, Jonas Flueckiger, et al. “Silicon photonic resonator
sensors and devices”. Proceedings of SPIE Volume 8236; Laser Resonators, Microres-
onators, and Beam Control XIV (Jan. 2012) (cit. on p. 230).
[10] Wei Shi, Xu Wang, Charlie Lin, et al. “Silicon photonic grating-assisted, contra-directional
couplers”. Optics Express 21.3 (2013), pp. 3633–3650 (cit. on p. 232).
[11] Matthew Streshinsky, Ran Ding, Yang Liu, et al. “Low power 50 Gb/s silicon traveling wave
Mach-Zehnder modulator near 1300 nm”. Optics Express 21.25 (2013), pp. 30 350–30 357
(cit. on p. 234).
[12] John E. Cunningham, Ivan Shubin, Xuezhe Zheng, et al. “Highly-efficient thermally-tuned
resonant optical filters”. Optics Express 18.18 (2010), pp. 19055–19063 (cit. on p. 236).
[13] Tsung-Yang Liow, JunFeng Song, Xiaoguang Tu, et al. “Silicon optical interconnect
device technologies for 40 Gb/s and beyond”. IEEE JSTQE 19.2 (2013), p. 8200312. doi:
10.1109/JSTQE.2012.2218580 (cit. on pp. 236, 240).
[14] Qing Fang, Jun Feng Song, Tsung-Yang Liow, et al. “Ultralow power silicon photonics
thermo-optic switch with suspended phase arms”. IEEE Photonics Technology Letters 23.8
(2011), pp. 525–527 (cit. on p. 236).
[15] PDE – Partial Differential Equation Toolbox – MATLAB. [Accessed 2014/04/14]. url:
http://www.mathworks.com/products/pde/ (cit. on p. 237).
[16] Michael R. Watts, Jie Sun, Christopher DeRose, et al. “Adiabatic thermo-optic Mach–
Zehnder switch”. Optics Letters 38.5 (2013), pp. 733–735 (cit. on p. 240).
[17] T. Chu, H. Yamada, S. Ishida, and Y. Arakawa. “Compact 1 × N thermo-optic switches
based on silicon photonic wire waveguides”. Optics Express 13.25 (2005), pp. 10 109–
10 114 (cit. on p. 240).

You might also like