fvm.toolchains.toolchains module

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