xPDK_Netlist
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.
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.
<xPDK_Netlist netlist_version="..." ... > ...
<MRL> ... </MRL> optional
<TRL> ... </TRL> optional
<attribute> ... </attribute> list
<author> ... </author> optional
<changelog> ... </changelog> list
<doc> ... </doc> list
<filedate> ... </filedate> optional
<global> ... </global> list
<groupRef> ... </groupRef> list
<license> ... </license> optional
<netlist> ... </netlist> list
<software> ... </software> optional
<tex> ... </tex> list
<ticket> ... </ticket> list
<version> ... </version> optional
</xPDK_Netlist>
XSD The schema file can be downloaded or viewed at xPDK_Netlist.
Details
MRL
Type pdaMRL documentation: Manufacturing Readiness Level (MRL) as defined by the EU.TRL
Type pdaTRL documentation: Technology Readiness Level (TRL) as defined by the EU.attribute
Type pdaAttributeType documentation: and views with information that is likely to be software specific. So it is more a 'flag' then a value. The value is just a string and not something with an expression in it.author
Author of file.changelog
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: 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: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: 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.
filedate
Date on which file was generated.Format is of the form: 2020-03-27 13:22:05", assuming GMT (UTC+0) time zone.
global
Type pdaNamedValue documentation:groupRef
Type pdaIdentifier documentation:Identifiers are used in the Python library for the
getName()
and
setName()
function and can thus be used to identify the different elements in list
s.In text the specification is a letter, followed by letters, numbers, underscore. The XSD schema validation is a regular expression: [A-Za-z]([A-Za-z0-9_])*
license
License info for netlist contents (set by author). Type pdaLicense documentation: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.
netlist
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
Netlist version, current value: 2.0. Type pdaVersion documentation:The version can be defined as:
- major.minor
this is the short-hand version number. This can be aYYYY.MM
(year.month) value also. - major.minor.patch
adds the patch to indicate small changes. This can be aYYYY.MM.DD
(year.month.day) value also. - major.minor.patch.iteration
where the iteration is often relating to a (software) implementation and thus less typical in PDK or BB versions.
It can be useful in the compact model files to indicate that the same measurements or simulations have received a new model instance.
software
Software application and version that generated netlist file e.g. "PICWave 5.8.2". Type pdaSoftware documentation: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.
tex
Type pdaTexDocumentation documentation: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.