Default layer configuration file for KQCircuits.

Defines default values related to layers and faces.

Layers have a name, ID and data type. For example "annotations": (220, 0) The data type indicates which chip they belong to with 0 being reserved for layer that do not belong to a face or a chip. The IDs run from 0-127 for the bottom of the chips and 128-255 for the top.

KQCircuit layers are grouped by faces and functionality. The face-numbering system works as follows. Each face-id consists of a number, the letter “b” or “t”, and another number, for example “2b1”. In a multi-chip stack, we can have more than one chip, bonded on top of each other, and the first number denotes which of these chips it refers to. The letter “b” or “t” means that the layer is located at either the “bottom” or “top” of that chip (in the final place after full manufacturing process). The last number is an additional index that can be used if necessary, in case multiple deposition layers and etching processes are needed.

The simulation layers are assigned with data type 0, because they are auxiliary layers that are created for simulation purposes. The simulation layer IDs are between 1000-1099. The other auxiliary layers containing annotations, refpoints and text fields are between 220-229.

In Klayout GUI these layers are organised in view groups according to faces. Simulation and text layer views are hidden by default. See https://www.klayout.de/doc-qt5/manual/layer_source.html

default_layers is a flat dictionary mapping layer names to corresponding pya.LayerInfo objects. While default_faces is a dictionary mapping ‘1t1’, ‘2b1’, ‘2t1’ etc. to an other dictionary, a subset of default_layers in the given face. With a minor twist: in these “face-dictionaries” the keys do not start with the face id, for example “1t1_base_metal_gap” becomes “base_metal_gap”.

Layer names should not start with -, this is reserved for marking exported layers to be inverted in mask_export_layers.