# RF pads¶

SiFab contains one component to build RF pads for high-frequency RF probes.

## ProbePad¶

This component allows to generate RF pads with a parametric number of pads. These pads are characterised by a broad section and a narrow section. Their properties are illustrated in the following picture.

Different types of pads can be instantiated easily by adapting the number of layout properties provided, as shown in the examples below.

from si_fab import all as pdk
import numpy as np

# GS
rf = pdk.ProbePad(name="GS",
broad_widths=[100]*2,
broad_centers=[(0, y) for y in np.array([-0.5, 0.5])*150],
broad_lengths=[200]*2,
narrow_widths=[2]*2,
narrow_centers=[(300, y) for y in np.array([-0.5, 0.5])*5],
narrow_lengths=[5]*2,
port_names=["G", "S"])
rf.Layout().visualize(annotate=True)

# GSG
rf = pdk.ProbePad(name="GSG",
broad_widths=[100]*3,
broad_centers=[(0, y) for y in np.array([-1, 0, 1])*150],
broad_lengths=[200]*3,
narrow_widths=[2]*3,
narrow_centers=[(300, y) for y in np.array([-1, 0, 1])*5],
narrow_lengths=[5]*3,
port_names=["G1", "S", "G2"])
rf.Layout().visualize(annotate=True)

# GSGSG
rf = pdk.ProbePad(name="GSGSG",
broad_widths=[100]*5,
broad_centers=[(0, y) for y in np.array([-2, -1, 0, 1, 2])*150],
broad_lengths=[200]*5,
narrow_widths=[3, 1, 3, 1, 3],
narrow_centers=[(300, y) for y in np.array([-2, -1, 0, 1, 2])*5],
narrow_lengths=[20]*5,
port_names=["G1", "SL", "G2", "SR", "G3"])
rf.Layout().visualize(annotate=True)