Flow-Spec Reference¶
File Root Elements¶
Each flow.yaml file either defines a package or a package fragment. Each package is defined by the content in its root flow.yaml file and that in any fragment files that are specified in the root package file or its fragments.
package:
name: proj1
# ...
fragments:
- src/rtl/flow.yaml
- src/verif
Each package fragment element specifies either a directory or a file. If a file is specified, then that file is loaded. It is expected that the content will be a DV-Flow package fragment. If a directory is specified, then a top-down search is performed for flow.dv files in the subdirectory tree.
The structure of a package fragment file is nearly identical to a package definition. For example:
fragment:
tasks:
- name: rtl
type: std.FileSet
params:
include: "*.sv"
Remember that all fragments referenced by a given package contribute to the same package namespace. It would be illegal for another flow file to also define a task named rtl.
PackageDef¶
type |
object |
|||
properties |
||||
|
Name |
|||
Name of the package |
||||
type |
string |
|||
|
Type |
|||
type |
array |
|||
items |
||||
|
Tasks |
|||
List of tasks defined in the package |
||||
type |
array |
|||
items |
||||
|
Imports |
|||
List of packages to import |
||||
type |
array |
|||
items |
anyOf |
type |
string |
|
|
Overrides |
|||
Overrides for packages and parameters |
||||
type |
object |
|||
additionalProperties |
type |
string |
||
|
Fragments |
|||
List of fragments to include |
||||
type |
array |
|||
items |
type |
string |
||
|
Types |
|||
type |
array |
|||
items |
||||
|
Uses |
|||
Name of the package to use as a base |
||||
type |
string |
|||
default |
null |
|||
|
With |
|||
Package parameters |
||||
type |
object |
|||
additionalProperties |
anyOf |
type |
string |
|
type |
array |
|||
items |
||||
|
Configs |
|||
List of package configurations |
||||
type |
array |
|||
items |
#/defs/ConfigDef |
|||
|
default |
null |
||
#/defs/SrcInfo |
Task Definition¶
RundirE¶
type |
string |
enum |
unique, inherit |
PackageSpec¶
type |
object |
|
properties |
||
|
Name |
|
type |
string |
|
|
Params |
|
type |
object |
|
additionalProperties |
True |
|
|
Fullname |
|
type |
string |
|
default |
null |
TaskDef¶
Holds definition information (ie the YAML view) for a task |
||||
type |
object |
|||
properties |
||||
|
Task Name |
|||
The name of the task |
||||
default |
null |
|||
anyOf |
type |
string |
||
type |
null |
|||
|
Overide Name |
|||
The name of the task to override |
||||
default |
null |
|||
anyOf |
type |
string |
||
type |
null |
|||
|
Base type |
|||
Task from which this task is derived |
||||
type |
string |
|||
default |
null |
|||
|
Body |
|||
Sub-tasks |
||||
type |
array |
|||
items |
||||
|
Task enable condition |
|||
Condition that must be true for this task to run |
||||
default |
null |
|||
anyOf |
type |
string |
||
type |
boolean |
|||
|
Pytask |
|||
Python-based implementation (deprecated) |
||||
type |
string |
|||
default |
null |
|||
|
Run |
|||
Shell-based implementation |
||||
type |
string |
|||
default |
null |
|||
|
Shell |
|||
Shell to use for shell-based implementation |
||||
type |
string |
|||
default |
bash |
|||
|
default |
null |
||
|
Task description |
|||
Short description of the task’s purpose |
||||
type |
string |
|||
default |
||||
|
Task documentation |
|||
Full documentation of the task |
||||
type |
string |
|||
default |
||||
|
Needs |
|||
List of tasks that this task depends on |
||||
type |
array |
|||
items |
type |
string |
||
|
With |
|||
Parameters for the task |
||||
type |
object |
|||
additionalProperties |
anyOf |
type |
string |
|
type |
array |
|||
items |
||||
type |
boolean |
|||
|
Specifies handling of this tasks’s run directory |
|||
default |
unique |
|||
|
Passthrough |
|||
Specifies whether this task should pass its inputs to its output |
||||
default |
null |
|||
anyOf |
#/defs/PassthroughE |
|||
type |
array |
|||
items |
||||
type |
null |
|||
|
Consumes |
|||
Specifies matching patterns for parameter sets that this task consumes |
||||
default |
null |
|||
anyOf |
#/defs/ConsumesE |
|||
type |
array |
|||
items |
||||
type |
null |
|||
|
default |
null |
||
#/defs/SrcInfo |
PackageImportSpec¶
type |
object |
|
properties |
||
|
From |
|
type |
string |
|
default |
null |
|
|
As |
|
type |
string |
|
default |
null |
TypeDef¶
type |
object |
|||
properties |
||||
|
Name |
|||
type |
string |
|||
|
Uses |
|||
type |
string |
|||
default |
null |
|||
|
Doc |
|||
type |
string |
|||
default |
null |
|||
|
With |
|||
type |
object |
|||
additionalProperties |
anyOf |
type |
string |
|
|
default |
null |
||
#/defs/SrcInfo |
StrategyDef¶
type |
object |
|||
properties |
||||
|
Chain |
|||
default |
null |
|||
anyOf |
type |
boolean |
||
type |
null |
|||
|
default |
null |
||
anyOf |
#/defs/GenerateSpec |
|||
type |
null |
|||
|
Matrix |
|||
Matrix of parameter values to explore |
||||
default |
null |
|||
anyOf |
type |
object |
||
additionalProperties |
type |
array |
||
items |
||||
type |
null |
ListType¶
type |
object |
||
properties |
|||
|
Item |
||
anyOf |
type |
string |
MapType¶
type |
object |
||
properties |
|||
|
Key |
||
anyOf |
type |
string |
|
|
Val |
||
anyOf |
type |
string |
ComplexType¶
type |
object |
||
properties |
|||
|
default |
null |
|
anyOf |
|||
type |
null |
||
|
default |
null |
|
anyOf |
|||
type |
null |
ParamDef¶
type |
object |
||
properties |
|||
|
Doc |
||
type |
string |
||
default |
null |
||
|
Type |
||
default |
null |
||
anyOf |
type |
string |
|
|
Value |
||
default |
null |
||
anyOf |
type |
null |
|
|
Append |
||
default |
null |
||
anyOf |
type |
null |
|
|
Prepend |
||
default |
null |
||
anyOf |
type |
null |
|
|
Path-Append |
||
default |
null |
||
anyOf |
type |
null |
|
|
Path-Prepend |
||
default |
null |
||
anyOf |
type |
null |
|
|
Srcinfo |
||
default |
null |
||
anyOf |
type |
string |
|
type |
null |