Via
A via is an electrical connection between two different metal layers. SiFab contains two types of metal vias:
VIA_M1_M2
It connects M1 and M2.
Reference
Click on the name of the component below to see the complete PCell reference.
Square via from metal layer M1 to metal layer M2. |
Example
from si_fab import all as pdk
# VIA
cell = pdk.VIA_M1_M2()
cell.Layout().visualize(annotate=True)
Contact
It connects M1 with the doped Si regions.
Reference
Click on the name of the component below to see the complete PCell reference.
Octagonal contact hole to connect metal layer M1 with the (doped) silicon. |
Example
from si_fab import all as pdk
from ipkiss3 import all as i3
# Contact Hole
hole = pdk.Contact()
hole_lv = hole.Layout()
hole_lv.visualize(annotate=True)
class ContactHoleWithP(i3.PCell):
class Layout(i3.LayoutView):
def _generate_instances(self, insts):
insts += i3.SRef(reference=hole)
return insts
def _generate_elements(self, elems):
elems += i3.Rectangle(box_size=(2, 2), layer=i3.TECH.PPLAYER.PPLUS)
return elems
hole_with_p_lv = ContactHoleWithP().Layout()
hole_with_p_lv.visualize_2d()
xs = hole_with_p_lv.cross_section(cross_section_path=i3.Shape([(0.0, -2.0), (0.0, 2.0)]))
xs.visualize()