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#
Boolean value dictating whether the parameter is required for a run.
- 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. 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.4. 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.5. 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.6. 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.7. 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.8. 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.9. 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.10. 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.11. 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. Commonly 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. 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.
1.4.4.2.2. partname#
Description |
Constraint: component part name |
Type |
str |
Per step/index |
optional |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Part name of the instance. The parameter is required for instances that are not contained within the design netlist (ie. physical only cells).
1.4.4.2.3. placement#
Description |
Constraint: component placement |
Type |
(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) tuple of
floats. The location refers to the distance from the substrate origin to
the anchor point of the placed component, defined by
the ['datasheet', 'package', <name>, 'anchor']
parameter.
1.4.4.2.4. rotation#
Description |
Constraint: component rotation |
Type |
enum |
Per step/index |
optional |
Allowed Values |
|
Default Value |
R0 |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Placement rotation of the component. Components are always placed such that the lower left corner of the cell is at the anchor point (0,0) after any orientation. The MZ type rotations are for 3D design and typically not supported by 2D layout systems like traditional ASIC tools. For graphical illustrations of the rotation types, see the SiliconCompiler documentation.
R0
: North orientation (no rotation)R90
: West orientation, rotate 90 deg counter clockwise (ccw)R180
: South orientation, rotate 180 deg counter ccwR270
: East orientation, rotate 180 deg counter ccwMX
,MY_R180
: Flip on x-axisMX_R90
,MY_R270
: Flip on x-axis and rotate 90 deg ccwMX_R180
,MY
: Flip on x-axis and rotate 180 deg ccwMX_R270
,MY_R90
: Flip on x-axis and rotate 270 deg ccwMZ
: Reverse component metal stackMZ_R90
: Reverse metal stack and rotate 90 deg ccwMZ_R180
: Reverse metal stack and rotate 180 deg ccwMZ_R270
: Reverse metal stack and rotate 270 deg ccwMZ_MX
,MZ_MY_R180
: Reverse metal stack and flip on x-axisMZ_MX_R90
,MZ_MY_R270
: Reverse metal stack, flip on x-axis, and rotate 90 deg ccwMZ_MX_R180
,MZ_MY
: Reverse metal stack, flip on x-axis, and rotate 180 deg ccwMZ_MX_R270
,MZ_MY_R90
: Reverse metal stack, flip on x-axis and rotate 270 deg ccw
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.
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.
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. 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. 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.
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) |
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) tuple of floats with respect to the lower left corner of the substrate. The location refers to the center of the pin. The ‘placement’ parameter is a goal/intent, not an exact specification. The layout system may adjust sizes to meet competing goals such as manufacturing design rules and grid placement guidelines.
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 ['asic', '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 ['pdk', <pdk>, 'pexmodel', ...]
.
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. analog#
1.4.5.1.1. arch#
Description |
Datasheet: analog architecture |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Analog component architecture.
1.4.5.1.2. channels#
Description |
Datasheet: analog parallel channels |
Type |
int |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Analog 8.
1.4.5.1.3. cmrr#
Description |
Datasheet: analog common mode rejection ratio |
Type |
(float,float,float) |
Unit |
dB |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Analog (70, 80, 90).
1.4.5.1.4. dnl#
Description |
Datasheet: analog differential nonlinearity |
Type |
(float,float,float) |
Unit |
LSB |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Analog (-1.0, 0.0, 1.0).
1.4.5.1.5. enob#
Description |
Datasheet: analog effective number of bits |
Type |
(float,float,float) |
Unit |
bits |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Analog (8, 9, 10).
1.4.5.1.6. features#
Description |
Datasheet: analog features |
Type |
[str] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of maker specified analog features.
1.4.5.1.7. gain#
Description |
Datasheet: analog gain |
Type |
(float,float,float) |
Unit |
dB |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Analog (11.4, 11.4, 11.4).
1.4.5.1.8. hd2#
Description |
Datasheet: analog 2nd order harmonic distortion |
Type |
(float,float,float) |
Unit |
dBc |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Analog (62, 64, 66).
1.4.5.1.9. hd3#
Description |
Datasheet: analog 3rd order harmonic distortion |
Type |
(float,float,float) |
Unit |
dBc |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Analog (62, 64, 66).
1.4.5.1.10. hd4#
Description |
Datasheet: analog 4th order harmonic distortion |
Type |
(float,float,float) |
Unit |
dBc |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Analog (62, 64, 66).
1.4.5.1.11. ib1db#
Description |
Datasheet: analog rf in band 1 dB compression point |
Type |
(float,float,float) |
Unit |
dBm |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Analog (-1, 1, 1).
1.4.5.1.12. iip3#
Description |
Datasheet: analog rf 3rd order input intercept point |
Type |
(float,float,float) |
Unit |
dBm |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Analog (3, 3, 3).
1.4.5.1.13. imd3#
Description |
Datasheet: analog 3rd order intermodulation distortion |
Type |
(float,float,float) |
Unit |
dBc |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Analog (82, 88, 98).
1.4.5.1.14. inl#
Description |
Datasheet: analog integral nonlinearity |
Type |
(float,float,float) |
Unit |
LSB |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Analog (-7, 0.0, 7).
1.4.5.1.15. noisefigure#
Description |
Datasheet: analog rf noise figure |
Type |
(float,float,float) |
Unit |
dB |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Analog (4.6, 4.6, 4.6).
1.4.5.1.16. nsd#
Description |
Datasheet: analog noise spectral density |
Type |
(float,float,float) |
Unit |
dBFS/Hz |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Analog (-158, -158, -158).
1.4.5.1.17. oob1db#
Description |
Datasheet: analog rf out of band 1 dB compression point |
Type |
(float,float,float) |
Unit |
dBm |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Analog (3, 3, 3).
1.4.5.1.18. phasenoise#
Description |
Datasheet: analog phase noise |
Type |
(float,float,float) |
Unit |
dBc/Hz |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Analog (-158, -158, -158).
1.4.5.1.19. pout#
Description |
Datasheet: analog output power |
Type |
(float,float,float) |
Unit |
dBm |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Analog (12.2, 12.2, 12.2).
1.4.5.1.20. pout2#
Description |
Datasheet: analog 2nd harmonic power |
Type |
(float,float,float) |
Unit |
dBm |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Analog (-14, -14, -14).
1.4.5.1.21. pout3#
Description |
Datasheet: analog 3rd harmonic power |
Type |
(float,float,float) |
Unit |
dBm |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Analog (-28, -28, -28).
1.4.5.1.22. psnr#
Description |
Datasheet: analog power supply noise rejection |
Type |
(float,float,float) |
Unit |
dB |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Analog (61, 61, 61).
1.4.5.1.23. resolution#
Description |
Datasheet: analog architecture resolution |
Type |
int |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Analog 8.
1.4.5.1.24. s11#
Description |
Datasheet: analog rf input return loss |
Type |
(float,float,float) |
Unit |
dB |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Analog (7, 7, 7).
1.4.5.1.25. s12#
Description |
Datasheet: analog rf reverse isolation |
Type |
(float,float,float) |
Unit |
dB |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Analog (-20, -20, -20).
1.4.5.1.26. s21#
Description |
Datasheet: analog rf gain |
Type |
(float,float,float) |
Unit |
dB |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Analog (10, 11, 12).
1.4.5.1.27. s22#
Description |
Datasheet: analog rf output return loss |
Type |
(float,float,float) |
Unit |
dB |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Analog (10, 10, 10).
1.4.5.1.28. samplerate#
Description |
Datasheet: analog sample rate |
Type |
(float,float,float) |
Unit |
Hz |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Analog (1000000000.0, 1000000000.0, 1000000000.0).
1.4.5.1.29. sfdr#
Description |
Datasheet: analog spurious-free dynamic range |
Type |
(float,float,float) |
Unit |
dBc |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Analog (82, 88, 98).
1.4.5.1.30. sinad#
Description |
Datasheet: analog signal to noise and distortion ratio |
Type |
(float,float,float) |
Unit |
dB |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Analog (71, 72, 73).
1.4.5.1.31. snr#
Description |
Datasheet: analog signal to noise ratio |
Type |
(float,float,float) |
Unit |
dB |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Analog (70, 72, 74).
1.4.5.1.32. thd#
Description |
Datasheet: analog total harmonic distortion |
Type |
(float,float,float) |
Unit |
dB |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Analog (82, 88, 98).
1.4.5.1.33. vgainerror#
Description |
Datasheet: analog gain error |
Type |
(float,float,float) |
Unit |
mV |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Analog (-1.0, 0.0, 1.0).
1.4.5.1.34. vofferror#
Description |
Datasheet: analog offset error |
Type |
(float,float,float) |
Unit |
mV |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Analog (-1.0, 0.0, 1.0).
1.4.5.2. description#
Description |
Datasheet: description |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Device description entered as free text.
1.4.5.3. doc#
Description |
Datasheet: documentation |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Datasheet document.
1.4.5.4. features#
Description |
Datasheet: features |
Type |
[str] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Device features.
1.4.5.5. fmax#
Description |
Datasheet: maximum frequency |
Type |
float |
Unit |
MHz |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Device maximum operating frequency.
1.4.5.6. fpga#
1.4.5.6.1. arch#
Description |
Datasheet: fpga architecture |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
FPGA architecture.
1.4.5.6.2. blockram#
Description |
Datasheet: fpga block ram |
Type |
int |
Unit |
Kb |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
FPGA 128.
1.4.5.6.3. distram#
Description |
Datasheet: fpga distributed ram |
Type |
int |
Unit |
Kb |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
FPGA 128.
1.4.5.6.4. luts#
Description |
Datasheet: fpga LUTs |
Type |
int |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
FPGA 32000.
1.4.5.6.5. mults#
Description |
Datasheet: fpga multiplier/dsp elements |
Type |
int |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
FPGA 100.
1.4.5.6.6. plls#
Description |
Datasheet: fpga pll blocks |
Type |
int |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
FPGA 1.
1.4.5.6.7. registers#
Description |
Datasheet: fpga registers |
Type |
int |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
FPGA 100.
1.4.5.6.8. totalram#
Description |
Datasheet: fpga total ram |
Type |
int |
Unit |
Kb |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
FPGA 128.
1.4.5.7. grade#
Description |
Datasheet: manufacturing grade |
Type |
enum |
Allowed Values |
|
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Device end application qualification grade.
1.4.5.8. io#
1.4.5.8.1. arch#
Description |
Datasheet: io standard |
Type |
enum |
Allowed Values |
|
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Datasheet: List of IO standard architectures supported by the named IO port.
1.4.5.8.2. channels#
Description |
Datasheet: io channels |
Type |
int |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Datasheet: IO 4 metrics specified on a per IO port basis.
1.4.5.8.3. fmax#
Description |
Datasheet: io maximum frequency |
Type |
float |
Unit |
MHz |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Datasheet: IO 100 metrics specified on a per IO port basis.
1.4.5.8.4. width#
Description |
Datasheet: io width |
Type |
int |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Datasheet: IO 4 metrics specified on a per IO port basis.
1.4.5.9. iobw#
Description |
Datasheet: total I/O bandwidth |
Type |
float |
Unit |
bps |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Device peak off-device bandwidth in bits per second.
1.4.5.10. iocount#
Description |
Datasheet: total number of I/Os |
Type |
int |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Device total number of I/Os (not counting supplies).
1.4.5.11. limit#
1.4.5.11.1. 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.11.2. 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.11.3. 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.11.4. 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.11.5. 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.11.6. ta#
Description |
Datasheet: limit ambient temperature limits |
Type |
(float,float) |
Unit |
C |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Limit ambient temperature limits. Values are tuples of (min, max).
1.4.5.11.7. 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.11.8. tj#
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.11.9. tsolder#
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.11.10. tstorage#
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.11.11. vcdm#
Description |
Datasheet: limit ESD charge device model voltage level |
Type |
(float,float) |
Unit |
V |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Limit ESD charge device model voltage level. Values are tuples of (min, max).
1.4.5.11.12. vhbm#
Description |
Datasheet: limit ESD human body model voltage level |
Type |
(float,float) |
Unit |
V |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Limit ESD human body model voltage level. Values are tuples of (min, max).
1.4.5.11.13. vmm#
Description |
Datasheet: limit ESD machine model voltage level |
Type |
(float,float) |
Unit |
V |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Limit ESD machine model voltage level. Values are tuples of (min, max).
1.4.5.12. manufacturer#
Description |
Datasheet: manufacturer |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Device manufacturer.
1.4.5.13. memory#
1.4.5.13.1. banks#
Description |
Datasheet: memory banks |
Type |
int |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Memory banks specified on a per memory basis.
1.4.5.13.2. bits#
Description |
Datasheet: memory total bits |
Type |
int |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Memory total number of bits specified on a per memory basis.
1.4.5.13.3. bwrd#
Description |
Datasheet: memory maximum read bandwidth |
Type |
(float,float,float) |
Unit |
bps |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Memory (1000000000.0, 1000000000.0, 1000000000.0) specified on a per memory basis.
1.4.5.13.4. bwwr#
Description |
Datasheet: memory maximum write bandwidth |
Type |
(float,float,float) |
Unit |
bps |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Memory (1000000000.0, 1000000000.0, 1000000000.0) specified on a per memory basis.
1.4.5.13.5. depth#
Description |
Datasheet: memory depth |
Type |
int |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Memory depth specified on a per memory basis.
1.4.5.13.6. erd#
Description |
Datasheet: memory read energy |
Type |
(float,float,float) |
Unit |
J |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Memory (1e-12, 2e-12, 3e-12) specified on a per memory basis.
1.4.5.13.7. ewr#
Description |
Datasheet: memory write energy |
Type |
(float,float,float) |
Unit |
J |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Memory (1e-12, 2e-12, 3e-12) specified on a per memory basis.
1.4.5.13.8. fmax#
Description |
Datasheet: memory max frequency |
Type |
(float,float,float) |
Unit |
Hz |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Memory (1000000000.0, 1000000000.0, 1000000000.0) specified on a per memory basis.
1.4.5.13.9. tcl#
Description |
Datasheet: memory column address latency |
Type |
(int,int,int) |
Unit |
cycles |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Memory (100, 100, 100) specified on a per memory basis.
1.4.5.13.10. tcycle#
Description |
Datasheet: memory access clock cycle |
Type |
(float,float,float) |
Unit |
ns |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Memory (9.0, 10.0, 11.0) specified on a per memory basis.
1.4.5.13.11. terase#
Description |
Datasheet: memory erase time |
Type |
(float,float,float) |
Unit |
s |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Memory (1e-06, 1e-06, 1e-06) specified on a per memory basis.
1.4.5.13.12. tras#
Description |
Datasheet: memory row active time latency |
Type |
(int,int,int) |
Unit |
cycles |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Memory (100, 100, 100) specified on a per memory basis.
1.4.5.13.13. trcd#
Description |
Datasheet: memory row address latency |
Type |
(int,int,int) |
Unit |
cycles |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Memory (100, 100, 100) specified on a per memory basis.
1.4.5.13.14. trd#
Description |
Datasheet: memory read clock cycle |
Type |
(float,float,float) |
Unit |
ns |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Memory (0.9, 1, 1.1) specified on a per memory basis.
1.4.5.13.15. trefresh#
Description |
Datasheet: memory refresh time |
Type |
(float,float,float) |
Unit |
ns |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Memory (99, 100, 101) specified on a per memory basis.
1.4.5.13.16. trp#
Description |
Datasheet: memory row precharge time latency |
Type |
(int,int,int) |
Unit |
cycles |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Memory (100, 100, 100) specified on a per memory basis.
1.4.5.13.17. twearout#
Description |
Datasheet: memory write/erase wear-out |
Type |
(float,float,float) |
Unit |
cycles |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Memory (100000.0, 1000000.0, 10000000.0) specified on a per memory basis.
1.4.5.13.18. twr#
Description |
Datasheet: memory write clock cycle |
Type |
(float,float,float) |
Unit |
ns |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Memory (0.9, 1, 1.1) specified on a per memory basis.
1.4.5.13.19. width#
Description |
Datasheet: memory width |
Type |
int |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Memory width specified on a per memory basis.
1.4.5.14. ops#
Description |
Datasheet: total device operations per second |
Type |
float |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Device peak total operations per second, describing the total mathematical operations performed by all on-device processing units.
1.4.5.15. package#
1.4.5.15.1. anchor#
Description |
Datasheeet: package anchor |
Type |
(float,float) |
Unit |
um |
Default Value |
(0.0, 0.0) |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Package anchor point with respect to the lower left corner of the package. When placing a component on a substrate, the placement location specifies the distance from the substrate origin to the anchor point of the placed object.
1.4.5.15.2. drawing#
Description |
Datasheet: package drawing |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Mechanical package outline for documentation purposes. Common file formats include PDF, DOC, SVG, and PNG.
1.4.5.15.3. length#
Description |
Datasheet: package length |
Type |
(float,float,float) |
Unit |
um |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Datasheet: package length. Values are tuples of (min, nominal, max).
1.4.5.15.4. pin#
1.4.5.15.4.1. length#
Description |
Datasheet: package pin length |
Type |
(float,float,float) |
Unit |
um |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Datsheet: length specified on a per package and per pin number basis. Values are tuples of (min, nominal, max).
1.4.5.15.4.2. loc#
Description |
Datasheet: package pin location |
Type |
(float,float) |
Unit |
um |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Datsheet: Package pin location specified as an (x,y) tuple on a per package and per pin number basis. Locations specify the center of the pin with respect to the center of the package.
1.4.5.15.4.3. name#
Description |
Datasheet: package pin name |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Datsheet: Package pin name specified on a per package and per pin
number basis. The pin number is generally an integer starting at ‘1’ in the case of
packages like qfn, qfp and an array index (‘A1’, ‘A2’) in the case of array packages
like bgas. The pin name refers to the logical function assigned to the physical
pin number (e.g clk, vss, in). Details regarding the logical pin is stored in
the ['datasheet', 'pin', ...]
.
1.4.5.15.4.4. shape#
Description |
Datasheet: package pin shape |
Type |
enum |
Allowed Values |
|
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Datasheet: package pin shape specified on a per package and per pin number basis.
1.4.5.15.4.5. width#
Description |
Datasheet: package pin width |
Type |
(float,float,float) |
Unit |
um |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Datsheet: width specified on a per package and per pin number basis. Values are tuples of (min, nominal, max).
1.4.5.15.5. pincount#
Description |
Datasheet: package total pincount |
Type |
int |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Total number package pins of the named package.
1.4.5.15.6. pitch#
Description |
Datasheet: package pitch |
Type |
(float,float,float) |
Unit |
um |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Datasheet: package pitch. Values are tuples of (min, nominal, max).
1.4.5.15.7. thickness#
Description |
Datasheet: package thickness |
Type |
(float,float,float) |
Unit |
um |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Datasheet: package thickness. Values are tuples of (min, nominal, max).
1.4.5.15.8. type#
Description |
Datasheet: package type |
Type |
enum |
Allowed Values |
|
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Package type specified on a named package basis.
1.4.5.15.9. width#
Description |
Datasheet: package width |
Type |
(float,float,float) |
Unit |
um |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Datasheet: package width. Values are tuples of (min, nominal, max).
1.4.5.16. peakpower#
Description |
Datasheet: peak power |
Type |
float |
Unit |
W |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Device total peak power.
1.4.5.17. pin#
1.4.5.17.1. 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.17.2. 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.17.3. dir#
Description |
Datasheet: pin direction |
Type |
enum |
Allowed Values |
|
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Pin direction specified on a per mode basis.
1.4.5.17.4. 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.17.5. 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.17.6. 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.17.7. 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.17.8. 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.17.9. 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.17.10. 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.17.11. 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.17.12. 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.17.13. 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.17.14. 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.17.15. 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.17.16. 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.17.17. 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.17.18. 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.17.19. 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.17.20. 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.17.21. 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.17.22. 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.17.23. 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.17.24. 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.17.25. 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.17.26. 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.17.27. 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.17.28. 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.17.29. 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.17.30. 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.17.31. 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.17.32. 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.17.33. 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.17.34. 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.17.35. 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.17.36. 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.17.37. 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.17.38. 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.17.39. 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.17.40. 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.17.41. 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.17.42. 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.17.43. 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.17.44. 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.17.45. 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.17.46. 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.17.47. 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.17.48. 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.17.49. 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.18. proc#
1.4.5.18.1. arch#
Description |
Datasheet: processor architecture |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Processor architecture specified on a per core basis.
1.4.5.18.2. archsize#
Description |
Datasheet: processor architecture size |
Type |
int |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Processor metric: architecture size specified on a per core basis.
1.4.5.18.3. cores#
Description |
Datasheet: processor number of cores |
Type |
int |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Processor metric: number of cores specified on a per core basis.
1.4.5.18.4. datatypes#
Description |
Datasheet: processor datatypes |
Type |
[enum] |
Allowed Values |
|
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of datatypes supported by the processor specified on a per core basis.
1.4.5.18.5. dcache#
Description |
Datasheet: processor l1 dcache size |
Type |
int |
Unit |
KB |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Processor metric: l1 dcache size specified on a per core basis.
1.4.5.18.6. features#
Description |
Datasheet: processor features |
Type |
[str] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of maker specified processor features specified on a per core basis.
1.4.5.18.7. fmax#
Description |
Datasheet: processor maximum frequency |
Type |
int |
Unit |
MHz |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Processor metric: maximum frequency specified on a per core basis.
1.4.5.18.8. icache#
Description |
Datasheet: processor l1 icache size |
Type |
int |
Unit |
KB |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Processor metric: l1 icache size specified on a per core basis.
1.4.5.18.9. l2cache#
Description |
Datasheet: processor l2 cache size |
Type |
int |
Unit |
KB |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Processor metric: l2 cache size specified on a per core basis.
1.4.5.18.10. l3cache#
Description |
Datasheet: processor l3 cache size |
Type |
int |
Unit |
KB |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Processor metric: l3 cache size specified on a per core basis.
1.4.5.18.11. mults#
Description |
Datasheet: processor hard multiplier units |
Type |
int |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Processor metric: hard multiplier units specified on a per core basis.
1.4.5.18.12. nvm#
Description |
Datasheet: processor local non-volatile memory |
Type |
int |
Unit |
KB |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Processor metric: local non-volatile memory specified on a per core basis.
1.4.5.18.13. ops#
Description |
Datasheet: processor operations per cycle |
Type |
int |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Processor metric: operations per cycle specified on a per core basis.
1.4.5.18.14. sram#
Description |
Datasheet: processor local sram |
Type |
int |
Unit |
KB |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Processor metric: local sram specified on a per core basis.
1.4.5.19. qual#
Description |
Datasheet: qualification level |
Type |
[str] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of qualification standards passed by device.
1.4.5.20. ram#
Description |
Datasheet: total device RAM |
Type |
float |
Unit |
bits |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Device total RAM.
1.4.5.21. series#
Description |
Datasheet: series |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Device series describing a family of devices or a singular device with multiple packages and/or qualification SKUs.
1.4.5.22. status#
Description |
Datasheet: product status |
Type |
enum |
Allowed Values |
|
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Device production status.
1.4.5.23. thermal#
1.4.5.23.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.23.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.23.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.23.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.23.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.23.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.5.24. trl#
Description |
Datasheet: technology readiness level |
Type |
int |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Technology readiness level (TRL) of device. For more information, see: https://en.wikipedia.org/wiki/Technology_readiness_level
1.4.5.25. type#
Description |
Datasheet: type |
Type |
enum |
Allowed Values |
|
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Device type.
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. 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.
1.4.7.5. 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.6. 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.
1.4.7.7. 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. file#
Description |
FPGA: file |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Specify a file for the FPGA partname.
1.4.8.2. 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.3. 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.4. 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.5. 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 used |
Type |
int |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the total FPGA BRAM tiles used 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 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. drcs#
Description |
Metric: total drcs |
Type |
int |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the total number of physical design rule violations on a per step and index basis.
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 used |
Type |
int |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the total FPGA DSP slices used 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 ['tool', <tool>, '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. holdskew#
Description |
Metric: holdskew |
Type |
float |
Per step/index |
required |
Unit |
ns |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the hold clock skew on a per step and index basis.
1.4.10.15. 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.16. 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.17. 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.18. inverters#
Description |
Metric: inverters |
Type |
int |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the total number of inverter instances in the design on a per step and index basis.
1.4.10.19. 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.20. 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.21. logicdepth#
Description |
Metric: logic depth |
Type |
int |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the logic depth of the design. This is determined by the number of logic gates between the start of the critital timing path to the end of the path.
1.4.10.22. luts#
Description |
Metric: FPGA LUTs used |
Type |
int |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the total FPGA LUTs used 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.23. 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.24. 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.25. 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.26. 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.27. 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.28. 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.29. 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.30. 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.31. 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.32. setupskew#
Description |
Metric: setupskew |
Type |
float |
Per step/index |
required |
Unit |
ns |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Metric tracking the setup clock skew on a per step and index basis.
1.4.10.33. 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.34. 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.35. 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.36. 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.37. 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.38. 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.39. 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.40. 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.41. 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.42. 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.43. 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.44. 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. breakpoint#
Description |
Option: 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.2. builddir#
Description |
Option: 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. This can be used to set an alternate compilation directory path.
1.4.11.3. cachedir#
Description |
Option: user cache directory |
Type |
file |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Filepath to cache used for package data sources. If the cache parameter is empty, “.sc/cache” directory in the user’s home directory will be used.
1.4.11.4. cfg#
Description |
Option: 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
Chip.read_manifest()
method.
1.4.11.5. clean#
Description |
Option: cleanup previous job |
Type |
bool |
Default Value |
False |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Run a job from the start and do not use any of the previous job.
If ['option', 'jobincr']
is True, the old job is preserved and
a new job number is assigned.
1.4.11.6. continue#
Description |
Option: 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. 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.7. credentials#
Description |
Option: 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.8. define#
Description |
Option: design pre-processor symbol |
Type |
[str] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
-define CFG_ASIC=1 |
Example (API) |
|
Symbol definition for source preprocessor.
1.4.11.9. dir#
Description |
Option: 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.10. entrypoint#
Description |
Option: program entry point |
Type |
str |
Per step/index |
optional |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Alternative entrypoint for compilation and
simulation. The default entry point is ['design']
.
1.4.11.11. env#
Description |
Option: 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.12. file#
Description |
Option: 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.13. flow#
Description |
Option: 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.14. from#
Description |
Option: starting step |
Type |
[str] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Inclusive list of steps to start execution from. The default is to start at all entry steps in the flow graph.
1.4.11.15. hash#
Description |
Option: 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.16. idir#
Description |
Option: design search paths |
Type |
[dir] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
-I ./mylib
-idir ./mylib |
Example (API) |
|
Search paths to look for files included in the design using
the `include
statement.
1.4.11.17. jobincr#
Description |
Option: 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.18. jobname#
Description |
Option: 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.19. libext#
Description |
Option: design file extensions |
Type |
[str] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
-libext sv |
Example (API) |
|
List of file extensions that should be used for finding modules.
For example, if ['option', 'ydir']
is specified as ./lib”, and ‘.v’
is specified as libext then the files ./lib/*.v “, will be searched for
module matches.
1.4.11.20. library#
Description |
Option: library list |
Type |
[str] |
Per step/index |
optional |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of soft libraries to be linked in during import.
1.4.11.21. loglevel#
Description |
Option: 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.
1.4.11.22. nice#
Description |
Option: tool 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.23. nodisplay#
Description |
Option: headless execution |
Type |
bool |
Default Value |
False |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
This flag prevents SiliconCompiler from opening GUI windows such as the final metrics report.
1.4.11.24. novercheck#
Description |
Option: 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
['tool', <tool>, 'version']
.
1.4.11.25. optmode#
Description |
Option: optimization mode |
Type |
str |
Per step/index |
optional |
Default Value |
O0 |
CLI Switch |
|
Example (CLI) |
-optmode O3 |
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.26. param#
Description |
Option: 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.27. pdk#
Description |
Option: PDK target |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Target PDK used during compilation.
1.4.11.28. prune#
Description |
Option: flowgraph pruning |
Type |
[(str,str)] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
List of starting nodes for branches to be pruned. The default is to not prune any nodes/branches.
1.4.11.29. quiet#
Description |
Option: 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.30. remote#
Description |
Option: 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.31. scheduler#
1.4.11.31.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.31.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.31.3. maxnodes#
Description |
Option: maximum concurrent nodes |
Type |
int |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Maximum number of concurrent nodes to run in a job. If not set this will default to the number of cpu cores available.
1.4.11.31.4. 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.31.5. 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 ['option', 'scheduler', 'msgevent']
.
Support for email messages relies on job scheduler daemon support.
For more information, see the job scheduler documentation.
1.4.11.31.6. msgevent#
Description |
Option: message event trigger |
Type |
[enum] |
Per step/index |
optional |
Allowed Values |
|
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Directs job scheduler to send a message to the user in
['option', 'scheduler', 'msgcontact']
when certain events occur
during a task.
fail: send an email on failures
timeout: send an email on timeouts
begin: send an email at the start of a node task
end: send an email at the end of a node task
summary: send a summary email at the end of the run
all: send an email on any event
1.4.11.31.7. 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.31.8. 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.31.9. 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.32. stackup#
Description |
Option: 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.33. 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.34. timeout#
Description |
Option: timeout value |
Type |
float |
Per step/index |
optional |
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.
1.4.11.35. to#
Description |
Option: ending step |
Type |
[str] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Inclusive list of steps to end execution with. The default is to go to all exit steps in the flow graph.
1.4.11.36. track#
Description |
Option: 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.37. var#
Description |
Option: 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.38. vlib#
Description |
Option: design libraries |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
-vlib './mylib.v' |
Example (API) |
|
List of library files to be read in. Modules found in the libraries are not interpreted as root modules.
1.4.11.39. ydir#
Description |
Option: design module search paths |
Type |
[dir] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
-ydir './mylib' |
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 ['option', '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. 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.3. doc#
1.4.13.3.1. datasheet#
Description |
Package: datasheet document |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Package list of datasheet documents.
1.4.13.3.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.3.3. quickstart#
Description |
Package: quickstart document |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Package list of quickstart documents.
1.4.13.3.4. reference#
Description |
Package: reference document |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Package list of reference documents.
1.4.13.3.5. releasenotes#
Description |
Package: releasenotes document |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Package list of releasenotes documents.
1.4.13.3.6. signoff#
Description |
Package: signoff document |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Package list of signoff documents.
1.4.13.3.7. testplan#
Description |
Package: testplan document |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Package list of testplan documents.
1.4.13.3.8. tutorial#
Description |
Package: tutorial document |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Package list of tutorial documents.
1.4.13.3.9. userguide#
Description |
Package: userguide document |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Package list of userguide documents.
1.4.13.4. 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.5. license#
Description |
Package: license identifiers |
Type |
[str] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Package list of SPDX license identifiers.
1.4.13.6. 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).
1.4.13.7. 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.8. source#
1.4.13.8.1. path#
Description |
Package: data source path |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Package data source path, allowed paths:
/path/on/network/drive
git+https://github.com/xyz/xyz
git://github.com/xyz/xyz
git+ssh://github.com/xyz/xyz
python://siliconcompiler
1.4.13.8.2. ref#
Description |
Package: data source reference |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Package data source reference
1.4.13.9. 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, and 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. 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.4. dir#
Description |
PDK: custom 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.5. 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.6. doc#
Description |
PDK: documentation |
Type |
[file] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Filepath to pdk documentation.
1.4.14.7. drc#
1.4.14.7.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.7.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.8. 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.9. erc#
1.4.14.9.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.9.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.10. file#
Description |
PDK: custom 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.11. fill#
1.4.14.11.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.11.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.12. 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.13. 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.14. lvs#
1.4.14.14.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.14.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.15. 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.16. 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.17. node#
Description |
PDK: process node |
Type |
float |
Unit |
nm |
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.18. 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.19. 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.20. scribe#
Description |
PDK: horizontal scribe line width |
Type |
(float,float) |
Unit |
mm |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Width of the horizontal and 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.21. 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.22. 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.23. var#
Description |
PDK: custom, 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.24. 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.25. 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, 150, 125, and 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. inputnode#
Description |
Record: node inputs |
Type |
[(str,str)] |
Per step/index |
required |
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.15.5. 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.6. 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.7. 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.8. 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.9. 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.10. 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.11. 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.12. 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.13. 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.14. 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.15. 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.16. status#
Description |
Record: node execution status |
Type |
enum |
Per step/index |
required |
Allowed Values |
|
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Record tracking for the status of a node.
1.4.15.17. 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.18. toolexitcode#
Description |
Record: tool exit code |
Type |
int |
Per step/index |
required |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Record tracking the tool exit code per step and index basis.
1.4.15.19. 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.20. 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.21. 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. schematic#
1.4.16.1. buschar#
Description |
Schematic: bus character |
Type |
str |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Specifies the character used to express bus bits. If the bus character is used as part of a name, it must be escaped with a backslash(‘’).
1.4.16.2. component#
1.4.16.2.1. model#
Description |
Schematic: component model |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Model of a component, specified on a per instance basis.
1.4.16.3. hierchar#
Description |
Schematic: hierarchy character |
Type |
str |
Default Value |
. |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Specifies the character used to express hierarchy. If the hierarchy character is used as part of a name, it must be escaped with a backslash(‘’).
1.4.16.4. net#
1.4.16.4.1. connect#
Description |
Schematic: net connection |
Type |
[str] |
Default Value |
[] |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Component and pin connectivity specified as a list of connection points on a per net basis. The connection point point format is “INSTANCE.PIN”, where “.” is the hierarchy character. Connections without “.PIN” implies the connection is a primary design I/O pin. Specifying “INSTANCE.*” implies that all pins of INSTANCE get connected to the net.
1.4.16.5. pin#
1.4.16.5.1. dir#
Description |
Schematic: pin direction |
Type |
enum |
Allowed Values |
|
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Direction of pin specified on a per pin basis.
1.4.17. schemaversion#
Description |
Schema version number |
Type |
str |
Default Value |
0.48.2 |
CLI Switch |
|
Example (API) |
|
SiliconCompiler schema version number.
1.4.18. tool#
1.4.18.1. exe#
Description |
Tool: executable name |
Type |
str |
Default Value |
None |
CLI Switch |
|
Example (CLI) |
|
Example (API) |
|
Tool executable name.
1.4.18.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.18.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.18.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 ['tool', <tool>, 'exe']
is already in the
environment search path.
1.4.18.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.18.6. task#
1.4.18.6.1. dir#
Description |
Task: custom 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.18.6.2. 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.18.6.3. file#
Description |
Task: custom 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.18.6.4. input#
Description |
Task: input files |
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.18.6.5. 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.18.6.6. output#
Description |
Task: output files |
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.18.6.7. 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.18.6.8. 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.18.6.9. 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.18.6.10. 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.18.6.11. report#
Description |
Task: metric report files |
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.18.6.12. 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.18.6.13. 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.18.6.14. stderr#
1.4.18.6.14.1. destination#
Description |
Task: destination for stderr |
Type |
enum |
Per step/index |
optional |
Allowed Values |
|
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.18.6.14.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.18.6.15. stdout#
1.4.18.6.15.1. destination#
Description |
Task: destination for stdout |
Type |
enum |
Per step/index |
optional |
Allowed Values |
|
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.18.6.15.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.18.6.16. 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.18.6.17. 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.18.6.18. 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.18.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.18.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 ['option', 'novercheck']
to True.
1.4.18.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.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')
1.5.3. Journaling#
The schema can support tracking of schema transactions which modify the data in the schema. The transactions are recorded in the schema in cfg[‘__journal__’], which is a list of the transactions since recording began. Each record for the journal contains:
- type#
Type of transactions performed, can be one of: set, add, remove, and unset
- key#
Keypath that was modified
- value#
New value for keypath, in record types which are destructive, this is None
- field#
Schema field that was modified, in record types which are destructive, this is None
- step#
Step that was modified, in record types which are destructive, this is None
- index#
Index that was modified, in record types which are destructive, this is None
To control the journaling:
chip.schema._start_journal() # To start recording transactions
chip.schema._stop_journal() # To stop recording transactions and remove all records of transactions
chip.schema._import_journal(other_schema) # To import and playback transactions, usually used to merge together a node manifest with the main manifest in SiliconCompiler