fvm.toolchains.toolchains module

Warning

Callables that are not documented in the Public API are not intented to be directly used and thus may change between minor versions.

Toolchain interface for FVM

fvm.toolchains.toolchains.define_steps(framework, steps, toolchain)[source]

Import the corresponding toolchain module and call its define_steps function to define the steps in the framework.

Parameters:
fvm.toolchains.toolchains.formal_initialize_reset(framework, toolchain, reset, active_high=True, cycles=1)[source]

Import the corresponding toolchain module and call its formal_initialize_reset function to initialize the design with a reset sequence.

Parameters:
  • framework (fvm.framework.FvmFramework) – the FvmFramework object

  • toolchain (str) – toolchain name

  • reset (str) – reset signal name

  • active_high (bool) – True if the reset is active high, False if active low. Defaults to True

  • cycles (int) – number of cycles to hold the reset

fvm.toolchains.toolchains.generics_to_args(toolchain, generics)[source]

Import the corresponding toolchain module and call its generics_to_args function to convert generics to command line arguments.

Parameters:
  • toolchain (str) – toolchain name

  • generics (dict) – dictionary of generics

fvm.toolchains.toolchains.get_default_flags(toolchain)[source]

Returns tool flags for a specific toolchain

Parameters:

toolchain (str) – toolchain name

Returns:

list of default flags

Return type:

list

fvm.toolchains.toolchains.get_linecheck_patterns(framework, step=None)[source]

Import the corresponding toolchain module and call its get_linecheck_{step} function to obtain patterns.

Parameters:
fvm.toolchains.toolchains.get_toolchain()[source]

Get the toolchain from a specific environment variable. If the environment variable is not set, the value of DEFAULT_TOOLCHAIN is returned.

In the future, if the environment variable is not set, we plan to auto-detect which tools are available in the PATH and assign the first we find (with some priority)

Returns:

toolchain name

Return type:

str

fvm.toolchains.toolchains.set_coverage_goal(toolchain, step, goal)[source]

Import the corresponding toolchain module and call its set_coverage_goal function to set the coverage goal for a specific step.

Parameters:
  • toolchain (str) – toolchain name

  • step (str) – step name

  • goal (int or float) – coverage goal

fvm.toolchains.toolchains.set_timeout(framework, toolchain, step, timeout)[source]

Import the corresponding toolchain module and call its set_timeout function to set the timeout for a specific step.

Parameters:
  • framework (fvm.framework.FvmFramework) – the FvmFramework object

  • toolchain (str) – toolchain name

  • step (str) – step name

  • timeout (str) – timeout