pdaModel

Define a circuit model for a BB. The basic idea is to check the ports and parameters against the definition and thus have this meta data either in the file or included.

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.

<pdaModel  
bbref="..."  level="..."  modeltype="..."  name="..."  version="..." ... > ...
  <analytic> ... </analytic>   list
  <changelog> ... </changelog>   list
  <doc> ... </doc>   list
  <locals> ... </locals>   list
  <portmode> ... </portmode>   list
  <properties> ... </properties>   list
  <rawdata> ... </rawdata>   list
  <table> ... </table>   list
  <tex> ... </tex>   list
  <transfer_map> ... </transfer_map>   list
</pdaModel>

XSD

The schema file can be downloaded or viewed at xPDK_Simulation.

Details

analytic

Define the smatrix in named properties; this mapping is useful as often the smatrix is sparse and has coefficients that are the same. Type pdaSmatrixAnalytical documentation: Define analytical model instead of a table.

bbref

Type pdaIdentifier documentation: Defines a valid name for an identifier.

Identifiers are used in the Python library for the getName() and setName() function and can thus be used to identify the different elements in lists.
In text the specification is a letter, followed by letters, numbers, underscore or dot. The XSD schema validation is a regular expression: [A-Za-z]([A-Za-z0-9_])*

changelog

Type xPDK_ChangeLog documentation: Trace changes to the data.
This is time-stamped change list, which can be empty. Software or design kit providers are not required to fill this data when changes are made, but it can help users to see what changed over time.

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.

extend

Type AllowExtend documentation: This section allows to add your own field or attributes.

Allows to extend with any (complex) data for enriching a design kit. The sub-data of an extend will normally be vendor or provider specific, but may span multiple software vendors or suppliers.

Provider extensions can be references to (or embedded) reporting scripts or their versions; source database references and so on. Such data is helpful in cross-referencing production issues or differences between export snapshots. Embedding such data in the XML rather then side-files enhances tracebility and reduces errors.

Using this section is not considered part of the xPDK format therefore, but as long as the files validate with the Stichting PDAFlow Foundation schema's, it is not considered a (not allowed) Derivative version.
For conventions, please check also Extensions.
See also xPDK License.

level

Define the model complexity with "0" being a very simple model and "10" being the most complex / complete.
more detailed model info Type pdaModelLevel documentation: The model level is an integer between 0 (simple model) and 10 (most complex model).

locals

Define optional local coefficients (with standard deviation) to be used in the property list. These values are normally measured or simulated and then fitted into the model equations. Type pdaNamedNormalDistributionLocalArray documentation: Define a series of values and attributes.

modeltype

Given the BB's BBtype the model list file has a series of optional models to choose from. The modelname should refer to those. Type pdaIdentifier documentation: Defines a valid name for an identifier.

Identifiers are used in the Python library for the getName() and setName() function and can thus be used to identify the different elements in lists.
In text the specification is a letter, followed by letters, numbers, underscore or dot. The XSD schema validation is a regular expression: [A-Za-z]([A-Za-z0-9_])*

name

Type pdaIdentifier documentation: Defines a valid name for an identifier.

Identifiers are used in the Python library for the getName() and setName() function and can thus be used to identify the different elements in lists.
In text the specification is a letter, followed by letters, numbers, underscore or dot. The XSD schema validation is a regular expression: [A-Za-z]([A-Za-z0-9_])*

portmode

Define port types, they are Type pdaPortMode documentation: Define a list of port/mode combinations.

properties

Define the named properties that are used in the Smatrix references Type pdaProperties documentation: Define a series of values and attributes.

rawdata

Optional reference to raw data to which CML was fitted.

table

Define the smatrix in named properties; this mapping is useful as often the smatrix is sparse and has coefficients that are the same. Type pdaSmatrixTable documentation: This defines an s-matrix table.

tex

Type pdaTexDocumentation documentation: As doc, but tex can be a long text in LaTex format to document the layer in more detail if needed.

You can document anything relevant for the topic you want to define.

Multiple paragraphs is fine. Format is Latex, so more complex content is possible.

transfer_map

Define the smatrix in named properties; this mapping is useful as often the smatrix is sparse and has coefficients that are the same. Type pdaTransferMap documentation: Define the mapping of port/mode combinations to the compact model data.
Use reciprocal="true" to specify that the matrix is diagonal symmetric - which is typical as for light the route from "a" to "b" normally behaves the same as from "b" to "a".

version

Type pdaVersion documentation: