Components: gpdk built-in components

The components folder in gpdk holds all Python scripts for parametric component layout units, where each type of parametric component unit is stored in a subfolder named after the component unit, such as bend, bondpad, combiner, and other component subfolders.

../_images/component1.png

Each single component subfolder within the components folder contains the Python script source code for that class of component.

Take the bend folder as an example:

  1. The local folder is used to store the GDS and SPC netlist files generated by the python scripts of bend devices (if the local folder does not exist, it will be generated automatically after running the python source code of the device).

  2. The test folder can be ignored by users for the time being.

  3. The red arrows in the figure below show the python source code of three different types of bends, users can try to run the source code to experience its’ functions.

../_images/component2.png

Passive components

No.

Cell Name

Key Parameters

Default WG

Layout

1

BendBezier

start, controls, end, waveguide_type, port_names

FWG.C.WIRE

../_images/passive1.png

2

BendCircular

degrees, radius, waveguide_type, port_names

FWG.C.WIRE

../_images/passive2.png

3

BendEuler

degrees, radius_min, p, waveguide_type, port_names

FWG.C.WIRE

../_images/passive3.png

4

Ycombiner

bend_radius, out_degrees, center_waveguide_length, taper_length, waveguide_type, port_names

FWG.C.WIRE

../_images/passive4.png

5

ContactHole

num_sides, top_width, tin_width, bottom_width, via_width, port_names

../_images/passive5.png

6

DirectionalCouplerBend

coupler_spacing, coupler_length, bend_radius, straight_after_bend, waveguide_type, port_names

FWG.C.WIRE

../_images/passive6.png

7

DCHalfRingStraight

coupler_spacing, coupler_length, bend_radius, waveguide_type, port_names

FWG.C.WIRE

../_images/passive7.png

8

DirectionalCouplerSBend

coupler_spacing, coupler_length, bend_radius, bend_degrees, straight_after_bend, waveguide_type, port_names

FWG.C.WIRE

../_images/passive8.png

9

Fixed_Edge_Coupler

FWG.C.WIRE

../_images/passive9.png

10

Fixed_MH_TE_1550

../_images/passive10.png

11

Fixed_Terminator_TE_1550

length, waveguide_type, anchor

FWG.C.WIRE

../_images/passive11.png

12

GratingCoupler

length, half_degrees, ellipse_ratio, tooth_width, etch_width, teeth, waveguide_type, port_names

FWG.C.WIRE

../_images/passive12.png

13

SiHeater

length, half_metal_width, waveguide_type, port_names

FWG.C.WIRE

../_images/passive13.png

14

TiNHeater

waveguide_length, tin_length, tin_width, tin_box_size, metal_box_size, contact_box_size, waveguide_type, port_names

FWG.C.WIRE

../_images/passive14.png

15

RingResonator

ring_radius, top_spacing, bottom_spacing, ring_type, top_type, bottom_type, port_names

FWG.C.WIRE

../_images/passive15.png

16

SBendCircular

distance, height, min_radius, waveguide_type, port_names

FWG.C.WIRE

../_images/passive16.png

17

SBend

distance, height, bend_degrees, max_distance, bend_factory, waveguide_type, port_names

FWG.C.WIRE

../_images/passive17.png

18

Ysplitter

bend_radius, out_degrees, center_waveguide_length, taper_length, waveguide_type, port_names

FWG.C.WIRE

../_images/passive18.png

19

Straight

length, waveguide_type, anchor, port_names

FWG.C.WIRE

../_images/passive19.png

20

TaperLinear

length, left_type, right_type, anchor, port_names

FWG.C.WIRE

../_images/passive20.png

21

TaperParabolic

length, left_type, right_type, step, anchor, port_names

(left)FWG.C.WIRE, (right)FWG.C.EXPANDED

../_images/passive21.png

22

FWG2MWGTransition

length, wire_only_length, deep_only_width, fwg_type, mwg_type, anchor, port_names

FWG.C.WIRE , MWG.C.WIRE

../_images/passive22.png

23

FWG2SWGTransition

length, wire_only_length, deep_only_width, fwg_type, swg_type, anchor, port_names

FWG.C.WIRE , MWG.C.WIRE

../_images/passive23.png

24

SWG2MWGTransition

swg_length, swg_wire_only_length, swg_deep_only_width, swg_type, mwg_length, mwg_wire_only_length, mwg_wire_only_length, mwg_deep_only_width, mwg_type, anchor, port_names

SWG.C.WIRE , MWG.C.WIRE

../_images/passive24.png

25

CompScan

max_lines, blocks, width, spacing, bend_degrees, bend_factory, bend_factories, waveguide_type connection_type, device_connection_length, min_io_connection_length

../_images/passive25.png

26

HFanout

device, left_spacing, right_spacing, bend_degrees, bend_factories, device_left_ports, device_right_ports, left_distance, right_distance, left_ports, right_ports, left_waveguide_type, right_waveguide_type, connect_length

../_images/passive26.png

27

Spiral

bend_radius, min_straight, spacing, total_length, n_o_loops, waveguide_type, port_names,

FWG.C.WIRE

../_images/passive27.png

28

BondPad

pad_width, pad_height, port_names

../_images/passive28.png

29

Via

top_layer, via_layer, bottom_layer, top_shape, via_shape, bottom_shape, port_names

../_images/passive29.png

30

Vias

width, height, spacing, top_layer, via_layer, bottom_layer, port_names

../_images/passive30.png

Active components

No.

Cell Name

Key Parameters

Default WG

Layout

1

Fixed_Photo_Detector

../_images/active1.png

2

Mzm

p_width, n_width, np_offset, wg_length, phase_shifter_spacing, splitter_wg_length, waveguide_type, pn_phase_shifter_0, pn_phase_shifter_1, y_splitter, y_combiner, port_names

../_images/active2.png

3

TW_Mzm

modulator_length, delta, ground_width, signal_width, metal_spacing, delay, additional_length, pad_width, pad_length, taper_length, period_pad, waveguide_type, mzm_default, port_names

../_images/active3.png

4

PnPhaseShifter

p_width, n_width, np_offset, wg_length, waveguide_type, port_names

../_images/active4.png

5

RingFilter

ring_radius, gap, gap_monitor, waveguide_type, port_names

FWG.C.WIRE

../_images/active5.png

6

RingModulator

gap_monitor, gap, ring_radius, waveguide_type, ring_filter, ports

FWG.C.WIRE

../_images/active6.png