xPDK_Header

Header with some typical information for most xPDK files.

Most is optional and extension capability is the idea.

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_Header  
pdk_name="..." ... > ...
  <doc> ... </doc>    optional
  <globals> ... </globals>    optional
  <license> ... </license>    optional
  <mpw_run> ... </mpw_run>   list
  <provider> ... </provider>    optional
  <software> ... </software>   list
  <tex> ... </tex>    optional
  <version> ... </version>    optional
</xPDK_Header>

XSD

The schema file can be downloaded or viewed at xPDK_Base.

Details

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.

globals

Use of globals allows the definition of a list of variables that can be used throughout the file in expressions. Using globals is handy for things that are repeatedly used, so instead of copy/paste long expressions, you can just use the global variables.

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

Define the license condition for this file. 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.

mpw_run

Define a list of tape-outs for which a design kit or other data file can be applied. Type pdaMPWrun documentation: Multi-Project Wafer (MPW) run that will support the given PDK library.

pdk_name

Library / process name; a foundry can supply many PDKs under the same provider name.

The pdk_name at the start (just below the xsi:noNamespaceSchemaLocation defines the design kit name and is intended as a relatively short name. It should be unique enough to avoid confusion by designers. Type pdaPDKname documentation: Defines a valid name for a PDK - this is slightly more general then the pdaIdentifier.
In text this is a letter or number, followed by letters, numbers, underscore or dot or dash or dollar. The check is regular expression: [A-Za-z0-9]([A-Za-z0-9_\.\#$])*

provider

Define the provider of this document.
Type pdaProvider documentation: This field can be used for a full name of the design kit provider, so a full company or institute name for example, instead of the smaller pdk_name.

software

Define the list of supported software for this file. 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.

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.

version

Define the version of the design kit / data.
Using version numbers helps to keep track of which files to use. Type pdaVersion documentation: