pdaGDSlayer

etc. In addition to the basic layer info, there is typical design rule definitions (min/max width, space etc) and derived layers (grow, size, not, xor, ...).
For creating design kits the user interface aspects are mostly optional so you you should think about suitable defaults for colors, visibility and display styles in case the preferred values are not set by the foundry. In such cases you can probably edit the respective file(s) and extend the design kit with those values in alignment with the foundry. This will enrich the design kit while making it more likely to display consistently in different software.

Basic definition

full file

<layer name="layer1">
   <gds_number>1</gds_number>
   <gds_datatype>0</gds_datatype>
   <grid>0.001</grid>
   <purpose>Waveguide layer</purpose>
   <color R="10" G="20" B="30"/>
   <visible>true</visible>
   <fillstyle>open</fillstyle>
   <linestyle>fill</linestyle>
   <extend>
    <!-- Show extension -->
    <myprop>1</myprop>
   </extend>
</layer>

Structure

The attributes and elements are shown below, in a sorted per type fashion.
In case a list is printed after an element, it indicates that you can have many, otherwise it should be a single element. With a optional it tells the element is not required.

<layer  name="..." ... > ...
  <gds_datatype> ... </gds_datatype>
  <gds_number> ... </gds_number>
  <grid> ... </grid>    optional
</layer>

XSD

The schema file can be downloaded or viewed at xPDK_Base.

Details

gds_datatype

specify the gds details. The combination should be unique per technology file.
The gds_datatype is often zero in foundries for actual data, while annotations have a non-zero number, but this is not a requirement.

Datatype is default 0, the official GDS reference states numbers to 64. A lot of software supports 256, but this is often extended to 65536, which is what xPDK supports.

Note: as some software is more GDS compliant then others, you risk data loss if you use values above 256. Therefore you need to know what the acceptance limit is of the software in the broker / foundry / mask supplier chain. Type pdaGDSinteger documentation:

gds_number

specify the gds details. The combination should be unique per technology file.

The official GDS reference states numbers to 64. A lot of software supports 256, but this is often extended to 65536, which is what xPDK supports.

Note: as some software is more GDS compliant then others, you risk data loss if you use values above 256. Therefore you need to know what the acceptance limit is of the software in the broker / foundry / mask supplier chain. Type pdaGDSinteger documentation:

grid

layer in nm. A typical value is 1.0.
This grid value is used for defining how ports should be treated; not per-se the data (polygons) in this layer; you can use the layerSnap for that.

name

"identifier".
Type pdaIdentifier documentation: