RAIDEX

Use the bar below to search through all publically available RAIMAD components. You can filter by package name and/or tag.

Please note, RAIMAD packages, just like all python packages, can run arbitrary code on your computer.

raimad RectLW

builtin
polygon

A rectangle defined by length and width.

Option Type Description Default
length <class 'float'> Length of rectangle <Empty>
width <class 'float'> Width of rectangle <Empty>

raimad RectWire

builtin
polygon

A rectangle defined by two points and a thickness.

Option Type Description Default
p1 rai.typing.Point First point <Empty>
p2 rai.typing.Point Second point <Empty>
width <class 'float'> Thickness <Empty>

raimad Circle

builtin
polygon

A polygon that approximates a circle.

Option Type Description Default
radius <class 'float'> Circle radius <Empty>
num_points <class 'int'> Number of points 200

raimad AnSec

builtin
polygon

Annular Sector. A polygon approximating an annular sector, or, in working men's terms, a "pizza crust". An ansec is defined by two radii and two angles: the inner radius r1, the outter radius r2, the starting angle theta1 and the end angle theta2. Helper functions are available to construct ansecs from different measurements.

Option Type Description Default
r1 <class 'float'> Inner radius <Empty>
r2 <class 'float'> Outter radius <Empty>
theta1 <class 'float'> Angle 1 <Empty>
theta2 <class 'float'> Angle 2 <Empty>

raimad CustomPoly

builtin
polygon

A polygon that you can defined on-the fly. #TODO add example

Option Type Description Default
points typing.Sequence[tuple[float, float] | tuple[str, tuple[float, float]]] A list of points for the polygon <Empty>

raimad Snowman

builtin
example

A sample component.

Option Type Description Default
nose_length <class 'float'> Length of nose 10
eye_size <class 'float'> Eye radius 2

rai_compos_priv Frowney

Frowney A sad example component

Option Type Description Default
happiness <class 'float'> Happiness, from -10 to 10 -8
eye_size <class 'float'> Eye radius 5

rai_compos_pub Smiley

A smiley face component

Option Type Description Default
happiness <class 'float'> Happiness, from -10 to 10 8
eye_size <class 'float'> Eye radius 5

rai_compos_pub TestPattern

Test Pattern This is another example component inspired by Leon's work with test patterns for ebeam.

Option Type Description Default
num_rects <class 'int'> Number of rectangles on each side 20
rect_width <class 'float'> Width of each rectangle on left side 10
rect_length <class 'float'> Length of each of rectangle on left side 25
gap_width <class 'float'> Width of gap between each rectangle on left side 10
abberation <class 'float'> Scale of right side compared to left (a value of 1 = same size) 1.5

rai_compos_pub TestPatterns

Test Patterns Test component consisting of multiple test patterns in differnet positions.

Option Type Description Default

rai_compos_pub CPWStraight

None

Option Type Description Default
length <class 'float'> length of segment <Empty>
signal_width <class 'float'> width of signal line <Empty>
gap_width <class 'float'> width of gaps between signal line and gnd lines <Empty>
gnd_width <class 'float'> width of gnd lines <Empty>
resist_margin <class 'float'> shrink width of resist on either side of segment by this much <Empty>

rai_compos_pub CPWBend

None

Option Type Description Default
signal_width <class 'float'> width of signal line <Empty>
gap_width <class 'float'> width of gaps between signal line and gnd lines <Empty>
gnd_width <class 'float'> width of gnd lines <Empty>
resist_margin <class 'float'> shrink width of resist on either side of segment by this much <Empty>
bend_radius <class 'float'> Radius from bend center to middle of signal line <Empty>
dtheta <class 'float'> Arc length of bend (radians) <Empty>

rai_compos_pub CPWTaperMetal

Tapered CPW (positive image). Adapted from cpw:CPWSegment |----- l ------| __ _ __-- | | __-- | | gr1 _ __-- __| |_ gl1 | | ___--- | wr1 _| |___--- ____ |_ wl1 _| _____----- | | sl | | | | _| |_____ | | sr wl2 _| ___ -----____| |_ sl2 | | ---___ | wr2 _| |__ ---__ |_ --__ | | --__ | | gr2 --__| |_

