pdaGdsCell
Structure
This element does not have elements. The attributes are shown below, in a sorted per type fashion.<pdaGdsCell align="..." cellname="..." flatten="..." maskfile="..." portref="..." pdaPointXY:a="..." pdaPointXY:x="..." pdaPointXY:y="..." ... > ... </pdaGdsCell>
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.