Elements and Layers

Elements are the building blocks of a layout. By structuring elements in more complex groups, you can gradually build more advanced blocks.

In IPKISS we make a distinction between the following types of elements.

  • Shape Elements used to define a geometric element on a certain Layer.
  • Text Elements used to place some text on your design on a certain Layer.
  • Reference Elements for referring to another PCell’s layout view.

These elements can be grouped in an i3.ElementList.

Shape Elements

Shape Elements are basically elements that take a shape and a layer. Hence they provide a way to place geometrical objects (shapes) on your layout. IPKISS contains a range of different types of shape elements, but these can all be reduced to 2 distinct types:

Boundary Layout element consisting of a closed Shape drawn on a given Layer.
Path Layout element consisting of a closed or open Shape drawn on a given Layer with a given line width

All shape elements are derived from one of those two types. Below you can find a list of all those derived elements:

Derived from Boundary

Circle Returns a Boundary Element with a circle shape.
Cross Returns a Boundary Element with a cross shape.
Ellipse Returns a Boundary Element with an elliptical shape.
Hexagon Returns a Boundary Element with a hexagon shape.
ParabolicWedge Returns a Boundary Element with a parabilically tapered wedge shape.
RadialWedge Returns a Boundary Element with a linear wedge (tapered) shape emanating from a center point.
Rectangle Returns a Boundary Element with an rectangular shape.
RegularPolygon Returns a Boundary Element with a regular polygon shape.
RoundedRectangle Returns a Boundary Element with an rectangular shape with rounded corners.
Wedge Returns a Boundary Element with a linear wedge (tapered) shape.
RingSegment Returns a Boundary Element with a ring segment shape.

Derived from Path

CirclePath Returns a Path Element along a closed circle.
CrossPath Returns a Path forming the outline of a cross
EllipsePath Returns a Path Element along a closed elliptical path.
HexagonPath Returns a Path Element along a closed regular hexagon shape.
RadialLine Returns a Path Element along a straight line emanating from a center point.
RectanglePath Returns a Path Element along a a closed rectangular shape.
RegularPolygonPath Returns a Path Element along a closed regular polygon shape.
RelativeBendPath Returns a Path Element along a a circular bend calculated relatively from a starting point.
RoundedRectanglePath Returns a Path Element along a closed rounded rectangular shape.

Reference Elements

Reference elements (also called instances) are used to place a reference to a layout view of another PCell in the layout instead of the element itself. Doing this allows re-use of repeating layout information, by defining the unit cell in a separate container (PCell) and referring to it from other PCells. In this way, a layout is hierarchically structured. Reference elements can apply transformations on the referred layout, without changing the original layout itself. You could for example place a ringresonator on your layout and place another translated copy next to it.

The most frequently used reference element is i3.SRef, in case you need to place several copies of your element you can leverage i3.ARef.

IPKISS also offers a range of more specialized references. Below you can find a complete list, but we want to remark that those are rarely needed.

SRef Single reference of a LayoutView
ARef Array reference: places the referenced layout view in a regular 2D array.
ARefX A 1D array of references along the X-axis (prior to transformation)
ARefY A 1D array of references along the Y-axis (prior to transformation)