pdaGdsCell

Structure

This element does not have elements. The attributes are shown below, in a sorted per type fashion.


<gdscell  align="..."  cellname="..."  flatten="..."  maskfile="..."  portref="..."  pdaPointXY:a="..."  pdaPointXY:x="..."  pdaPointXY:y="..." ... > ... </gdscell>

XSD

The schema file can be downloaded or viewed at xPDK_Base.

Details

Type pdaPointXY

align

Type pdaShapeAlign documentation: portref. Using "bic" is good for input ports on symetric devices. Using "boc" is good for the outputs.
For DC/RF pads the "bcc" is a likely candidate.

Allowing shapes to relate to ports saves a lot of equations being re-used and thus makes the file more readable. An example is the polar bend, where the end point is [R*cos(a),R*sin(a)] so if you need to define a small rectangle on the "inside" of the bend, you need lots of equations.
The alignment values are shown below and refer to a rectangle that will fit just around the shape you work on; so for a circle the bil will not be on the bic location but at [-R,R] compared to the center of such a circle.
--------------------
|bil     bcl    bol|
|                  |
|bic     bcc    boc|
|                  |
|bir     bcr    bor|
--------------------
    

cellname

flatten

copy of the data but you can flatten or expand the cell into polygons when you set flatten=true.

maskfile

and the cells in them are globally unique also. Otherwise the export is not garanteed to be consistent over software (some software does cell renaming, some not).
A good location for the GDS files is a PDK subdirectory gdscell/... which is copied into the build directories / design kit by the build automation.
Note: GDS itself allows the same cell name in a single file, but this is not supported by all software.

portref

Type pdaPortReference documentation:

a

Type pdaExpression documentation:
Expression need to be commonly evaluated by many software, so having a restricted set of math / types and so on is key. In PDAFlow lib2/expr there is a yacc/lex parser available with some unit support as well as double / complex expressions. An alternative is tinyexpr, but this is more restrictive, so may be very unhandy for things like waveguide model expressions.

x

Type pdaExpression documentation:
Expression need to be commonly evaluated by many software, so having a restricted set of math / types and so on is key. In PDAFlow lib2/expr there is a yacc/lex parser available with some unit support as well as double / complex expressions. An alternative is tinyexpr, but this is more restrictive, so may be very unhandy for things like waveguide model expressions.

y

Type pdaExpression documentation: