Defines the xPDK Netlist.

This type defines the hierarchy of typical designs by defining a series of flat netlists that can reference each other by name.


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.

netlist_version="..." ... > ...
  <author> ... </author>    optional
  <changelog> ... </changelog>   list
  <doc> ... </doc>    optional
  <filedate> ... </filedate>    optional
  <globals> ... </globals>    optional
  <license> ... </license>    optional
  <netlist> ... </netlist>   list
  <software> ... </software>   list
  <tex> ... </tex>    optional
  <version> ... </version>    optional


The schema file can be downloaded or viewed at xPDK_Netlist.



Author of file.


Keep track of changes at the main level of the netlist; this is typically the addition or removal of netlist entries. 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.


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.


Date on which file was generated.
Format is of the form: 2020-03-27 13:22:05", assuming GMT (UTC+0) time zone.


Global values can be used in all netlists.
Typical values are operating conditions (like temperature) and technology settings that impact all netlists. A technology setting is for example a layer thickness that can be changed by the user - it will be the same for all BBs on the chip. Type pdaGlobals documentation: This field provides for optional global parameters and attributes. Inside the globals you can define global variables with an expression, type and unit.


License info for netlist contents (set by author). Type pdaLicense documentation: Define license information.

State the basic conditions of using the file and typically refer to legal documents.
License information should be compact enough to be clear as reference. The reference is expected to be to signed documents like Non Disclose Agreements (NDA) or service contracts and so on.


List of netlists.

First entry is “main netlist”, the rest are user-defined CBB sub-netlists which may referenced by the main netlist Type pdaNetlist documentation: Define a flat netlist.

The flat netlist is a series of BBs or other netlist instances. Each of these can have its parameter values changed but it is not required to set all of them.
These instances are connected via the bb_connect's or to the external ports of the netlist via the extport.


Netlist version, current value: 2.0. Type pdaVersion documentation: Version information.

The version can be defined as: A major number change indicates something big changed, while the minor is for more incremental changes. The patch indicates normally small data updates like new measurements.


Software application and version that generated netlist file e.g. "PICWave 5.8.2". Type pdaSoftware documentation: Define the versions to use with this design kit.

The main idea is that the foundry identifies the 'agreed upon' or 'qualified with' status and that during export and/or pdk load we (can) check this.


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.


Version of the PDAFlow netlist file format Type pdaVersion documentation: