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:
Layout element consisting of a closed Shape drawn on a given Layer. |
|
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
Returns a Boundary Element with a circle shape. |
|
Returns a Boundary Element with a cross shape. |
|
Returns a Boundary Element with an elliptical shape. |
|
Returns a Boundary Element with a hexagon shape. |
|
Returns a Boundary Element with a parabilically tapered wedge shape. |
|
Returns a Boundary Element with a linear wedge (tapered) shape emanating from a center point. |
|
Returns a Boundary Element with an rectangular shape. |
|
Returns a Boundary Element with a regular polygon shape. |
|
Returns a Boundary Element with a ring segment shape. |
|
Returns a Boundary Element with an rectangular shape with rounded corners. |
|
Bend with relative turning angle instead of absolute end angle |
|
Returns a Boundary Element with a linear wedge (tapered) shape. |
Derived from Path
Returns a Path Element along a circular arc. |
|
Returns a Path Element along a circuler bend. |
|
Returns a Path Element along a closed circle. |
|
Returns a Path forming the outline of a cross |
|
Returns a Path Element along a closed elliptical path. |
|
Returns a Path Element along an elliptical arc. |
|
Returns a Path Element along a straight line. |
|
Returns a Path Element along a closed regular hexagon shape. |
|
Returns a Path Element along a straight line emanating from a center point. |
|
Returns a Path Element along a a closed rectangular shape. |
|
Returns a Path Element along a closed regular polygon shape. |
|
Returns a Path Element along a a circular bend calculated relatively from a starting point. |
|
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.
Single reference of a LayoutView |
|
Array reference: places the referenced layout view in a regular 2D array. |
|
Multi-reference. |
|
A 1D array of references along the X-axis (prior to transformation) |
|
A 1D array of references along the Y-axis (prior to transformation) |
|
Group of Layout Elements. |
|
An array reference that automatically breaks down the array into individual single references (SREF) |
|
An array reference that automatically breaks down the array into individual single references (SREF) if the transformation is not along Manhattan directions. |
|
An array reference that automatically breaks down the array into a hierarchical set of single references. |