0/37
1/6

Cross-sections and routing · 1 of 6

Cross-sections

A waveguide is rarely a single layer. A strip waveguide sits in an opening of the top cladding, a rib waveguide stands on a slab, and a phase shifter carries a heater. Drawn shape by shape, every piece of waveguide needs a second shape on each extra layer, kept in step with the first.

A cross-section says once what lies across the waveguide:

define xsection strip(width = 500nm) {
    si   width          # the core
    sio2 width + 4um    # an opening in the cladding, 2 µm wider on each side
}

Each line is a section: a layer and a width. The first one is the main section, the waveguide proper.

A cross-section can stand wherever a waveguide primitive expects a width. Every section is then drawn along the same centerline:

shape straight with 20um, strip as wg.start at self.origin
shape arc with 10um, strip, 90deg as bend.start at wg.end

straight is a straight waveguide of a given length, running from the origin along +x, with the anchors start and end like arc. A shape drawn with a cross-section takes its layers from the cross-section, so it is written outside layer blocks, directly in the cell.

Exercise

Turn draws only the core of a 500 nm waveguide. Define a cross-section strip with the core on si and an opening 4 µm wider on sio2, and draw the same turn with it: a 20 µm straight from the origin, then a 90° arc of radius 10 µm.

loading compiler…

Edit the code, watch the layout, then press Submit to check your solution against the exercise.

Compiling…