xPDK GDS Layer - multi layer operations
Multi-layer derived
Derived layer operations are common in chip design to simplify work for designers and make their work more efficient and less error-prone. This holds for both single-layer and multi-layer operations.The implementations of these operations vary strongly per software so efficiency (cpu, runtime, memory) will be different per software. In general a tool-specific set of operations can be much (> 10x) faster then a generic / converted deck and (optimal) runtime may easily be hours of wallclock-time, see also DRC.
Multi-layer derived layers look like the single-layer operations, they mainly differ in the amount of layers that are used.
For the input of the operations there are two flavors - the named layers A, B and sometimes C. And the layer list via a list of
layer fields. The first option is used if order of layers is
relevant, for example in a layerAnotB. Changing the A & B layers will lead to very different results.The layer-list is suitable in case many layers can be used and ordering is not important. This option like in
layerIsCoveredBy do use a list of layers like in the Cover and In fields, which combine like an “or”.The output of the operation is (for derived layers) stored in the Tgt layer, which can be a gds layer or an applayer.
Derived layers (single & multiple) are often needed to be able do define DRC rules more precisely as they tend to have clauses like “if this & that, then the rule is so&so”. This this&that and so&so are both often derived layers.