Option Type Description Default
l <class 'float'> length of segment 50
sl <class 'float'> width of signal line on the left 10
sr <class 'float'> width of signal line on the right 12
wl1 <class 'float'> width of top gap on the left 10
wr1 <class 'float'> width of top gap on the right 12
gl1 <class 'float'> width of top ground line on the left 10
gr1 <class 'float'> width of top ground line on the right 12
wl2 float | None width of bottom gap on the left (None to use wl1) None
wr2 float | None width of bottom gap on the right (None to use wr1) None
gl2 float | None width of bottom ground line on the left (None to use gl1) None
gr2 float | None width of bottom ground line on the right (None to use gr1) None

rai_compos_pub CPWStraight_Simple

None

Option Type Description Default
length <class 'float'> length of segment <Empty>
signal_width <class 'float'> width of signal line <Empty>
gap_width <class 'float'> width of gaps between signal line and gnd lines <Empty>

rai_compos_pub CPWBend_Simple

None

Option Type Description Default
signal_width <class 'float'> width of signal line <Empty>
gap_width <class 'float'> width of gaps between signal line and gnd lines <Empty>
bend_radius <class 'float'> Radius from bend center to middle of signal line <Empty>
dtheta <class 'float'> Arc length of bend (radians) <Empty>

rai_compos_pub RAIText

Generate 2D polygons of symbols. Contains Letters: A-Z (small letters are capitalized) Numbers: 0-9 And a selection op special symbols Inspired by the KLayout font

Option Type Description Default
string <class 'str'> Text displayed by the function RAIText
scale <class 'float'> Size scaling of the text 1

rai_compos_pub Layer_union

Merges all elements in a rai.Compo layer into a new compo (fuses overlapping elements together) compo: rai.Compo layer: str

Option Type Description Default
compo <class 'raimad.compo.Compo'> the subject compo <Circle at ╵ ╩ 8 / ■ ╵ /  >
layer <class 'str'> Specifies the layer of the subject compo root

rai_compos_pub Layer_merge

Layer_Merge: creates a single layer rai.Compo of the union between compo layers A and B (A OR B) compo_1: rai.Compo compo_2: rai.Compo layer_1: str layer_2: str

Option Type Description Default
compo_1 <class 'raimad.compo.Compo'> Specifies the first compo <Manual Proxy at ╵ ╩ 8 ╷ ┴ : ╯  with <Identity Transform> of RectLW at ╵ ╩ 8 ╷ ┴ 8 ∞  >
compo_2 <class 'raimad.compo.Compo'> Specifies the second compo <Manual Proxy at ╵ ╩ 8 ╷ ┴ ■ ╭  with <Transform Move (+1.00, +1.00) > of RectLW at ╵ ╩ 8 ╷ ┴ ● ╮  >
layer_1 <class 'str'> Specifies the layer of the first compo root
layer_2 <class 'str'> Specifies the layer of the second compo root

rai_compos_pub Layer_difference

Layer_Difference: creates a single layer rai.Compo of the difference between compo layers A and B (A NOT B) Creates a component reflecting the difference of layers A an B (A and not B) compo_1: rai.Compo compo_2: rai.Compo layer_1: str layer_2: str

Option Type Description Default
compo_1 <class 'raimad.compo.Compo'> Specifies the first compo <Manual Proxy at ╵ ╩ 8 ╷ ┴ ╔ ▲  with <Identity Transform> of RectLW at ╵ ╩ 8 ╷ ┴ ╚ ▼  >
compo_2 <class 'raimad.compo.Compo'> Specifies the second compo <Manual Proxy at ╵ ╩ 8 ╷ ┴ ═ ◀  with <Transform Move (+1.00, +1.00) > of RectLW at ╵ ╩ 8 ╷ ┴ ╝ ▶  >
layer_1 <class 'str'> Specifies the layer of the first compo root
layer_2 <class 'str'> Specifies the layer of the second compo root

rai_compos_pub Layer_intersection

Layer_Intersection: creates a single layer rai.Compo of the intersection between compo layers A and B (A AND B) compo_1: rai.Compo compo_2: rai.Compo layer_1: str layer_2: str

