Flow-Spec Reference

This section provides detailed reference documentation for the DV Flow specification format (flow.yaml YAML files).

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.yaml 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.

Package Definition

Fragment Definition

Task Definition

Import Definition

Parameter Definition

Task Dependency