class ipkiss3.all.ProcessPurposeLayer

Combination of a ProcessLayer and a PatternPurpose, defining together a unique i3.Layer.

Used instead of i3.Layer when a 2D (layer, purpose) space is needed to fully describe layout drawings.

purpose: PatternPurpose, required

PatternPurpose associated with this process/purpose combination

process: ProcessLayer, required

ProcessLayer associated with this process/purpose combination

name: str and String that contains only ISO/IEC 8859-1 (extended ASCII py3) or pure ASCII (py2) characters, required
number: int, required
display_style: DisplayStyle, optional


Layout primitives such as Rectangle, Circle, Boundary, Path have a layer associated with them. By using (layer, purpose) pairs, it is easier to discriminate between actual mask drawings and other data which is used for design automation, verification or designer documentation.

The technology settings contain mappings between PPLayer objects and file format or database specific primitives. For instance, when exporting to a GDSII file, the technology determines how PPLayer objects are mapped to GDSII layer numbers and datatype numbers.

ProcessPurposeLayer and PPLayer are synonyms. Use i3.PPLayer.


>>> import ipkiss3.all as i3
>>> wg = i3.ProcessLayer(name="waveguide", extension="WG")
>>> nofill= i3.PatternPurpose(name="no dummy filling", extension="NOFILL", name="NOFILL")
>>> wg_nofill = i3.PPLayer(process=wg, purpose=nofill)
>>> print(wg_nofill)