Option Type Description Default
compo_1 <class 'raimad.compo.Compo'> Specifies the first compo <Manual Proxy at ╵ ╩ 8 ╷ ┴ ┬ ╯  with <Identity Transform> of RectLW at ╵ ╩ 8 ╷ ┴ ┴ ∞  >
compo_2 <class 'raimad.compo.Compo'> Specifies the second compo <Manual Proxy at ╵ ╩ 8 ╷ ┴ / ╭  with <Transform Move (+1.00, +1.00) > of RectLW at ╵ ╩ 8 ╷ ┴ ╰ ╮  >
layer_1 <class 'str'> Specifies the layer of the first compo root
layer_2 <class 'str'> Specifies the layer of the second compo root

rai_compos_pub Ruler_marker

A rudimentary ruler shape

Option Type Description Default
width <class 'float'> width of the standard bars 10
length <class 'float'> length of the standard bar 50
gap <class 'float'> size of the gap between two bars 10
number_of_bars <class 'int'> total number of bars, needs to be odd (due to center bar) 11
zero_bar_ratio <class 'float'> ratio of the length of the center bar (zero-bar) and standard bar 1.4
indicator_bar_ratio <class 'float'> ratio of the length of the indicator bars and standard bar 1.2
indicator_number <class 'int'> occurrance of the indicator bar, every Nth bar is an indicator bar 5

rai_compos_pub Vernier_marker

A marker measure misaligment between two layers along one axis Requires: RAIText

Option Type Description Default
pitch <class 'float'> the distance between the heart of two bars in the first ruler 0.4
delta_pitch <class 'float'> the pitch difference between the two rulers 0.005
bar_length <class 'float'> length of the bar 1.2
number_of_bars <class 'int'> total number of bars in one ruler, needs to be odd due to center bar 41
layer_list <class 'list'> list of layer names used for label ['Vernier_1', 'Vernier_2']
labels <class 'bool'> states whether to make labels or not True

rai_compos_pub Vernier_marker_ebeam

Standard marker used to quantify e-beam misalignments. Vernier for two orthogonal axis

Option Type Description Default
layer_list <class 'list'> contains the layer names of the two sides of the vernier pattern ['layer1', 'layer2']

rai_compos_pub Opt_align_mark

Standard marker used during optical alignment using mask alligner. The patern has a standard shape

Option Type Description Default
layer_list <class 'list'> List of the layer names of the two layers ['layer1', 'layer2']
label <class 'str'> label on top right of marker 1

rai_compos_pub TLTest

Sample component to play around with the TL class

Option Type Description Default

rai_compos_pub MSLHalf

None

Option Type Description Default

rai_compos_pub MSLHalves

Two halves of the MSL structure joined together with a signal line

Option Type Description Default

rai_compos_pub VialessMSL

via-less MSL test chip draft.

Option Type Description Default

rai_compos_pub Wafer

This class provides a wafer as a base. The wafer is centred around 0,0. One can provide the length of each flat as well as its corresponding angles (w.r.t. the bottom) as a list The standard diameter is 100 mm (1e5 um) The standard flat is 32.5 mm at the bottom

Option Type Description Default
diameter <class 'float'> specifies the diameter of the 10000.0
flats <class 'list'> specifies the length of the flats [3250.0]
flat_angle <class 'list'> degrees, specifies the angle of the normal of the flat. [0]

rai_compos_pub Invert_Layer

Inverts one layer of a compo enclosed within another compo. Use the rev_inner variable to change the walking order around the inner compo. (If it "fills" the inner compo)

Option Type Description Default
outer_compo <class 'raimad.compo.Compo'> outer Compo that that encloses the inner compos <Manual Proxy at ╵ ╩ 8 ╵ ╷ ╚ 8  with <Identity Transform> of RectLW at ╵ ╩ 8 ╵ ╷ x :  >
inner_compos <class 'raimad.compo.Compo'> inner Compo to in enclosed by the outer compo <Manual Proxy at ╵ ╩ 8 ╵ ╷ ╝ ╵  with <Identity Transform> of Circle at ╵ ╩ 8 ╵ ╷ ╔ o  >
outer_layer <class 'str'> specified layer-name of the outer compo root
inner_layer <class 'str'> specified layer-name of the inner compo root
rev_inner <class 'bool'> reverses the order in which the inner compo contour is followed (clockwise or anti-clockwise) False

rai_compos_pub PPCKID

A rudimentary ruler shape

