pdaValue

Define some (typed) value, default unit is dimensionless, none, and value is the expression in the content. The difference with attributes is that they are more like annotation; basically key/value string to add more information in a software specified way.

Structure

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


<pdaValue  allowedValues="..."  type="..."  unit="..."  pdaValueDouble:doc="..."  pdaValueDouble:max="..."  pdaValueDouble:min="..."  pdaValueDouble:tex="..." ... > ... </pdaValue>

XSD

The schema file can be downloaded or viewed at xPDK_Base.

Details

Type pdaValueDouble

Define some (double) value, unit is micron for position and degrees for angles. The expression is in the content.

Type pdaExpression

Define an expression.

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.

allowedValues

Type pdaStringList documentation: Define a list of (space seperated) strings inside a single text (attribute or element).

type

Type pdaValueType documentation: Different supported types for values; the format for the expression is an extension to what the 'simple code' can do, but runs partly in xPDK:expr spt.
Allowed types:

unit

Type pdaUnit documentation: Define an unit.

The use of units is strongly recommended to ensure that values are consistent between provider and user of data. The XSD schema allows a series of "basic units" with a * and / them. A basic unit uses the standard prefixes qryzafpnumckMGTPEZYRQ followed by its type and an optional ^. So a unit can be something like 1/cm*3kV/m^3/degree*dB
A few additional names are added. You can use them with the common prefixes.

doc

Type pdaDocumentation documentation: Document anything relevant for the topic you want to define.

This field allows some (short, few lines) documentation to be written. It can be a long string, but the idea is not to replace a design manual.
This fields is like tex which allows documentation in LaTex format; doc is restricted to plain text.

max

Optional maximum value which can be used for design rule checking or user interface aspects. Type pdaExpression documentation: Define an expression.

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.

min

Optional minimum value which can be used for design rule checking or user interface aspects. Type pdaExpression documentation: Define an expression.

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.

tex

Type pdaTexDocumentation documentation: