1. Schema#
1.1. Keywords#
- default#
Reserved SiliconCompiler schema key that can be replaced by any legal string.
1.2. Parameter Fields#
- copy#
Whether to copy files into build directory, applies to files only
- enum#
List of strings containing the set of legal values for this parameter.
- example#
List of two strings, the first string containing an example for specifying the parameter using a command line switch, and a second string for setting the value using the core Python API. The examples can be pruned/filtered before the schema is dumped into a JSON file.
- hashalgo#
Hashing algorithm used to calculate filehash value.
- help#
Complete parameter help doc string. The help string serves as ground truth for describing the parameter functionality and should be used for long help descriptions in command line interface programs and for automated schema document generation. The long help can be pruned/filtered before the schema is dumped into a JSON file.
- lock#
Boolean value dictating whether the parameter can be modified by the set/get/add core API methods. A value of True specifiers that the parameter is locked and cannot be modified. Attempts to write to to a locked parameter shall result in an exception/error that blocks compilation progress.
- node#
Dictionary containing fields whose values may vary on a per-step/index basis. Sub-fields are described in Per-node Parameter Fields
- notes#
User entered ‘notes’/’disclaimers’ about value being set.
- pernode#
Enables/disables setting of value on a per node basis. Allowed values are ‘never’, ‘option’, or ‘required’.
- require#
String that specifies scenarios, conditions, and modes for which the parameter must return a non-empty value. Valid requirement keywords include ‘all’ and ‘fpga’/’asic’. The ‘all’ keyword specifies that the parameter must always have a non-empty value before running a flow. The ‘fpga’/’asic’ keyword specifies that that the parameter must have a non-empty value when the respective mode is being executed. All Boolean values have a valid True/False default value and a requirement of ‘all’. The vast majority of schema parameters have requirements of None and empty values which can be overridden by the user based on need.
- scope#
Scope of parameter in schema
- switch#
String that specifies the equivalent switch to use in command line interfaces. The switch string must start with a ‘-’ and cannot contain spaces.
- shorthelp#
Short help string to be used in cases where brevity matters. Use cases include JSON dictionary dumps and command line interface help functions.
- type#
The parameter type. Supported types include Python compatible types (‘int’, ‘float’, ‘str’, ‘enum’, and ‘bool’) and two custom file types (‘file’ and ‘dir’). The ‘file’ and ‘dir’ type specify that the parameter is a ‘regular’ file or directory as described by Posix. All types can be specified as a Python compatible list type by enclosing the type value in brackets. (ie. [str] specifies that the parameter is a list of strings). Types can also be specified as tuples, using the Python-like parentheses syntax (eg. [(float,float)] specifies a list of 2-float tuples). Input arguments and return values of the set/get/add core methods are encoded as native Python types. When exporting the manifest to JSON, values are converted to the equivalent JSON type. Most types have a straightforward mapping, but note that values of “None” get mapped to “null”, and both tuples and lists get mapped to arrays. Tuple-type parameters have their values normalized back into tuple form when a JSON manifest is read in.
- unit#
Implied unit for parameter value.
1.3. Per-node Parameter Fields#
The following fields are specified inside the node
dictionary on a per-step/index basis. Default values for each field are stored under the special keys "default", "default"
, and global values are specified under the special keys "global", "global"
.
File author. The author string records the person/entity that authored/created each item in the list of files within ‘value’ parameter field. The ‘author’ field can be used to validate the provenance of the data used for compilation.
- date#
String containing the data stamp of each item in the list of files within ‘value’ parameter field. The ‘date’ field can be used to validate the provenance of the data used for compilation.
- filehash#
Calculated file hash value for each file in the ‘value’ field of the parameter.
- signature#
String recording a unique machine calculated string for each item in the list of files within ‘value’ parameter field. The ‘signature’ field can be used to validate the provenance of the data used for compilation.
- value#
Parameter value
1.4. Parameters#
1.4.1. arg#
1.4.1.1. index#
Description |
ARG: Index argument |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Dynamic parameter passed in by the SC runtime as an argument to a runtime task. The parameter enables configuration code (usually TCL) to use control flow that depend on the current ‘index’. The parameter is used the run() function and is not intended for external use.
1.4.1.2. step#
Description |
ARG: Step argument |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Dynamic parameter passed in by the SC runtime as an argument to a runtime task. The parameter enables configuration code (usually TCL) to use control flow that depend on the current ‘step’. The parameter is used the run() function and is not intended for external use.
1.4.2. asic#
1.4.2.1. cells#
1.4.2.1.1. antenna#
Description |
ASIC: antenna cell list |
Type |
[str] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of cells grouped by a property that can be accessed directly by the designer and tools. The example below shows how all cells containing the string ‘eco’ could be marked as dont use for the tool.
1.4.2.1.2. clkbuf#
Description |
ASIC: clkbuf cell list |
Type |
[str] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of cells grouped by a property that can be accessed directly by the designer and tools. The example below shows how all cells containing the string ‘eco’ could be marked as dont use for the tool.
1.4.2.1.3. clkdelay#
Description |
ASIC: clkdelay cell list |
Type |
[str] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of cells grouped by a property that can be accessed directly by the designer and tools. The example below shows how all cells containing the string ‘eco’ could be marked as dont use for the tool.
1.4.2.1.4. clkgate#
Description |
ASIC: clkgate cell list |
Type |
[str] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of cells grouped by a property that can be accessed directly by the designer and tools. The example below shows how all cells containing the string ‘eco’ could be marked as dont use for the tool.
1.4.2.1.5. clkicg#
Description |
ASIC: clkicg cell list |
Type |
[str] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of cells grouped by a property that can be accessed directly by the designer and tools. The example below shows how all cells containing the string ‘eco’ could be marked as dont use for the tool.
1.4.2.1.6. clkinv#
Description |
ASIC: clkinv cell list |
Type |
[str] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of cells grouped by a property that can be accessed directly by the designer and tools. The example below shows how all cells containing the string ‘eco’ could be marked as dont use for the tool.
1.4.2.1.7. clklogic#
Description |
ASIC: clklogic cell list |
Type |
[str] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of cells grouped by a property that can be accessed directly by the designer and tools. The example below shows how all cells containing the string ‘eco’ could be marked as dont use for the tool.
1.4.2.1.8. decap#
Description |
ASIC: decap cell list |
Type |
[str] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of cells grouped by a property that can be accessed directly by the designer and tools. The example below shows how all cells containing the string ‘eco’ could be marked as dont use for the tool.
1.4.2.1.9. delay#
Description |
ASIC: delay cell list |
Type |
[str] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of cells grouped by a property that can be accessed directly by the designer and tools. The example below shows how all cells containing the string ‘eco’ could be marked as dont use for the tool.
1.4.2.1.10. dontuse#
Description |
ASIC: dontuse cell list |
Type |
[str] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of cells grouped by a property that can be accessed directly by the designer and tools. The example below shows how all cells containing the string ‘eco’ could be marked as dont use for the tool.
1.4.2.1.11. endcap#
Description |
ASIC: endcap cell list |
Type |
[str] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of cells grouped by a property that can be accessed directly by the designer and tools. The example below shows how all cells containing the string ‘eco’ could be marked as dont use for the tool.
1.4.2.1.12. filler#
Description |
ASIC: filler cell list |
Type |
[str] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of cells grouped by a property that can be accessed directly by the designer and tools. The example below shows how all cells containing the string ‘eco’ could be marked as dont use for the tool.
1.4.2.1.13. hold#
Description |
ASIC: hold cell list |
Type |
[str] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of cells grouped by a property that can be accessed directly by the designer and tools. The example below shows how all cells containing the string ‘eco’ could be marked as dont use for the tool.
1.4.2.1.14. tap#
Description |
ASIC: tap cell list |
Type |
[str] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of cells grouped by a property that can be accessed directly by the designer and tools. The example below shows how all cells containing the string ‘eco’ could be marked as dont use for the tool.
1.4.2.1.15. tie#
Description |
ASIC: tie cell list |
Type |
[str] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of cells grouped by a property that can be accessed directly by the designer and tools. The example below shows how all cells containing the string ‘eco’ could be marked as dont use for the tool.
1.4.2.2. delaymodel#
Description |
ASIC: delay model |
Type |
str |
Per step/index |
optional |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Delay model to use for the target libs. Supported values are nldm and ccs.
1.4.2.3. libarch#
Description |
ASIC: library architecture |
Type |
str |
Per step/index |
optional |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
The library architecture (e.g. library height) used to build the design. For example a PDK with support for 9 and 12 track libraries might have ‘libarchs’ called 9t and 12t.
1.4.2.4. logiclib#
Description |
ASIC: logic libraries |
Type |
[str] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of all selected logic libraries libraries to use for optimization for a given library architecture (9T, 11T, etc).
1.4.2.5. macrolib#
Description |
ASIC: macro libraries |
Type |
[str] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of macro libraries to be linked in during synthesis and place and route. Macro libraries are used for resolving instances but are not used as targets for logic synthesis.
1.4.2.6. site#
Description |
ASIC: Library sites |
Type |
[str] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Site names for a given library architecture.
1.4.3. checklist#
1.4.3.1. criteria#
Description |
Checklist: item criteria |
Type |
[str] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Simple list of signoff criteria for checklist item which must all be met for signoff. Each signoff criteria consists of a metric, a relational operator, and a value in the form. ‘metric op value’.
1.4.3.2. dataformat#
Description |
Checklist: item data format |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Free text description of the type of data files acceptable as checklist signoff validation.
1.4.3.3. description#
Description |
Checklist: item description |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
A short one line description of the checklist item.
1.4.3.4. ok#
Description |
Checklist: item ok |
Type |
bool |
Default Value |
False |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Boolean check mark for the checklist item. A value of True indicates a human has inspected the all item dictionary parameters check out.
1.4.3.5. rationale#
Description |
Checklist: item rational |
Type |
[str] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Rationale for the the checklist item. Rationale should be a unique alphanumeric code used by the standard or a short one line or single word description.
1.4.3.6. report#
Description |
Checklist: item report |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Filepath to report(s) of specified type documenting the successful validation of the checklist item.
1.4.3.7. requirement#
Description |
Checklist: item requirement |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
A complete requirement description of the checklist item entered as a multi-line string.
1.4.3.8. task#
Description |
Checklist: item task |
Type |
[(str,str,str)] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Flowgraph job and task used to verify the checklist item. The parameter should be left empty for manual and for tool flows that bypass the SC infrastructure.
1.4.3.9. waiver#
Description |
Checklist: item metric waivers |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Filepath to report(s) documenting waivers for the checklist item specified on a per metric basis.
1.4.4. constraint#
1.4.4.1. aspectratio#
Description |
Constraint: Layout aspect ratio |
Type |
float |
Per step/index |
optional |
Default Value |
1.0 |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Height to width ratio of the block for automated floorplanning. Values below 0.1 and above 10 should be avoided as they will likely fail to converge during placement and routing. The ideal aspect ratio for most designs is 1. This value is only used when no diearea or floorplan is supplied.
1.4.4.2. component#
1.4.4.2.1. flip#
Description |
Constraint: Component flip option |
Type |
bool |
Per step/index |
optional |
Default Value |
False |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Boolean parameter specifying that the instanced library component should be flipped around the vertical axis before being placed on the substrate. The need to flip a component depends on the component footprint. Most dies have pads facing up and so must be flipped when assembled face down (eg. flip-chip, WCSP).
1.4.4.2.2. halo#
Description |
Constraint: Component halo |
Type |
(float,float) |
Per step/index |
optional |
Unit |
um |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Placement keepout halo around the named component, specified as a (horizontal, vertical) tuple represented in microns or lambda units.
1.4.4.2.3. partname#
Description |
Constraint: Component part name |
Type |
str |
Per step/index |
optional |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Part name of a named instance. The parameter is required for instances that are not contained within the design netlist (ie. physical only cells).
1.4.4.2.4. placement#
Description |
Constraint: Component placement |
Type |
(float,float,float) |
Per step/index |
optional |
Unit |
um |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Placement location of a named instance, specified as a (x, y, z) tuple of floats. The location refers to the placement of the center/centroid of the component. The ‘placement’ parameter is a goal/intent, not an exact specification. The compiler and layout system may adjust coordinates to meet competing goals such as manufacturing design rules and grid placement guidelines. The ‘z’ coordinate shall be set to 0 for planar systems with only (x, y) coordinates. Discretized systems like PCB stacks, package stacks, and breadboards only allow a reduced set of floating point values (0, 1, 2, 3). The user specifying the placement will need to have some understanding of the type of layout system the component is being placed in (ASIC, SIP, PCB) but should not need to know exact manufacturing specifications.
1.4.4.2.5. rotation#
Description |
Constraint: Component rotation |
Type |
float |
Per step/index |
optional |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Placement rotation of the component specified in degrees. Rotation goes counter-clockwise for all parts on top and clock-wise for parts on the bottom. In both cases, this is from the perspective of looking at the top of the board. Rotation is specified in degrees. Most gridded layout systems (like ASICs) only allow a finite number of rotation values (0, 90, 180, 270).
1.4.4.3. corearea#
Description |
Constraint: Layout core area |
Type |
[(float,float)] |
Per step/index |
optional |
Unit |
um |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of (x, y) points that define the outline of the core area for the physical design. Simple rectangle areas can be defined with two points, one for the lower left corner and one for the upper right corner. All values are specified in microns or lambda units.
1.4.4.4. coremargin#
Description |
Constraint: Layout core margin |
Type |
float |
Per step/index |
optional |
Unit |
um |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Halo/margin between the outline and core area for fully automated layout sizing and floorplanning, specified in microns or lambda units.
1.4.4.5. density#
Description |
Constraint: Layout density |
Type |
float |
Per step/index |
optional |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Target density based on the total design cells area reported after synthesis/elaboration. This number is used when no outline or floorplan is supplied. Any number between 1 and 100 is legal, but values above 50 may fail due to area/congestion issues during automated place and route.
1.4.4.6. net#
1.4.4.6.1. diffpair#
Description |
Constraint: Net diffpair |
Type |
str |
Per step/index |
optional |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Differential pair signal of the named net (only used for actual differential pairs).
1.4.4.6.2. match#
Description |
Constraint: Net matched routing |
Type |
[str] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of nets whose routing should closely matched the named net in terms of length, layer, width, etc. Wildcards (‘*’) can be used for net names.
1.4.4.6.3. maxlayer#
Description |
Constraint: Net maximum routing layer |
Type |
str |
Per step/index |
optional |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Maximum metal layer to be used for automated place and route specified on a per net basis. Metal names should either be the PDK specific metal stack name or an integer with ‘1’ being the lowest routing layer. Wildcards (‘*’) can be used for net names.
1.4.4.6.4. maxlength#
Description |
Constraint: Net max length |
Type |
float |
Per step/index |
optional |
Unit |
um |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Maximum total length of a net, specified in microns or lambda units. Wildcards (‘*’) can be used for net names.
1.4.4.6.5. maxresistance#
Description |
Constraint: Net max resistance |
Type |
float |
Per step/index |
optional |
Unit |
ohm |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Maximum resistance of named net between driver and receiver specified in ohms. Wildcards (‘*’) can be used for net names.
1.4.4.6.6. minlayer#
Description |
Constraint: Net minimum routing layer |
Type |
str |
Per step/index |
optional |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Minimum metal layer to be used for automated place and route specified on a per net basis. Metal names should either be the PDK specific metal stack name or an integer with ‘1’ being the lowest routing layer. Wildcards (‘*’) can be used for net names.
1.4.4.6.7. ndr#
Description |
Constraint: Net routing rule |
Type |
(float,float) |
Per step/index |
optional |
Unit |
um |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Definitions of non-default routing rule specified on a per net basis. Constraints are entered as a (width, space) tuples specified in microns or lambda units. Wildcards (‘*’) can be used for net names.
1.4.4.6.8. shield#
Description |
Constraint: Net shielding |
Type |
str |
Per step/index |
optional |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Specifies that the named net should be shielded by the given signal on both sides of the net.
1.4.4.6.9. sympair#
Description |
Constraint: Net sympair |
Type |
str |
Per step/index |
optional |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Symmetrical pair signal to the named net. The two nets should be routed as reflections around the vertical or horizontal axis to minimize on-chip variability.
1.4.4.7. outline#
Description |
Constraint: Layout outline |
Type |
[(float,float)] |
Per step/index |
optional |
Unit |
um |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of (x, y) points that define the outline physical layout physical design. Simple rectangle areas can be defined with two points, one for the lower left corner and one for the upper right corner. All values are specified in microns or lambda units.
1.4.4.8. pin#
1.4.4.8.1. layer#
Description |
Constraint: Pin layer |
Type |
str |
Per step/index |
optional |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin metal layer specified based on the SC standard layer stack starting with m1 as the lowest routing layer and ending with m<n> as the highest routing layer.
1.4.4.8.2. order#
Description |
Constraint: Pin order |
Type |
int |
Per step/index |
optional |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
The relative position of the named pin in a vector of pins on the side specified by the ‘side’ option. Pin order counting is done clockwise. If multiple pins on the same side have the same order number, the actual order is at the discretion of the tool.
1.4.4.8.3. placement#
Description |
Constraint: Pin placement |
Type |
(float,float,float) |
Per step/index |
optional |
Unit |
um |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Placement location of a named pin, specified as a (x, y, z) tuple of floats. The location refers to the placement of the center of the pin. The ‘placement’ parameter is a goal/intent, not an exact specification. The compiler and layout system may adjust sizes to meet competing goals such as manufacturing design rules and grid placement guidelines. The ‘z’ coordinate shall be set to 0 for planar components with only (x, y) coordinates. Discretized systems like 3D chips with pins on top and bottom may choose to discretize the top and bottom layer as 0, 1 or use absolute coordinates. Values are specified in microns or lambda units.
1.4.4.8.4. side#
Description |
Constraint: Pin side |
Type |
int |
Per step/index |
optional |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Side of block where the named pin should be placed. Sides are enumerated as integers with ‘1’ being the lower left side, with the side index incremented on right turn in a clock wise fashion. In case of conflict between ‘lower’ and ‘left’, ‘left’ has precedence. The side option and order option are orthogonal to the placement option.
1.4.4.9. timing#
1.4.4.9.1. check#
Description |
Constraint: timing checks |
Type |
[str] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of checks for to perform for the scenario. The checks must align with the capabilities of the EDA tools and flow being used. Checks generally include objectives like meeting setup and hold goals and minimize power. Standard check names include setup, hold, power, noise, reliability.
1.4.4.9.2. file#
Description |
Constraint: SDC files |
Type |
[file] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of timing constraint files to use for the scenario. The values are combined with any constraints specified by the design ‘constraint’ parameter. If no constraints are found, a default constraint file is used based on the clock definitions.
1.4.4.9.3. libcorner#
Description |
Constraint: library corner |
Type |
[str] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of characterization corners used to select timing files for all logiclibs and macrolibs.
1.4.4.9.4. mode#
Description |
Constraint: operating mode |
Type |
str |
Per step/index |
optional |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Operating mode for the scenario. Operating mode strings can be values such as test, functional, standby.
1.4.4.9.5. opcond#
Description |
Constraint: operating condition |
Type |
str |
Per step/index |
optional |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Operating condition applied to the scenario. The value can be used to access specific conditions within the library timing models from the ‘logiclib’ timing models.
1.4.4.9.6. pexcorner#
Description |
Constraint: pex corner |
Type |
str |
Per step/index |
optional |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Parasitic corner applied to the scenario. The ‘pexcorner’ string must match a corner found in the pdk pexmodel setup.
1.4.4.9.7. temperature#
Description |
Constraint: temperature |
Type |
float |
Per step/index |
optional |
Unit |
C |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Chip temperature applied to the scenario specified in degrees C.
1.4.4.9.8. voltage#
Description |
Constraint: pin voltage level |
Type |
float |
Per step/index |
optional |
Unit |
V |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Operating voltage applied to a specific pin in the scenario.
1.4.5. datasheet#
1.4.5.1. feature#
Description |
Datasheet: features |
Type |
float |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Quantity of a specified feature. The ‘unit’ field should be used to specify the units used when unclear.
1.4.5.2. limit#
1.4.5.2.1. junctiontemp#
Description |
Datasheet: limit junction temperature limits |
Type |
(float,float) |
Unit |
C |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Limit junction temperature limits. Values are tuples of (min, max).
1.4.5.2.2. seb#
Description |
Datasheet: limit single event burnout threshold |
Type |
(float,float) |
Unit |
MeV-cm2/mg |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Limit single event burnout threshold. Values are tuples of (min, max).
1.4.5.2.3. segr#
Description |
Datasheet: limit single event gate rupture threshold |
Type |
(float,float) |
Unit |
MeV-cm2/mg |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Limit single event gate rupture threshold. Values are tuples of (min, max).
1.4.5.2.4. sel#
Description |
Datasheet: limit single event latchup threshold |
Type |
(float,float) |
Unit |
MeV-cm2/mg |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Limit single event latchup threshold. Values are tuples of (min, max).
1.4.5.2.5. set#
Description |
Datasheet: limit single event transient threshold |
Type |
(float,float) |
Unit |
MeV-cm2/mg |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Limit single event transient threshold. Values are tuples of (min, max).
1.4.5.2.6. seu#
Description |
Datasheet: limit single event upset threshold |
Type |
(float,float) |
Unit |
MeV-cm2/mg |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Limit single event upset threshold. Values are tuples of (min, max).
1.4.5.2.7. soldertemp#
Description |
Datasheet: limit solder temperature limits |
Type |
(float,float) |
Unit |
C |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Limit solder temperature limits. Values are tuples of (min, max).
1.4.5.2.8. storagetemp#
Description |
Datasheet: limit storage temperature limits |
Type |
(float,float) |
Unit |
C |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Limit storage temperature limits. Values are tuples of (min, max).
1.4.5.2.9. tid#
Description |
Datasheet: limit total ionizing dose threshold |
Type |
(float,float) |
Unit |
rad |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Limit total ionizing dose threshold. Values are tuples of (min, max).
1.4.5.3. mechanical#
1.4.5.3.1. bodyheight#
Description |
Datasheet: limit thickness of packaged body |
Type |
(float,float,float) |
Unit |
mm |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Mechanical specification thickness of packaged body. Values are tuples of (min, nominal, max).
1.4.5.3.2. bumpdiameter#
Description |
Datasheet: limit bump diameter |
Type |
(float,float,float) |
Unit |
mm |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Mechanical specification bump diameter. Values are tuples of (min, nominal, max).
1.4.5.3.3. bumpheight#
Description |
Datasheet: limit bump height |
Type |
(float,float,float) |
Unit |
mm |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Mechanical specification bump height. Values are tuples of (min, nominal, max).
1.4.5.3.4. bumppitch#
Description |
Datasheet: limit bump pitch |
Type |
(float,float,float) |
Unit |
mm |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Mechanical specification bump pitch. Values are tuples of (min, nominal, max).
1.4.5.3.5. length#
Description |
Datasheet: limit package length |
Type |
(float,float,float) |
Unit |
mm |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Mechanical specification package length. Values are tuples of (min, nominal, max).
1.4.5.3.6. thickness#
Description |
Datasheet: limit total package thickness |
Type |
(float,float,float) |
Unit |
mm |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Mechanical specification total package thickness. Values are tuples of (min, nominal, max).
1.4.5.3.7. width#
Description |
Datasheet: limit package width |
Type |
(float,float,float) |
Unit |
mm |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Mechanical specification package width. Values are tuples of (min, nominal, max).
1.4.5.4. pin#
1.4.5.4.1. bw#
Description |
Datasheet: pin nyquist bandwidth |
Type |
(float,float,float) |
Unit |
Hz |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin nyquist bandwidth. Values are tuples of (min, typical, max).
1.4.5.4.2. cap#
Description |
Datasheet: pin capacitance |
Type |
(float,float,float) |
Unit |
F |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin capacitance. Values are tuples of (min, typical, max).
1.4.5.4.3. cmrr#
Description |
Datasheet: pin common mode rejection ratio |
Type |
(float,float,float) |
Unit |
dB |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin common mode rejection ratio. Values are tuples of (min, typical, max).
1.4.5.4.4. complement#
Description |
Datasheet: pin complement |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin complement specified on a per mode basis for differential signals.
1.4.5.4.5. dir#
Description |
Datasheet: pin direction |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin direction specified on a per mode basis. Acceptable pin directions include: input, output, inout.
1.4.5.4.6. dnl#
Description |
Datasheet: pin differential nonlinearity |
Type |
(float,float,float) |
Unit |
LSB |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin differential nonlinearity. Values are tuples of (min, typical, max).
1.4.5.4.7. enob#
Description |
Datasheet: pin effective number of bits |
Type |
(float,float,float) |
Unit |
bits |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin effective number of bits. Values are tuples of (min, typical, max).
1.4.5.4.8. function#
Description |
Datasheet: pin function |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin function specified on a per mode basis. Only applicable to output pins.
1.4.5.4.9. gain#
Description |
Datasheet: pin gain |
Type |
(float,float,float) |
Unit |
dB |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin gain. Values are tuples of (min, typical, max).
1.4.5.4.10. hd2#
Description |
Datasheet: pin 2nd order harmonic distortion |
Type |
(float,float,float) |
Unit |
dBc |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin 2nd order harmonic distortion. Values are tuples of (min, typical, max).
1.4.5.4.11. hd3#
Description |
Datasheet: pin 3rd order harmonic distortion |
Type |
(float,float,float) |
Unit |
dBc |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin 3rd order harmonic distortion. Values are tuples of (min, typical, max).
1.4.5.4.12. hd4#
Description |
Datasheet: pin 4th order harmonic distortion |
Type |
(float,float,float) |
Unit |
dBc |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin 4th order harmonic distortion. Values are tuples of (min, typical, max).
1.4.5.4.13. ib1db#
Description |
Datasheet: pin rf in band 1 dB compression point |
Type |
(float,float,float) |
Unit |
dBm |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin rf in band 1 dB compression point. Values are tuples of (min, typical, max).
1.4.5.4.14. ibias#
Description |
Datasheet: pin bias current |
Type |
(float,float,float) |
Unit |
A |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin bias current. Values are tuples of (min, typical, max).
1.4.5.4.15. iinject#
Description |
Datasheet: pin injection current |
Type |
(float,float,float) |
Unit |
A |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin injection current. Values are tuples of (min, typical, max).
1.4.5.4.16. iip3#
Description |
Datasheet: pin rf 3rd order input intercept point |
Type |
(float,float,float) |
Unit |
dBm |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin rf 3rd order input intercept point. Values are tuples of (min, typical, max).
1.4.5.4.17. ileakage#
Description |
Datasheet: pin leakage current |
Type |
(float,float,float) |
Unit |
A |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin leakage current. Values are tuples of (min, typical, max).
1.4.5.4.18. imd3#
Description |
Datasheet: pin 3rd order intermodulation distortion |
Type |
(float,float,float) |
Unit |
dBc |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin 3rd order intermodulation distortion. Values are tuples of (min, typical, max).
1.4.5.4.19. inl#
Description |
Datasheet: pin integral nonlinearity |
Type |
(float,float,float) |
Unit |
LSB |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin integral nonlinearity. Values are tuples of (min, typical, max).
1.4.5.4.20. interface#
Description |
Datasheet: pin interface map |
Type |
[str] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin mapping to standardized interface names.
1.4.5.4.21. ioffset#
Description |
Datasheet: pin offset current |
Type |
(float,float,float) |
Unit |
A |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin offset current. Values are tuples of (min, typical, max).
1.4.5.4.22. ioh#
Description |
Datasheet: pin output high current |
Type |
(float,float,float) |
Unit |
A |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin output high current. Values are tuples of (min, typical, max).
1.4.5.4.23. iol#
Description |
Datasheet: pin output low current |
Type |
(float,float,float) |
Unit |
A |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin output low current. Values are tuples of (min, typical, max).
1.4.5.4.24. ishort#
Description |
Datasheet: pin short circuit current |
Type |
(float,float,float) |
Unit |
A |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin short circuit current. Values are tuples of (min, typical, max).
1.4.5.4.25. isupply#
Description |
Datasheet: pin supply current |
Type |
(float,float,float) |
Unit |
A |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin supply current. Values are tuples of (min, typical, max).
1.4.5.4.26. map#
Description |
Datasheet: pin map |
Type |
(float,float) |
Unit |
um |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Mapping of signal pin to physical package pin name and location. Power and ground signals usually map to multiple pins/bumps/balls. Pin locations specify the (x,y) center of the pin with respect to the centroid of the design/package.
1.4.5.4.27. noisefigure#
Description |
Datasheet: pin rf noise figure |
Type |
(float,float,float) |
Unit |
dB |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin rf noise figure. Values are tuples of (min, typical, max).
1.4.5.4.28. nsd#
Description |
Datasheet: pin noise spectral density |
Type |
(float,float,float) |
Unit |
dBFS/Hz |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin noise spectral density. Values are tuples of (min, typical, max).
1.4.5.4.29. oob1db#
Description |
Datasheet: pin rf out of band 1 dB compression point |
Type |
(float,float,float) |
Unit |
dBm |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin rf out of band 1 dB compression point. Values are tuples of (min, typical, max).
1.4.5.4.30. phasenoise#
Description |
Datasheet: pin phase noise |
Type |
(float,float,float) |
Unit |
dBc/Hz |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin phase noise. Values are tuples of (min, typical, max).
1.4.5.4.31. polarity#
Description |
Datasheet: pin polarity |
Type |
enum |
Allowed Values |
|
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin polarity specified on a per mode basis. Only applicable to output pins.
1.4.5.4.32. pout#
Description |
Datasheet: pin output power |
Type |
(float,float,float) |
Unit |
dBm |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin output power. Values are tuples of (min, typical, max).
1.4.5.4.33. pout2#
Description |
Datasheet: pin 2nd harmonic power |
Type |
(float,float,float) |
Unit |
dBm |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin 2nd harmonic power. Values are tuples of (min, typical, max).
1.4.5.4.34. pout3#
Description |
Datasheet: pin 3rd harmonic power |
Type |
(float,float,float) |
Unit |
dBm |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin 3rd harmonic power. Values are tuples of (min, typical, max).
1.4.5.4.35. power#
Description |
Datasheet: pin power consumption |
Type |
(float,float,float) |
Unit |
W |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin power consumption. Values are tuples of (min, typical, max).
1.4.5.4.36. psnr#
Description |
Datasheet: pin power supply noise rejection |
Type |
(float,float,float) |
Unit |
dB |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin power supply noise rejection. Values are tuples of (min, typical, max).
1.4.5.4.37. rdiff#
Description |
Datasheet: pin differential pair resistance |
Type |
(float,float,float) |
Unit |
Ohm |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin differential pair resistance. Values are tuples of (min, typical, max).
1.4.5.4.38. rdown#
Description |
Datasheet: pin output pulldown resistance |
Type |
(float,float,float) |
Unit |
Ohm |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin output pulldown resistance. Values are tuples of (min, typical, max).
1.4.5.4.39. resetvalue#
Description |
Datasheet: pin reset value |
Type |
enum |
Allowed Values |
|
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin reset value specified on a per mode basis.
1.4.5.4.40. rin#
Description |
Datasheet: pin input resistance |
Type |
(float,float,float) |
Unit |
Ohm |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin input resistance. Values are tuples of (min, typical, max).
1.4.5.4.41. rup#
Description |
Datasheet: pin output pullup resistance |
Type |
(float,float,float) |
Unit |
Ohm |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin output pullup resistance. Values are tuples of (min, typical, max).
1.4.5.4.42. rweakdown#
Description |
Datasheet: pin weak pulldown resistance |
Type |
(float,float,float) |
Unit |
Ohm |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin weak pulldown resistance. Values are tuples of (min, typical, max).
1.4.5.4.43. rweakup#
Description |
Datasheet: pin weak pullup resistance |
Type |
(float,float,float) |
Unit |
Ohm |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin weak pullup resistance. Values are tuples of (min, typical, max).
1.4.5.4.44. s11#
Description |
Datasheet: pin rf input return loss |
Type |
(float,float,float) |
Unit |
dB |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin rf input return loss. Values are tuples of (min, typical, max).
1.4.5.4.45. s12#
Description |
Datasheet: pin rf reverse isolation |
Type |
(float,float,float) |
Unit |
dB |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin rf reverse isolation. Values are tuples of (min, typical, max).
1.4.5.4.46. s21#
Description |
Datasheet: pin rf gain |
Type |
(float,float,float) |
Unit |
dB |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin rf gain. Values are tuples of (min, typical, max).
1.4.5.4.47. s22#
Description |
Datasheet: pin rf output return loss |
Type |
(float,float,float) |
Unit |
dB |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin rf output return loss. Values are tuples of (min, typical, max).
1.4.5.4.48. sfdr#
Description |
Datasheet: pin spurious-free dynamic range |
Type |
(float,float,float) |
Unit |
dBc |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin spurious-free dynamic range. Values are tuples of (min, typical, max).
1.4.5.4.49. sinad#
Description |
Datasheet: pin signal to noise and distortion ratio |
Type |
(float,float,float) |
Unit |
dB |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin signal to noise and distortion ratio. Values are tuples of (min, typical, max).
1.4.5.4.50. snr#
Description |
Datasheet: pin signal to noise ratio |
Type |
(float,float,float) |
Unit |
dB |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin signal to noise ratio. Values are tuples of (min, typical, max).
1.4.5.4.51. standard#
Description |
Datasheet: pin standard |
Type |
[str] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin electrical signaling standard (LVDS, LVCMOS, TTL, …).
1.4.5.4.52. tdelayf#
Description |
Datasheet: pin propagation delay (fall) |
Type |
(float,float,float) |
Unit |
s |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin propagation delay (fall) specified on a per pin, mode, and relpin basis. Values are tuples of (min, typical, max).
1.4.5.4.53. tdelayr#
Description |
Datasheet: pin propagation delay (rise) |
Type |
(float,float,float) |
Unit |
s |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin propagation delay (rise) specified on a per pin, mode, and relpin basis. Values are tuples of (min, typical, max).
1.4.5.4.54. tduty#
Description |
Datasheet: pin duty cycle |
Type |
(float,float,float) |
Unit |
% |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin duty cycle. Values are tuples of (min, typical, max).
1.4.5.4.55. tfall#
Description |
Datasheet: pin fall transition |
Type |
(float,float,float) |
Unit |
s |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin fall transition specified on a per pin, mode, and relpin basis. Values are tuples of (min, typical, max).
1.4.5.4.56. thigh#
Description |
Datasheet: pin pulse width high |
Type |
(float,float,float) |
Unit |
s |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin pulse width high. Values are tuples of (min, typical, max).
1.4.5.4.57. thold#
Description |
Datasheet: pin hold time |
Type |
(float,float,float) |
Unit |
s |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin hold time specified on a per pin, mode, and relpin basis. Values are tuples of (min, typical, max).
1.4.5.4.58. tjitter#
Description |
Datasheet: pin rms jitter |
Type |
(float,float,float) |
Unit |
s |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin rms jitter. Values are tuples of (min, typical, max).
1.4.5.4.59. tlow#
Description |
Datasheet: pin pulse width low |
Type |
(float,float,float) |
Unit |
s |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin pulse width low. Values are tuples of (min, typical, max).
1.4.5.4.60. tperiod#
Description |
Datasheet: pin minimum period |
Type |
(float,float,float) |
Unit |
s |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin minimum period. Values are tuples of (min, typical, max).
1.4.5.4.61. tpulse#
Description |
Datasheet: pin pulse width |
Type |
(float,float,float) |
Unit |
s |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin pulse width. Values are tuples of (min, typical, max).
1.4.5.4.62. trise#
Description |
Datasheet: pin rise transition |
Type |
(float,float,float) |
Unit |
s |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin rise transition specified on a per pin, mode, and relpin basis. Values are tuples of (min, typical, max).
1.4.5.4.63. tsetup#
Description |
Datasheet: pin setup time |
Type |
(float,float,float) |
Unit |
s |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin setup time specified on a per pin, mode, and relpin basis. Values are tuples of (min, typical, max).
1.4.5.4.64. tskew#
Description |
Datasheet: pin timing skew |
Type |
(float,float,float) |
Unit |
s |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin timing skew specified on a per pin, mode, and relpin basis. Values are tuples of (min, typical, max).
1.4.5.4.65. type#
Description |
Datasheet: pin type |
Type |
enum |
Allowed Values |
|
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin type specified on a per mode basis.
1.4.5.4.66. vcdm#
Description |
Datasheet: pin ESD charge device model voltage level |
Type |
(float,float,float) |
Unit |
V |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin ESD charge device model voltage level. Values are tuples of (min, typical, max).
1.4.5.4.67. vcm#
Description |
Datasheet: pin common mode voltage |
Type |
(float,float,float) |
Unit |
V |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin common mode voltage. Values are tuples of (min, typical, max).
1.4.5.4.68. vdiff#
Description |
Datasheet: pin differential voltage |
Type |
(float,float,float) |
Unit |
V |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin differential voltage. Values are tuples of (min, typical, max).
1.4.5.4.69. vgainerror#
Description |
Datasheet: pin gain error |
Type |
(float,float,float) |
Unit |
mV |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin gain error. Values are tuples of (min, typical, max).
1.4.5.4.70. vhbm#
Description |
Datasheet: pin ESD human body model voltage level |
Type |
(float,float,float) |
Unit |
V |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin ESD human body model voltage level. Values are tuples of (min, typical, max).
1.4.5.4.71. vih#
Description |
Datasheet: pin high input voltage level |
Type |
(float,float,float) |
Unit |
V |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin high input voltage level. Values are tuples of (min, typical, max).
1.4.5.4.72. vil#
Description |
Datasheet: pin low input voltage level |
Type |
(float,float,float) |
Unit |
V |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin low input voltage level. Values are tuples of (min, typical, max).
1.4.5.4.73. vmax#
Description |
Datasheet: pin absolute maximum voltage |
Type |
(float,float,float) |
Unit |
V |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin absolute maximum voltage. Values are tuples of (min, typical, max).
1.4.5.4.74. vmm#
Description |
Datasheet: pin ESD machine model voltage level |
Type |
(float,float,float) |
Unit |
V |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin ESD machine model voltage level. Values are tuples of (min, typical, max).
1.4.5.4.75. vnoise#
Description |
Datasheet: pin random voltage noise |
Type |
(float,float,float) |
Unit |
V |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin random voltage noise. Values are tuples of (min, typical, max).
1.4.5.4.76. vnominal#
Description |
Datasheet: pin nominal operating voltage |
Type |
(float,float,float) |
Unit |
V |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin nominal operating voltage. Values are tuples of (min, typical, max).
1.4.5.4.77. vofferror#
Description |
Datasheet: pin offset error |
Type |
(float,float,float) |
Unit |
mV |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin offset error. Values are tuples of (min, typical, max).
1.4.5.4.78. voffset#
Description |
Datasheet: pin offset voltage |
Type |
(float,float,float) |
Unit |
V |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin offset voltage. Values are tuples of (min, typical, max).
1.4.5.4.79. voh#
Description |
Datasheet: pin high output voltage level |
Type |
(float,float,float) |
Unit |
V |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin high output voltage level. Values are tuples of (min, typical, max).
1.4.5.4.80. vol#
Description |
Datasheet: pin low output voltage level |
Type |
(float,float,float) |
Unit |
V |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin low output voltage level. Values are tuples of (min, typical, max).
1.4.5.4.81. vslew#
Description |
Datasheet: pin slew rate |
Type |
(float,float,float) |
Unit |
V/s |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin slew rate. Values are tuples of (min, typical, max).
1.4.5.5. reliability#
Description |
Datasheet: reliability |
Type |
float |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Device reliability specified on a per standard basis. The reliability test condition is captured as key/value pairs, where the key is any test condition capture in the standard. Examples of test conditions include time, mintemp, maxtemp, cycles, vmax, moisture.
1.4.5.6. thermal#
1.4.5.6.1. rja#
Description |
Datasheet: thermal junction to ambient resistance |
Type |
float |
Unit |
C/W |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Device rja.
1.4.5.6.2. rjb#
Description |
Datasheet: thermal junction to board resistance |
Type |
float |
Unit |
C/W |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Device rjb.
1.4.5.6.3. rjcb#
Description |
Datasheet: thermal junction to case (bottom) resistance |
Type |
float |
Unit |
C/W |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Device rjcb.
1.4.5.6.4. rjct#
Description |
Datasheet: thermal junction to case (top) resistance |
Type |
float |
Unit |
C/W |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Device rjct.
1.4.5.6.5. tjb#
Description |
Datasheet: thermal junction to bottom model |
Type |
float |
Unit |
C/W |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Device tjb.
1.4.5.6.6. tjt#
Description |
Datasheet: thermal junction to top model |
Type |
float |
Unit |
C/W |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Device tjt.
1.4.6. design#
Description |
Design top module name |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Name of the top level module or library. Required for all chip objects.
1.4.7. flowgraph#
1.4.7.1. args#
Description |
Flowgraph: setup arguments |
Type |
[str] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
User specified flowgraph string arguments specified on a per step and per index basis.
1.4.7.2. goal#
Description |
Flowgraph: metric goals |
Type |
float |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Goals specified on a per step and per metric basis used to determine whether a certain task can be considered when merging multiple tasks at a minimum or maximum node. A task is considered failing if the absolute value of any of its metrics are larger than the goal for that metric, if set.
1.4.7.3. input#
Description |
Flowgraph: step input |
Type |
[(str,str)] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
A list of inputs for the current step and index, specified as a (step, index) tuple.
1.4.7.4. select#
Description |
Flowgraph: task select record |
Type |
[(str,str)] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of selected inputs for the current step/index specified as (in_step, in_index) tuple.
1.4.7.5. status#
Description |
Flowgraph: task status |
Type |
enum |
Allowed Values |
|
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Parameter that tracks the status of a task. Valid values are:
”success”: task ran successfully
”error”: task failed with an error
An empty value indicates the task has not yet been completed.
1.4.7.6. task#
Description |
Flowgraph: task selection |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Name of the tool associated task used for step execution. Builtin task names include: minimum, maximum, join, verify, mux.
1.4.7.7. taskmodule#
Description |
Flowgraph: task module |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Full python module name of the task module used for task setup and execution.
1.4.7.8. timeout#
Description |
Flowgraph: task timeout value |
Type |
float |
Unit |
s |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Timeout value in seconds specified on a per step and per index basis. The flowgraph timeout value is compared against the wall time tracked by the SC runtime to determine if an operation should continue. Timeout values help in situations where 1.) an operation is stuck and may never finish. 2.) the operation progress has saturated and continued execution has a negative return on investment.
1.4.7.9. tool#
Description |
Flowgraph: tool selection |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Name of the tool name used for task execution. The ‘tool’ parameter is ignored for builtin tasks.
1.4.7.10. valid#
Description |
Flowgraph: task valid bit |
Type |
bool |
Default Value |
False |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Flowgraph valid bit specified on a per step and per index basis. The parameter can be used to control flow execution. If the bit is cleared (0), then the step/index combination is invalid and should not be run.
1.4.7.11. weight#
Description |
Flowgraph: metric weights |
Type |
float |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Weights specified on a per step and per metric basis used to give effective “goodness” score for a step by calculating the sum all step real metrics results by the corresponding per step weights.
1.4.8. fpga#
1.4.8.1. board#
Description |
FPGA: board name |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Complete board name used as a device target by the FPGA compilation tool. The board name must be an exact string match to the partname hard coded within the FPGA EDA tool. The parameter is optional and can be used in place of a partname and pin constraints for some tools.
1.4.8.2. file#
Description |
FPGA: file |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Specify a file for the FPGA partname.
1.4.8.3. flash#
Description |
FPGA: flash enable |
Type |
bool |
Default Value |
False |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Specifies that the bitstream should be flashed in the board/device. The default is to load the bitstream into volatile memory (SRAM).
1.4.8.4. lutsize#
Description |
FPGA: lutsize |
Type |
int |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Specify the number of inputs in each lookup table (LUT) for the FPGA partname. For architectures with fracturable LUTs, this is the number of inputs of the unfractured LUT.
1.4.8.5. partname#
Description |
FPGA: part name |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Complete part name used as a device target by the FPGA compilation tool. The part name must be an exact string match to the partname hard coded within the FPGA EDA tool.
1.4.8.6. program#
Description |
FPGA: program enable |
Type |
bool |
Default Value |
False |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Specifies that the bitstream should be loaded into an FPGA.
1.4.8.7. var#
Description |
FPGA: var |
Type |
[str] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Specify a variable value for the FPGA partname.
1.4.8.8. vendor#
Description |
FPGA: vendor name |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Name of the FPGA vendor for the FPGA partname.
1.4.9. input#
Description |
Input: files |
Type |
[file] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of files of type (‘filetype’) grouped as a named set (‘fileset’). The exact names of filetypes and filesets must match the string names used by the tasks called during flowgraph execution. By convention, the fileset names should match the the name of the flowgraph being executed.
1.4.10. metric#
1.4.10.1. averagepower#
Description |
Metric: averagepower |
Type |
float |
Per step/index |
required |
Unit |
mw |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the average workload power of the design specified on a per step and index basis. Power metric depend heavily on the method being used for extraction: dynamic vs static, workload specification (vcd vs saif), power models, process/voltage/temperature. The power averagepower metric tries to capture the data that would usually be reflected inside a datasheet given the appropriate footnote conditions.
1.4.10.2. brams#
Description |
Metric: FPGA BRAM tiles |
Type |
int |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the total FPGA BRAM tiles used by the design as reported by the implementation tool. There is no standardized definition for this metric across vendors, so metric comparisons can generally only be done between runs on identical tools and device families.
1.4.10.3. buffers#
Description |
Metric: buffers |
Type |
int |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the total number of buffer and inverter instances in the design on a per step and index basis.
1.4.10.4. cellarea#
Description |
Metric: cellarea |
Type |
float |
Per step/index |
required |
Unit |
um^2 |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the total cell area (ignoring fillers) occupied by the design.
1.4.10.5. cells#
Description |
Metric: cells |
Type |
int |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the total number of cell instances in the design on a per step and index basis.
1.4.10.6. coverage#
Description |
Metric: coverage |
Type |
float |
Per step/index |
required |
Unit |
% |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the test coverage in the design expressed as a percentage with 100 meaning full coverage. The meaning of the metric depends on the task being executed. It can refer to code coverage, feature coverage, stuck at fault coverage.
1.4.10.7. dozepower#
Description |
Metric: dozepower |
Type |
float |
Per step/index |
required |
Unit |
mw |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the power consumed while in low frequency operating mode of the design specified on a per step and index basis. Power metric depend heavily on the method being used for extraction: dynamic vs static, workload specification (vcd vs saif), power models, process/voltage/temperature. The power dozepower metric tries to capture the data that would usually be reflected inside a datasheet given the appropriate footnote conditions.
1.4.10.8. drvs#
Description |
Metric: total drvs |
Type |
int |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the total number of design rule violations on a per step and index basis.
1.4.10.9. dsps#
Description |
Metric: FPGA DSP slices |
Type |
int |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the total FPGA DSP slices used by the design as reported by the implementation tool. There is no standardized definition for this metric across vendors, so metric comparisons can generally only be done between runs on identical tools and device families.
1.4.10.10. errors#
Description |
Metric: total errors |
Type |
int |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the total number of errors on a per step and index basis.
1.4.10.11. exetime#
Description |
Metric: exetime |
Type |
float |
Per step/index |
required |
Unit |
s |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking time spent by the EDA executable ‘exe’ on a per step and index basis. It does not include the SiliconCompiler runtime overhead or time waiting for I/O operations and inter-processor communication to complete.
1.4.10.12. fmax#
Description |
Metric: fmax |
Type |
float |
Per step/index |
required |
Unit |
Hz |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the maximum clock frequency on a per step and index basis.
1.4.10.13. holdpaths#
Description |
Metric: holdpaths |
Type |
int |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the total number of timing paths violating hold constraints.
1.4.10.14. holdslack#
Description |
Metric: holdslack |
Type |
float |
Per step/index |
required |
Unit |
ns |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the worst hold slack (positive or negative) on a per step and index basis.
1.4.10.15. holdtns#
Description |
Metric: holdtns |
Type |
float |
Per step/index |
required |
Unit |
ns |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the total negative hold slack (TNS) on a per step and index basis.
1.4.10.16. holdwns#
Description |
Metric: holdwns |
Type |
float |
Per step/index |
required |
Unit |
ns |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the worst negative hold slack (positive values truncated to zero) on a per step and index basis.
1.4.10.17. idlepower#
Description |
Metric: idlepower |
Type |
float |
Per step/index |
required |
Unit |
mw |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the power while not performing useful work of the design specified on a per step and index basis. Power metric depend heavily on the method being used for extraction: dynamic vs static, workload specification (vcd vs saif), power models, process/voltage/temperature. The power idlepower metric tries to capture the data that would usually be reflected inside a datasheet given the appropriate footnote conditions.
1.4.10.18. irdrop#
Description |
Metric: peak IR drop |
Type |
float |
Per step/index |
required |
Unit |
mv |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the peak IR drop in the design based on extracted power and ground rail parasitics, library power models, and switching activity. The switching activity calculated on a per node basis is taken from one of three possible sources, in order of priority: VCD file, SAIF file, ‘activityfactor’ parameter.
1.4.10.19. leakagepower#
Description |
Metric: leakagepower |
Type |
float |
Per step/index |
required |
Unit |
mw |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the leakage power with rails active but without any dynamic switching activity of the design specified on a per step and index basis. Power metric depend heavily on the method being used for extraction: dynamic vs static, workload specification (vcd vs saif), power models, process/voltage/temperature. The power leakagepower metric tries to capture the data that would usually be reflected inside a datasheet given the appropriate footnote conditions.
1.4.10.20. luts#
Description |
Metric: FPGA LUTs |
Type |
int |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the total FPGA LUTs used by the design as reported by the implementation tool. There is no standardized definition for this metric across vendors, so metric comparisons can generally only be done between runs on identical tools and device families.
1.4.10.21. macros#
Description |
Metric: macros |
Type |
int |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the total number of macros in the design on a per step and index basis.
1.4.10.22. memory#
Description |
Metric: memory |
Type |
float |
Per step/index |
required |
Unit |
B |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking total peak program memory footprint on a per step and index basis.
1.4.10.23. nets#
Description |
Metric: nets |
Type |
int |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the total number of nets in the design on a per step and index basis.
1.4.10.24. overflow#
Description |
Metric: overflow |
Type |
int |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the total number of overflow tracks for the routing on per step and index basis. Any non-zero number suggests an over congested design. To analyze where the congestion is occurring inspect the router log files for detailed per metal overflow reporting and open up the design to find routing hotspots.
1.4.10.25. peakpower#
Description |
Metric: peakpower |
Type |
float |
Per step/index |
required |
Unit |
mw |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the worst case total peak power of the design specified on a per step and index basis. Power metric depend heavily on the method being used for extraction: dynamic vs static, workload specification (vcd vs saif), power models, process/voltage/temperature. The power peakpower metric tries to capture the data that would usually be reflected inside a datasheet given the appropriate footnote conditions.
1.4.10.26. pins#
Description |
Metric: pins |
Type |
int |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the total number of pins in the design on a per step and index basis.
1.4.10.27. registers#
Description |
Metric: registers |
Type |
int |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the total number of register instances in the design on a per step and index basis.
1.4.10.28. security#
Description |
Metric: security |
Type |
float |
Per step/index |
required |
Unit |
% |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the level of security (1/vulnerability) of the design. A completely secure design would have a score of 100. There is no absolute scale for the security metrics (like with power, area, etc) so the metric will be task and tool dependent.
1.4.10.29. setuppaths#
Description |
Metric: setuppaths |
Type |
int |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the total number of timing paths violating setup constraints.
1.4.10.30. setupslack#
Description |
Metric: setupslack |
Type |
float |
Per step/index |
required |
Unit |
ns |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the worst setup slack (positive or negative) on a per step and index basis.
1.4.10.31. setuptns#
Description |
Metric: setuptns |
Type |
float |
Per step/index |
required |
Unit |
ns |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the total negative setup slack (TNS) on a per step and index basis.
1.4.10.32. setupwns#
Description |
Metric: setupwns |
Type |
float |
Per step/index |
required |
Unit |
ns |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the worst negative setup slack (positive values truncated to zero) on a per step and index basis.
1.4.10.33. sleeppower#
Description |
Metric: sleeppower |
Type |
float |
Per step/index |
required |
Unit |
mw |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the power consumed with some or all power rails gated off of the design specified on a per step and index basis. Power metric depend heavily on the method being used for extraction: dynamic vs static, workload specification (vcd vs saif), power models, process/voltage/temperature. The power sleeppower metric tries to capture the data that would usually be reflected inside a datasheet given the appropriate footnote conditions.
1.4.10.34. tasktime#
Description |
Metric: tasktime |
Type |
float |
Per step/index |
required |
Unit |
s |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the total amount of time spent on a task from beginning to end, including data transfers and pre/post processing.
1.4.10.35. totalarea#
Description |
Metric: totalarea |
Type |
float |
Per step/index |
required |
Unit |
um^2 |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the total physical die area occupied by the design.
1.4.10.36. totaltime#
Description |
Metric: totaltime |
Type |
float |
Per step/index |
required |
Unit |
s |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the total amount of time spent from the beginning of the run up to and including the current step and index.
1.4.10.37. transistors#
Description |
Metric: transistors |
Type |
int |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the total number of transistors in the design on a per step and index basis.
1.4.10.38. unconstrained#
Description |
Metric: total unconstrained |
Type |
int |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the total number of unconstrained timing paths on a per step and index basis.
1.4.10.39. utilization#
Description |
Metric: area utilization |
Type |
float |
Per step/index |
required |
Unit |
% |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the area utilization of the design calculated as 100 * (cellarea/totalarea).
1.4.10.40. vias#
Description |
Metric: vias |
Type |
int |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the total number of vias in the design on a per step and index basis.
1.4.10.41. warnings#
Description |
Metric: total warnings |
Type |
int |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the total number of warnings on a per step and index basis.
1.4.10.42. wirelength#
Description |
Metric: wirelength |
Type |
float |
Per step/index |
required |
Unit |
um |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the total wirelength of the design on a per step and index basis.
1.4.11. option#
1.4.11.1. autoinstall#
Description |
Option: auto install packages |
Type |
bool |
Default Value |
False |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Enables automatic installation of missing dependencies from the registry.
1.4.11.2. breakpoint#
Description |
Breakpoint list |
Type |
bool |
Per step/index |
optional |
Default Value |
False |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Set a breakpoint on specific steps. If the step is a TCL based tool, then the breakpoints stops the flow inside the EDA tool. If the step is a command line tool, then the flow drops into a Python interpreter.
1.4.11.3. builddir#
Description |
Build directory |
Type |
dir |
Default Value |
build |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
The default build directory is in the local ‘./build’ where SC was executed. The ‘builddir’ parameter can be used to set an alternate compilation directory path.
1.4.11.4. cfg#
Description |
Configuration manifest |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of filepaths to JSON formatted schema configuration manifests. The files are read in automatically when using the ‘sc’ command line application. In Python programs, JSON manifests can be merged into the current working manifest using the read_manifest() method.
1.4.11.5. clean#
Description |
Clean up after run |
Type |
bool |
Default Value |
False |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Clean up all intermediate and non essential files at the end of a task, leaving the following:
log file
replay.sh
inputs/
outputs/
reports/
autogenerated manifests
any files generated by schema-specified regexes
files specified by
['tool', <tool>, 'task', <task>, 'keep']
1.4.11.6. cmdfile#
Description |
Design compilation command file |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Read the specified file, and act as if all text inside it was specified as command line parameters. Supported by most verilog simulators including Icarus and Verilator. The format of the file is not strongly standardized. Support for comments and environment variables within the file varies and depends on the tool used. SC simply passes on the filepath to the tool executable.
1.4.11.7. continue#
Description |
Implementation continue-on-error |
Type |
bool |
Per step/index |
optional |
Default Value |
False |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Attempt to continue even when errors are encountered in the SC implementation. If errors are encountered, execution will halt before a run.
1.4.11.8. copyall#
Description |
Copy all inputs to build directory |
Type |
bool |
Default Value |
False |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Specifies that all used files should be copied into the build directory, overriding the per schema entry copy settings.
1.4.11.9. credentials#
Description |
User credentials file |
Type |
file |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Filepath to credentials used for remote processing. If the credentials parameter is empty, the remote processing client program tries to access the “.sc/credentials” file in the user’s home directory. The file supports the following fields:
address=<server address>
port=<server port> (optional)
username=<user id> (optional)
password=<password / key used for authentication> (optional)
1.4.11.10. define#
Description |
Design pre-processor symbol |
Type |
[str] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Symbol definition for source preprocessor.
1.4.11.11. dir#
Description |
Custom directories |
Type |
[dir] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of named directories specified. Certain tools and reference flows require special parameters, this parameter should only be used for specifying directories that are not directly supported by the schema.
1.4.11.12. entrypoint#
Description |
Program entry point |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Alternative entrypoint for compilation and simulation. The default entry point is ‘design’.
1.4.11.13. env#
Description |
Environment variables |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Certain tools and reference flows require global environment variables to be set. These variables can be managed externally or specified through the env variable.
1.4.11.14. file#
Description |
Custom files |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of named files specified. Certain tools and reference flows require special parameters, this parameter should only be used for specifying files that are not directly supported by the schema.
1.4.11.15. flow#
Description |
Flow target |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Sets the flow for the current run. The flow name must match up with a ‘flow’ in the flowgraph
1.4.11.16. flowcontinue#
Description |
Flow continue-on-error |
Type |
bool |
Per step/index |
optional |
Default Value |
False |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Continue executing flow after a tool logs errors. The default behavior is to quit executing the flow if a task ends and the errors metric is greater than 0. Note that the flow will always cease executing if the tool returns a nonzero status code.
1.4.11.17. frontend#
Description |
Compilation frontend |
Type |
str |
Default Value |
verilog |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Specifies the frontend that flows should use for importing and processing source files. Default option is ‘verilog’, also supports ‘systemverilog’ and ‘chisel’. When using the Python API, this parameter must be configured before calling load_target().
1.4.11.18. hash#
Description |
Enable file hashing |
Type |
bool |
Default Value |
False |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Enables hashing of all inputs and outputs during compilation. The hash values are stored in the hashvalue field of the individual parameters.
1.4.11.19. idir#
Description |
Design search paths |
Type |
[dir] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Search paths to look for files included in the design using
the `include
statement.
1.4.11.20. indexlist#
Description |
Compilation index list |
Type |
[str] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of indices to execute. The default is to execute all indices for each step of a run.
1.4.11.21. jobincr#
Description |
Autoincrement jobname |
Type |
bool |
Default Value |
False |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Forces an auto-update of the jobname parameter if a directory matching the jobname is found in the build directory. If the jobname does not include a trailing digit, then the number ‘1’ is added to the jobname before updating the jobname parameter.
1.4.11.22. jobinput#
Description |
Input job name |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Specifies jobname inputs for the current run() on a per step and per index basis. During execution, the default behavior is to copy inputs from the current job.
1.4.11.23. jobname#
Description |
Job name |
Type |
str |
Default Value |
job0 |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Jobname during invocation of run(). The jobname combined with a defined director structure (<dir>/<design>/<jobname>/<step>/<index>) enables multiple levels of transparent job, step, and index introspection.
1.4.11.24. libext#
Description |
Design file extensions |
Type |
[str] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of file extensions that should be used for finding modules. For example, if -y is specified as ./lib”, and ‘.v’ is specified as libext then the files ./lib/*.v “, will be searched for module matches.
1.4.11.25. loglevel#
Description |
Logging level |
Type |
enum |
Per step/index |
optional |
Allowed Values |
|
Default Value |
INFO |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Provides explicit control over the level of debug logging printed. Valid entries include INFO, DEBUG, WARNING, ERROR.
1.4.11.26. metricoff#
Description |
Metric summary filter |
Type |
[str] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of metrics to suppress when printing out the run summary.
1.4.11.27. mode#
Description |
Compilation mode |
Type |
enum |
Allowed Values |
|
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Sets the operating mode of the compiler. Valid modes are: asic: RTL to GDS ASIC compilation fpga: RTL to bitstream FPGA compilation sim: simulation to verify design and compilation
1.4.11.28. nice#
Description |
Tool execution scheduling priority |
Type |
int |
Per step/index |
optional |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Sets the type of execution priority of each individual flowgraph steps. If the parameter is undefined, nice will not be used. For more information see Unix ‘nice’.
1.4.11.29. nodisplay#
Description |
Headless execution |
Type |
bool |
Default Value |
False |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
The ‘-nodisplay’ flag prevents SiliconCompiler from opening GUI windows such as the final metrics report.
1.4.11.30. novercheck#
Description |
Disable version checking |
Type |
bool |
Per step/index |
optional |
Default Value |
False |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Disables strict version checking on all invoked tools if True. The list of supported version numbers is defined in the ‘version’ parameter in the ‘tool’ dictionary for each tool.
1.4.11.31. optmode#
Description |
Optimization mode |
Type |
str |
Per step/index |
optional |
Default Value |
O0 |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
The compiler has modes to prioritize run time and ppa. Modes include.
(O0) = Exploration mode for debugging setup (O1) = Higher effort and better PPA than O0 (O2) = Higher effort and better PPA than O1 (O3) = Signoff quality. Better PPA and higher run times than O2 (O4-O98) = Reserved (compiler/target dependent) (O99) = Experimental highest possible effort, may be unstable
1.4.11.32. param#
Description |
Design parameter |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Sets a top verilog level design module parameter. The value is limited to basic data literals. The parameter override is passed into tools such as Verilator and Yosys. The parameters support Verilog integer literals (64’h4, 2’b0, 4) and strings. Name of the top level module to compile.
1.4.11.33. pdk#
Description |
PDK target |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Target PDK used during compilation.
1.4.11.34. quiet#
Description |
Quiet execution |
Type |
bool |
Per step/index |
optional |
Default Value |
False |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
The -quiet option forces all steps to print to a log file. This can be useful with Modern EDA tools which print significant content to the screen.
1.4.11.35. registry#
Description |
Option: package registry |
Type |
[dir] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of Silicon Unified Packager (SUP) registry directories. Directories can be local file system folders or publicly available registries served up over http. The naming convention for registry packages is: <name>/<name>-<version>.json(.<gz>)?
1.4.11.36. relax#
Description |
Relax design checking |
Type |
bool |
Default Value |
False |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Global option specifying that tools should be lenient and suppress warnings that may or may not indicate real design issues. Extent of leniency is tool/task specific.
1.4.11.37. remote#
Description |
Enable remote processing |
Type |
bool |
Default Value |
False |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Sends job for remote processing if set to true. The remote option requires a credentials file to be placed in the home directory. Fore more information, see the credentials parameter.
1.4.11.38. resume#
Description |
Resume build |
Type |
bool |
Default Value |
False |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
If results exist for current job, then don’t re-run any steps that had at least one index run successfully. Useful for debugging a flow that failed partway through.
1.4.11.39. scheduler#
1.4.11.39.1. cores#
Description |
Option: Scheduler core constraint |
Type |
int |
Per step/index |
optional |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Specifies the number CPU cores required to run the job. For the slurm scheduler, this translates to the ‘-c’ switch. For more information, see the job scheduler documentation
1.4.11.39.2. defer#
Description |
Option: Scheduler start time |
Type |
str |
Per step/index |
optional |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Defer initiation of job until the specified time. The parameter is pass through string for remote job scheduler such as slurm. For more information about the exact format specification, see the job scheduler documentation. Examples of valid slurm specific values include: now+1hour, 16:00, 010-01-20T12:34:00. For more information, see the job scheduler documentation.
1.4.11.39.3. memory#
Description |
Option: Scheduler memory constraint |
Type |
int |
Per step/index |
optional |
Unit |
MB |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Specifies the amount of memory required to run the job, specified in MB. For the slurm scheduler, this translates to the ‘–mem’ switch. For more information, see the job scheduler documentation
1.4.11.39.4. msgcontact#
Description |
Option: Message contact |
Type |
[str] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of email addresses to message on a ‘msgevent’. Support for email messages relies on job scheduler daemon support. For more information, see the job scheduler documentation.
1.4.11.39.5. msgevent#
Description |
Option: Message event trigger |
Type |
str |
Per step/index |
optional |
Default Value |
NONE |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Directs job scheduler to send a message to the user when certain events occur during a task. Supported data types for SLURM include NONE, BEGIN, END, FAIL, ALL, TIME_LIMIT. For a list of supported event types, see the job scheduler documentation. For more information, see the job scheduler documentation.
1.4.11.39.6. name#
Description |
Option: Scheduler platform |
Type |
enum |
Per step/index |
optional |
Allowed Values |
|
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Sets the type of job scheduler to be used for each individual flowgraph steps. If the parameter is undefined, the steps are executed on the same machine that the SC was launched on. If ‘slurm’ is used, the host running the ‘sc’ command must be running a ‘slurmctld’ daemon managing a Slurm cluster. Additionally, the build directory (‘-dir’) must be located in shared storage which can be accessed by all hosts in the cluster.
1.4.11.39.7. options#
Description |
Option: Scheduler arguments |
Type |
[str] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Advanced/export options passed through unchanged to the job scheduler as-is. (The user specified options must be compatible with the rest of the scheduler parameters entered.(memory etc). For more information, see the job scheduler documentation.
1.4.11.39.8. queue#
Description |
Option: Scheduler queue |
Type |
str |
Per step/index |
optional |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Send the job to the specified queue. With slurm, this translates to ‘partition’. The queue name must match the name of an existing job scheduler queue. For more information, see the job scheduler documentation
1.4.11.40. scpath#
Description |
Search path |
Type |
[dir] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Specifies python modules paths for target import.
1.4.11.41. show#
Description |
Show layout |
Type |
bool |
Default Value |
False |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Specifies that the final hardware layout should be shown after the compilation has been completed. The final layout and tool used to display the layout is flow dependent.
1.4.11.42. showtool#
Description |
Select data display tool |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Selects the tool to use by the show function for displaying the specified filetype.
1.4.11.43. skipall#
Description |
Skip all tasks |
Type |
bool |
Default Value |
False |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Skips the execution of all tools in run(), enabling a quick check of tool and setup without having to run through each step of a flow to completion.
1.4.11.44. skipcheck#
Description |
Skip manifest check |
Type |
bool |
Default Value |
False |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Bypasses the strict runtime manifest check. Can be used for accelerating initial bringup of tool/flow/pdk/libs targets. The flag should not be used for production compilation.
1.4.11.45. stackup#
Description |
Stackup target |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Target stackup used during compilation. The stackup is required parameter for PDKs with multiple metal stackups.
1.4.11.46. steplist#
Description |
Compilation step list |
Type |
[str] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of steps to execute. The default is to execute all steps defined in the flow graph.
1.4.11.47. strict#
Description |
Option: Strict checking |
Type |
bool |
Default Value |
False |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Enable additional strict checking in the SC Python API. When this parameter is set to True, users must provide step and index keyword arguments when reading from parameters with the pernode field set to ‘optional’.
1.4.11.48. target#
Description |
Compilation target |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Sets a target module to be used for compilation. The target module must set up all parameters needed. The target module may load multiple flows and libraries.
1.4.11.49. timeout#
Description |
Option: Timeout value |
Type |
float |
Unit |
s |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Timeout value in seconds. The timeout value is compared against the wall time tracked by the SC runtime to determine if an operation should continue. The timeout value is also used by the jobscheduler to automatically kill jobs.
1.4.11.50. trace#
Description |
Enable debug traces |
Type |
bool |
Per step/index |
optional |
Default Value |
False |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Enables debug tracing during compilation and/or runtime.
1.4.11.51. track#
Description |
Enable provenance tracking |
Type |
bool |
Per step/index |
optional |
Default Value |
False |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Turns on tracking of all ‘record’ parameters during each task, otherwise only tool and runtime information will be recorded. Tracking will result in potentially sensitive data being recorded in the manifest so only turn on this feature if you have control of the final manifest.
1.4.11.52. uselambda#
Description |
Use lambda scaling |
Type |
bool |
Default Value |
False |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Turns on lambda scaling of all dimensional constraints. (new value = value * [‘pdk’, ‘lambda’]).
1.4.11.53. var#
Description |
Custom variables |
Type |
[str] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of key/value strings specified. Certain tools and reference flows require special parameters, this should only be used for specifying variables that are not directly supported by the SiliconCompiler schema.
1.4.11.54. vlib#
Description |
Design libraries |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of library files to be read in. Modules found in the libraries are not interpreted as root modules.
1.4.11.55. ydir#
Description |
Design module search paths |
Type |
[dir] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Search paths to look for verilog modules found in the the source list. The import engine will look for modules inside files with the specified +libext+ param suffix.
1.4.12. output#
Description |
Output: files |
Type |
[file] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of files of type (‘filetype’) grouped as a named set (‘fileset’). The exact names of filetypes and filesets must match the string names used by the tasks called during flowgraph execution. By convention, the fileset names should match the the name of the flowgraph being executed.
1.4.13. package#
1.4.13.2. dependency#
Description |
Package: version dependencies |
Type |
[str] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Package dependencies specified as a key value pair. Versions shall follow the semver standard.
1.4.13.3. depgraph#
Description |
Package: dependency list |
Type |
[(str,str)] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of Silicon Unified Packager (SUP) dependencies used by the design specified on a per module basis a list of string tuples (‘name’, ‘version’).
1.4.13.4. description#
Description |
Package: description |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Package short one line description for package managers and summary reports.
1.4.13.5. doc#
1.4.13.5.1. datasheet#
Description |
Package: datasheet document |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Package list of datasheet documents.
1.4.13.5.2. homepage#
Description |
Package: documentation homepage |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Package documentation homepage. Filepath to design docs homepage. Complex designs can can include a long non standard list of documents dependent. A single html entry point can be used to present an organized documentation dashboard to the designer.
1.4.13.5.3. quickstart#
Description |
Package: quickstart document |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Package list of quickstart documents.
1.4.13.5.4. reference#
Description |
Package: reference document |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Package list of reference documents.
1.4.13.5.5. releasenotes#
Description |
Package: releasenotes document |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Package list of releasenotes documents.
1.4.13.5.6. signoff#
Description |
Package: signoff document |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Package list of signoff documents.
1.4.13.5.7. testplan#
Description |
Package: testplan document |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Package list of testplan documents.
1.4.13.5.8. tutorial#
Description |
Package: tutorial document |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Package list of tutorial documents.
1.4.13.5.9. userguide#
Description |
Package: userguide document |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Package list of userguide documents.
1.4.13.6. homepage#
Description |
Package: project homepage |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Package homepage.
1.4.13.7. keyword#
Description |
Package: keyword |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Package keyword(s) used to characterize package.
1.4.13.8. license#
Description |
Package: license identifiers |
Type |
[str] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Package list of SPDX license identifiers.
1.4.13.9. licensefile#
Description |
Package: license files |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Package list of license files for to be applied in cases when a SPDX identifier is not available. (eg. proprietary licenses).list of SPDX license identifiers.
1.4.13.10. location#
Description |
Package: location |
Type |
[str] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Package country of origin specified as standardized international country codes. The field can be left blank if the location is unknown or global.
1.4.13.11. name#
Description |
Package: name |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Package name.
1.4.13.12. organization#
Description |
Package: sponsoring organization |
Type |
[str] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Package sponsoring organization. The field can be left blank if not applicable.
1.4.13.13. publickey#
Description |
Package: public key |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Package public project key.
1.4.13.14. repo#
Description |
Package: code repository |
Type |
[str] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Package IP address to source code repository.
1.4.13.15. target#
Description |
Package: qualified targets |
Type |
[str] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Package list of qualified compilation targets.
1.4.13.16. version#
Description |
Package: version |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Package version. Can be a branch, tag, commit hash, or a semver compatible version.
1.4.14. pdk#
1.4.14.1. aprtech#
Description |
PDK: APR technology files |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Technology file containing setup information needed to enable DRC clean APR for the specified stackup, libarch, and format. The ‘libarch’ specifies the library architecture (e.g. library height). For example a PDK with support for 9 and 12 track libraries might have ‘libarchs’ called 9t and 12t. The standard filetype for specifying place and route design rules for a process node is through a ‘lef’ format technology file. The ‘filetype’ used in the aprtech is used by the tool specific APR TCL scripts to set up the technology parameters. Some tools may require additional files beyond the tech.lef file. Examples of extra file types include antenna, tracks, tapcell, viarules, em.
1.4.14.2. d0#
Description |
PDK: process defect density |
Type |
float |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Process defect density (d0) expressed as random defects per cm^2. The value is used to calculate yield losses as a function of area, which in turn affects the chip full factory costs. Two yield models are supported: Poisson (default), and Murphy. The Poisson based yield is calculated as dy = exp(-area * d0/100). The Murphy based yield is calculated as dy = ((1-exp(-area * d0/100))/(area * d0/100))^2.
1.4.14.3. density#
Description |
PDK: transistor density |
Type |
float |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Approximate logic density expressed as # transistors / mm^2 calculated as: 0.6 * (Nand2 Transistor Count) / (Nand2 Cell Area) + 0.4 * (Register Transistor Count) / (Register Cell Area) The value is specified for a fixed standard cell library within a node and will differ depending on the library vendor, library track height and library type. The value can be used to to normalize the effective density reported for the design across different process nodes. The value can be derived from a variety of sources, including the PDK DRM, library LEFs, conference presentations, and public analysis.
1.4.14.4. devmodel#
Description |
PDK: device models |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of filepaths to PDK device models for different simulation purposes and for different tools. Examples of device model types include spice, aging, electromigration, radiation. An example of a ‘spice’ tool is xyce. Device models are specified on a per metal stack basis. Process nodes with a single device model across all stacks will have a unique parameter record per metal stack pointing to the same device model file. Device types and tools are dynamic entries that depend on the tool setup and device technology. Pseudo-standardized device types include spice, em (electromigration), and aging.
1.4.14.5. directory#
Description |
PDK: special directory |
Type |
[dir] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of named directories specified on a per tool and per stackup basis. The parameter should only be used for specifying files that are not directly supported by the SiliconCompiler PDK schema.
1.4.14.6. display#
Description |
PDK: display file |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Display configuration files describing colors and pattern schemes for all layers in the PDK. The display configuration file is entered on a stackup and tool basis.
1.4.14.7. doc#
1.4.14.7.1. datasheet#
Description |
PDK: datasheet |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Filepath to datasheet document.
1.4.14.7.2. homepage#
Description |
PDK: documentation homepage |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Filepath to PDK docs homepage. Modern PDKs can include tens or hundreds of individual documents. A single html entry point can be used to present an organized documentation dashboard to the designer.
1.4.14.7.3. install#
Description |
PDK: install |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Filepath to install document.
1.4.14.7.4. quickstart#
Description |
PDK: quickstart |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Filepath to quickstart document.
1.4.14.7.5. reference#
Description |
PDK: reference |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Filepath to reference document.
1.4.14.7.6. releasenotes#
Description |
PDK: releasenotes |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Filepath to releasenotes document.
1.4.14.7.7. tutorial#
Description |
PDK: tutorial |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Filepath to tutorial document.
1.4.14.7.8. userguide#
Description |
PDK: userguide |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Filepath to userguide document.
1.4.14.8. drc#
1.4.14.8.1. runset#
Description |
PDK: DRC runset files |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Runset files for DRC task.
1.4.14.8.2. waiver#
Description |
PDK: DRC waiver files |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Waiver files for DRC task.
1.4.14.9. edgemargin#
Description |
PDK: wafer edge keep-out margin |
Type |
float |
Unit |
mm |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Keep-out distance/margin from the edge inwards. The edge is prone to chipping and need special treatment that preclude placement of designs in this area. The edge value is used to calculate effective units per wafer/panel and full factory cost.
1.4.14.10. erc#
1.4.14.10.1. runset#
Description |
PDK: ERC runset files |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Runset files for ERC task.
1.4.14.10.2. waiver#
Description |
PDK: ERC waiver files |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Waiver files for ERC task.
1.4.14.11. file#
Description |
PDK: special file |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of named files specified on a per tool and per stackup basis. The parameter should only be used for specifying files that are not directly supported by the SiliconCompiler PDK schema.
1.4.14.12. fill#
1.4.14.12.1. runset#
Description |
PDK: FILL runset files |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Runset files for FILL task.
1.4.14.12.2. waiver#
Description |
PDK: FILL waiver files |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Waiver files for FILL task.
1.4.14.13. foundry#
Description |
PDK: foundry name |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Name of foundry corporation. Examples include intel, gf, tsmc, samsung, skywater, virtual. The ‘virtual’ keyword is reserved for simulated non-manufacturable processes.
1.4.14.14. hscribe#
Description |
PDK: horizontal scribe line width |
Type |
float |
Unit |
mm |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Width of the horizontal scribe line used during die separation. The process is generally completed using a mechanical saw, but can be done through combinations of mechanical saws, lasers, wafer thinning, and chemical etching in more advanced technologies. The value is used to calculate effective dies per wafer and full factory cost.
1.4.14.15. lambda#
Description |
PDK: Lambda value |
Type |
float |
Default Value |
1e-06 |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Elementary distance unit used for scaling user specified physical schema parameters such as layout constraints.
1.4.14.16. layermap#
Description |
PDK: layer map file |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Files describing input/output mapping for streaming layout data from one format to another. A foundry PDK will include an official layer list for all user entered and generated layers supported in the GDS accepted by the foundry for processing, but there is no standardized layer definition format that can be read and written by all EDA tools. To ensure mask layer matching, key/value type mapping files are needed to convert EDA databases to/from GDS and to convert between different types of EDA databases. Layer maps are specified on a per metal stackup basis. The ‘src’ and ‘dst’ can be names of SC supported tools or file formats (like ‘gds’).
1.4.14.17. lvs#
1.4.14.17.1. runset#
Description |
PDK: LVS runset files |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Runset files for LVS task.
1.4.14.17.2. waiver#
Description |
PDK: LVS waiver files |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Waiver files for LVS task.
1.4.14.18. maxlayer#
Description |
PDK: maximum routing layer |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Maximum metal layer to be used for automated place and route specified on a per stackup basis.
1.4.14.19. minlayer#
Description |
PDK: minimum routing layer |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Minimum metal layer to be used for automated place and route specified on a per stackup basis.
1.4.14.20. node#
Description |
PDK: process node |
Type |
float |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Approximate relative minimum dimension of the process target specified in nanometers. The parameter is required for flows and tools that leverage the value to drive technology dependent synthesis and APR optimization. Node examples include 180, 130, 90, 65, 45, 32, 22 14, 10, 7, 5, 3.
1.4.14.21. panelsize#
Description |
PDK: panel size |
Type |
[(float,float)] |
Unit |
mm |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of panel sizes supported in the manufacturing process.
1.4.14.22. pexmodel#
Description |
PDK: parasitic TCAD models |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of filepaths to PDK wire TCAD models used during automated synthesis, APR, and signoff verification. Pexmodels are specified on a per metal stack basis. Corner values depend on the process being used, but typically include nomenclature such as min, max, nominal. For exact names, refer to the DRM. Pexmodels are generally not standardized and specified on a per tool basis. An example of pexmodel type is ‘fastcap’.
1.4.14.23. stackup#
Description |
PDK: metal stackups |
Type |
[str] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of all metal stackups offered in the process node. Older process nodes may only offer a single metal stackup, while advanced nodes offer a large but finite list of metal stacks with varying combinations of metal line pitches and thicknesses. Stackup naming is unique to a foundry, but is generally a long string or code. For example, a 10 metal stackup with two 1x wide, four 2x wide, and 4x wide metals, might be identified as 2MA4MB2MC, where MA, MB, and MC denote wiring layers with different properties (thickness, width, space). Each stackup will come with its own set of routing technology files and parasitic models specified in the pdk_pexmodel and pdk_aprtech parameters.
1.4.14.24. thickness#
Description |
PDK: unit thickness |
Type |
float |
Unit |
mm |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Thickness of a manufactured unit specified on a per stackup.
1.4.14.25. unitcost#
Description |
PDK: unit cost |
Type |
float |
Unit |
USD |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Raw cost per unit shipped by the factory, not accounting for yield loss.
1.4.14.26. var#
Description |
PDK: special variable |
Type |
[str] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of key/value strings specified on a per tool and per stackup basis. The parameter should only be used for specifying variables that are not directly supported by the SiliconCompiler PDK schema.
1.4.14.27. version#
Description |
PDK: version |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Alphanumeric string specifying the version of the PDK. Verification of correct PDK and IP versions is a hard ASIC tapeout require in all commercial foundries. The version number can be used for design manifest tracking and tapeout checklists.
1.4.14.28. vscribe#
Description |
PDK: vertical scribe line width |
Type |
float |
Unit |
mm |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Width of the vertical scribe line used during die separation. The process is generally completed using a mechanical saw, but can be done through combinations of mechanical saws, lasers, wafer thinning, and chemical etching in more advanced technologies. The value is used to calculate effective dies per wafer and full factory cost.
1.4.14.29. wafersize#
Description |
PDK: wafer size |
Type |
float |
Unit |
mm |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Wafer diameter used in wafer based manufacturing process. The standard diameter for leading edge manufacturing is 300mm. For older process technologies and specialty fabs, smaller diameters such as 200, 100, 125, 100 are common. The value is used to calculate dies per wafer and full factory chip costs.
1.4.15. record#
1.4.15.1. arch#
Description |
Record: hardware architecture |
Type |
str |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Record tracking the hardware architecture per step and index basis. (x86_64, rv64imafdc)
1.4.15.2. distro#
Description |
Record: distro name |
Type |
str |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Record tracking the distro name per step and index basis. (ubuntu, redhat, centos)
1.4.15.3. endtime#
Description |
Record: end time |
Type |
str |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Record tracking the end time per step and index basis. Time is reported in the ISO 8601 format YYYY-MM-DD HR:MIN:SEC
1.4.15.4. ipaddr#
Description |
Record: IP address |
Type |
str |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Record tracking the IP address per step and index basis.
1.4.15.5. kernelversion#
Description |
Record: O/S kernel version |
Type |
str |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Record tracking the O/S kernel version per step and index basis. Used for platforms that support a distinction between os kernels and os distributions.
1.4.15.6. macaddr#
Description |
Record: MAC address |
Type |
str |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Record tracking the MAC address per step and index basis.
1.4.15.7. machine#
Description |
Record: machine name |
Type |
str |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Record tracking the machine name per step and index basis. (myhost, localhost, …
1.4.15.8. osversion#
Description |
Record: O/S version |
Type |
str |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Record tracking the O/S version per step and index basis. Since there is not standard version system for operating systems, extracting information from is platform dependent. For Linux based operating systems, the ‘osversion’ is the version of the distro.
1.4.15.9. platform#
Description |
Record: platform name |
Type |
str |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Record tracking the platform name per step and index basis. (linux, windows, freebsd)
1.4.15.10. publickey#
Description |
Record: public key |
Type |
str |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Record tracking the public key per step and index basis.
1.4.15.11. region#
Description |
Record: cloud region |
Type |
str |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Record tracking the cloud region per step and index basis. Recommended naming methodology:
local: node is the local machine
onprem: node in on-premises IT infrastructure
public: generic public cloud
govcloud: generic US government cloud
<region>: cloud and entity specific region string name
1.4.15.12. remoteid#
Description |
Record: remote job ID |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Record tracking the job ID for a remote run.
1.4.15.13. scversion#
Description |
Record: software version |
Type |
str |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Record tracking the software version per step and index basis. Version number for the SiliconCompiler software.
1.4.15.14. starttime#
Description |
Record: start time |
Type |
str |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Record tracking the start time per step and index basis. Time is reported in the ISO 8601 format YYYY-MM-DD HR:MIN:SEC
1.4.15.15. toolargs#
Description |
Record: tool CLI arguments |
Type |
str |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Record tracking the tool CLI arguments per step and index basis. Arguments passed to tool via CLI.
1.4.15.16. toolpath#
Description |
Record: tool path |
Type |
str |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Record tracking the tool path per step and index basis. Full path to tool executable used to run this task.
1.4.15.17. toolversion#
Description |
Record: tool version |
Type |
str |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Record tracking the tool version per step and index basis. The tool version captured corresponds to the ‘tool’ parameter within the ‘tool’ dictionary.
1.4.15.18. userid#
Description |
Record: userid |
Type |
str |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Record tracking the userid per step and index basis.
1.4.16. schemaversion#
Description |
Schema version number |
Type |
str |
Default Value |
0.36.0 |
CLI Switch |
|
Example (API) |
|
SiliconCompiler schema version number.
1.4.17. tool#
1.4.17.1. exe#
Description |
Tool: executable name |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Tool executable name.
1.4.17.2. format#
Description |
Tool: file format |
Type |
enum |
Allowed Values |
|
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
File format for tool manifest handoff.
1.4.17.3. licenseserver#
Description |
Tool: license servers |
Type |
[str] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Defines a set of tool specific environment variables used by the executable that depend on license key servers to control access. For multiple servers, separate each server by a ‘colon’. The named license variable are read at runtime (run()) and the environment variables are set.
1.4.17.4. path#
Description |
Tool: executable path |
Type |
dir |
Per step/index |
optional |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
File system path to tool executable. The path is prepended to the system PATH environment variable for batch and interactive runs. The path parameter can be left blank if the ‘exe’ is already in the environment search path.
1.4.17.5. sbom#
Description |
Tool: software BOM |
Type |
[file] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Paths to software bill of material (SBOM) document file of the tool specified on a per version basis. The SBOM includes critical package information about the tool including the list of included components, licenses, and copyright. The SBOM file is generally provided as in a a standardized open data format such as SPDX.
1.4.17.6. task#
1.4.17.6.1. continue#
Description |
Task: continue option |
Type |
bool |
Per step/index |
optional |
Default Value |
False |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Directs flow to continue even if errors are encountered during task. The default behavior is for SC to exit on error.
1.4.17.6.2. dir#
Description |
Task: setup directories |
Type |
[dir] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Paths to user supplied directories mapped to keys. Keys must match what’s expected by the task/reference script consuming the directory.
1.4.17.6.3. env#
Description |
Task: environment variables |
Type |
str |
Per step/index |
optional |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Environment variables to set for individual tasks. Keys and values should be set in accordance with the task’s documentation. Most tasks do not require extra environment variables to function.
1.4.17.6.4. file#
Description |
Task: setup files |
Type |
[file] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Paths to user supplied files mapped to keys. Keys and filetypes must match what’s expected by the task/reference script consuming the file.
1.4.17.6.5. input#
Description |
Task: inputs |
Type |
[file] |
Per step/index |
required |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of data files to be copied from previous flowgraph steps ‘output’ directory. The list of steps to copy files from is defined by the list defined by the dictionary key [‘flowgraph’, step, index, ‘input’]. All files must be available for flow to continue. If a file is missing, the program exists on an error.
1.4.17.6.6. keep#
Description |
Task: files to keep |
Type |
[str] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Names of additional files and directories in the work directory that
should be kept when ['option', 'clean']
is true.
1.4.17.6.7. option#
Description |
Task: executable options |
Type |
[str] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of command line options for the task executable, specified on a per task and per step basis. Options must not include spaces. For multiple argument options, each option is a separate list element.
1.4.17.6.8. output#
Description |
Task: outputs |
Type |
[file] |
Per step/index |
required |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of data files written to the ‘output’ directory of the tool/task/step/index used in the keypath. All files must be available for flow to continue. If a file is missing, the program exists on an error.
1.4.17.6.9. postscript#
Description |
Task: post-step script |
Type |
[file] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Path to a user supplied script to execute after the main execution stage of the step but before the design is saved. Exact entry point depends on the step and main script being executed. An example of a postscript entry point would be immediately after global placement.
1.4.17.6.10. prescript#
Description |
Task: pre-step script |
Type |
[file] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Path to a user supplied script to execute after reading in the design but before the main execution stage of the step. Exact entry point depends on the step and main script being executed. An example of a prescript entry point would be immediately before global placement.
1.4.17.6.11. refdir#
Description |
Task: script directory |
Type |
[dir] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Path to directories containing reference flow scripts, specified on a per step and index basis.
1.4.17.6.12. regex#
Description |
Task: regex filter |
Type |
[str] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
A list of piped together grep commands. Each entry represents a set
of command line arguments for grep including the regex pattern to
match. Starting with the first list entry, each grep output is piped
into the following grep command in the list. Supported grep options
include -v
and -e
. Patterns starting with “-” should be
directly preceded by the -e
option. The following example
illustrates the concept.
UNIX grep:
$ grep WARNING place.log | grep -v "bbox" > place.warnings
SiliconCompiler:
chip.set('task', 'openroad', 'regex', 'place', '0', 'warnings',
["WARNING", "-v bbox"])
The “errors” and “warnings” suffixes are special cases. When set,
the number of matches found for these regexes will be added to the
errors and warnings metrics for the task, respectively. This will
also cause the logfile to be added to the ['tool', <tool>, 'task', <task>, 'report', ...]
parameter for those metrics, if not already present.
1.4.17.6.13. report#
Description |
Task: reports |
Type |
[file] |
Per step/index |
required |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of report files associated with a specific ‘metric’. The file path specified is relative to the run directory of the current task.
1.4.17.6.14. require#
Description |
Task: parameter requirements |
Type |
[str] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of keypaths to required task parameters. The list is used by check_manifest() to verify that all parameters have been set up before step execution begins.
1.4.17.6.15. script#
Description |
Task: entry script |
Type |
[file] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Path to the entry script called by the executable specified on a per task and per step basis.
1.4.17.6.16. stderr#
1.4.17.6.16.1. destination#
Description |
Task: Destination for stderr |
Type |
str |
Per step/index |
optional |
Default Value |
log |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Defines where to direct the output generated over stderr. Supported options are: none: the stream generated to STDERR is ignored log: the generated stream is stored in <step>.<suffix>; if not in quiet mode, it is additionally dumped to the display output: the generated stream is stored in outputs/<design>.<suffix>
1.4.17.6.16.2. suffix#
Description |
Task: File suffix for redirected stderr |
Type |
str |
Per step/index |
optional |
Default Value |
log |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Specifies the file extension for the content redirected from stderr.
1.4.17.6.17. stdout#
1.4.17.6.17.1. destination#
Description |
Task: Destination for stdout |
Type |
str |
Per step/index |
optional |
Default Value |
log |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Defines where to direct the output generated over stdout. Supported options are: none: the stream generated to STDOUT is ignored log: the generated stream is stored in <step>.<suffix>; if not in quiet mode, it is additionally dumped to the display output: the generated stream is stored in outputs/<design>.<suffix>
1.4.17.6.17.2. suffix#
Description |
Task: File suffix for redirected stdout |
Type |
str |
Per step/index |
optional |
Default Value |
log |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Specifies the file extension for the content redirected from stdout.
1.4.17.6.18. threads#
Description |
Task: thread parallelism |
Type |
int |
Per step/index |
optional |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Thread parallelism to use for execution specified on a per task and per step basis. If not specified, SC queries the operating system and sets the threads based on the maximum thread count supported by the hardware.
1.4.17.6.19. var#
Description |
Task: script variables |
Type |
[str] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Task script variables specified as key value pairs. Variable names and value types must match the name and type of task and reference script consuming the variable.
1.4.17.6.20. warningoff#
Description |
Task: warning filter |
Type |
[str] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
A list of tool warnings for which printing should be suppressed. Generally this is done on a per design basis after review has determined that warning can be safely ignored The code for turning off warnings can be found in the specific task reference manual.
1.4.17.7. vendor#
Description |
Tool: vendor |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Name of the tool vendor. Parameter can be used to set vendor specific technology variables in the PDK and libraries. For open source projects, the project name should be used in place of vendor.
1.4.17.8. version#
Description |
Tool: version |
Type |
[str] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of acceptable versions of the tool executable to be used. Each entry in this list must be a version specifier as described by Python PEP-440. During task execution, the tool is called with the ‘vswitch’ to check the runtime executable version. If the version of the system executable is not allowed by any of the specifiers in ‘version’, then the job is halted pre-execution. For backwards compatibility, entries that do not conform to the standard will be interpreted as a version with an ‘==’ specifier. This check can be disabled by setting ‘novercheck’ to True.
1.4.17.9. vswitch#
Description |
Tool: executable version switch |
Type |
[str] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Command line switch to use with executable used to print out the version number. Common switches include -v, -version, –version. Some tools may require extra flags to run in batch mode.
1.4.18. unit#
1.4.18.1. capacitance#
Description |
Unit: capacitance |
Type |
str |
Default Value |
pf |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Units used for capacitance when not explicitly specified. Units are case insensitive (ie. pF == pf).
1.4.18.2. current#
Description |
Unit: current |
Type |
str |
Default Value |
mA |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Units used for current when not explicitly specified. Units are case insensitive (ie. pF == pf).
1.4.18.3. energy#
Description |
Unit: energy |
Type |
str |
Default Value |
pj |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Units used for energy when not explicitly specified. Units are case insensitive (ie. pF == pf).
1.4.18.4. inductance#
Description |
Unit: inductance |
Type |
str |
Default Value |
nh |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Units used for inductance when not explicitly specified. Units are case insensitive (ie. pF == pf).
1.4.18.5. length#
Description |
Unit: length |
Type |
str |
Default Value |
um |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Units used for length when not explicitly specified. Units are case insensitive (ie. pF == pf).
1.4.18.6. mass#
Description |
Unit: mass |
Type |
str |
Default Value |
g |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Units used for mass when not explicitly specified. Units are case insensitive (ie. pF == pf).
1.4.18.7. power#
Description |
Unit: power |
Type |
str |
Default Value |
mw |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Units used for power when not explicitly specified. Units are case insensitive (ie. pF == pf).
1.4.18.8. resistance#
Description |
Unit: resistance |
Type |
str |
Default Value |
ohm |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Units used for resistance when not explicitly specified. Units are case insensitive (ie. pF == pf).
1.4.18.9. temperature#
Description |
Unit: temperature |
Type |
str |
Default Value |
C |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Units used for temperature when not explicitly specified. Units are case insensitive (ie. pF == pf).
1.4.18.10. time#
Description |
Unit: time |
Type |
str |
Default Value |
ns |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Units used for time when not explicitly specified. Units are case insensitive (ie. pF == pf).
1.4.18.11. voltage#
Description |
Unit: voltage |
Type |
str |
Default Value |
mv |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Units used for voltage when not explicitly specified. Units are case insensitive (ie. pF == pf).
1.5. Nested Schemas#
The SC schema has two special top-level categories that store nested subsets of the schema rather than unique parameters.
1.5.1. history#
The “history” prefix stores configuration from past runs, indexed by jobname. Values are stored automatically at the end of run()
, and only parameters tagged with the ‘job’ scope are stored. This can be used to go back and inspect the results of old runs. As a shortcut for accessing these stored values, most of the schema access functions support an optional job
keyword arg. For example, the following line returns the number of errors from a synthesis step run as part of a job called “job0”:
chip.get('metric', 'error', job='job0', step='syn', index='0')
1.5.2. library#
The “library” prefix stores the schema parameters of library chip objects that have been imported into the current chip object, keyed by library name. These values are accessed directly using the schema access functions. For example, the following line returns the path to a LEF file associated with a library called “mylib”:
chip.find_files('library', 'mylib', 'output', stackup, 'lef')