Option Type Description Default
meander_width <class 'float'> height of the inductor stucture 10

rai_compos_pub PPCKID_Assembly_v2

Parralel Place Capacitor KID used for measurement of dielectric materials

Option Type Description Default
meander_width <class 'float'> height of the inductor stucture 50
coupler_distance <class 'float'> Distance between top op coupler and GND close to readoutline 15

rai_compos_pub DC_chip_no_bridge

DC chip structure used to probe the resistance of a 'wide' line with relatively large length. Allows for an inverted "pads" layer by changing the 'inverse_pads' variable.

Option Type Description Default
total_width <class 'float'> total width of the DC structure 400
bridge_length <class 'float'> length of the freestanding bridge arm of the DC structure 200
bridge_width <class 'float'> width of the bridge line 10
inverse_pads <class 'bool'> States whether to invert the layer containing the pads (changing polarity) False
bridge_layer <class 'str'> Uses the given string to use in the DC structure label bridge

rai_compos_pub DC_chip

DC chip structure used to probe the resistance of a 'narrow' line with relatively small length on top of a slab of non-conductive material." Allows for an inverted "pads" layer by changing the 'inverse_pads' variable.

Option Type Description Default
inverse_pads <class 'bool'> States whether to invert the layer containing the pads (changing polarity) False
bridge_layer <class 'str'> Uses the given string to use in the DC structure label bridge
bridge_length <class 'float'> length of the freestanding bridge line 8
bridge_width <class 'float'> width of the bridge line 0.1
total_width <class 'float'> total width of one side of the DC structure 400
step_length <class 'float'> the length of the steps connecting the pads with the central bridge 8.5
step_width <class 'float'> the width of the steps connecting the pads with the central bridge 1
slab <class 'bool'> states whether to generate a slab underneath the bridge of an intermediate layer True
slab_length <class 'float'> states the length of the slab 20
slab_width <class 'float'> states the width of the slab 13
margin <class 'float'> states how far the steps are positioned w.r.t. each other. A larger margin is a larger spacing 0.75

rai_compos_pub DC_chip_monolayer_bridge

DC chip structure used to probe the resistance of a 'narrow' line with relatively small length. Allows for an inverted "pads" layer by changing the 'inverse_pads' variable.

Option Type Description Default
inverse_pads <class 'bool'> States whether to invert the layer containing the pads (changing polarity) False
bridge_layer <class 'str'> Uses the given string to use in the DC structure label bridge
bridge_length <class 'float'> length of the freestanding bridge line 8
bridge_width <class 'float'> width of the bridge line 0.1
total_width <class 'float'> total width of one side of the DC structure 400
step_length <class 'float'> the length of the steps connecting the pads with the central bridge 8.5
step_width <class 'float'> the width of the steps connecting the pads with the central bridge 1
margin <class 'float'> states how far the steps are positioned w.r.t. each other. A larger margin is a larger spacing 0.75

rai_compos_pub Bond_pad

Standard bondpad object, used as a point to wire bond a chip to the chip holder. Customizable dimensions of the bondpad. Allows for a bonding material layer on top of the bondpad. Can be used for both CPW ("trench" mode) and microstrip bondpad

Option Type Description Default
slope_length <class 'float'> length of the slope from the pad to the smallest width / to the connecting line 50
line_width <class 'float'> the width of the connecting line 2
pad_trench_width <class 'float'> the width of the trench surrounding the pad 20
line_trench_width <class 'float'> the width of the trench near the smalles point 1
pad_size <class 'float'> the size of the pad 40
mode <class 'str'> specifies CPW ('trench') or microstrip mode trench

rai_compos_pub Wafer_flat_aligner

Alignment tool, used for aligning a mask with the flat of a wafer

Option Type Description Default
flat_length <class 'float'> total lenght of the wafer flat alligner 1500
number_of_knots <class 'int'> number of knots (wide rectangular linepiece) along the aligner 4

rai_compos_pub Wafer_ruler_aligner

Alignment tool, used for aligning a mask with the contour of a wafer using a ruler-shaped object

Option Type Description Default
knot_spacing <class 'float'> Spacing between the hearts of each knot (line widening) 50
back_length <class 'float'> Total length of the base of the ruler 350
back_height <class 'float'> Width of the base of the ruler 30
.
.
.
.
.