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.
- color is a RGB value
- visibility is a boolean - visible or not
- line style
- fill style
Basic definition
<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>NOFILL</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: