Command Index

Lite Commands

Additional Pro Commands

Command Details

include

Usage: vpm include <MODULE_URL> [--repo] [--riscv] [--commit <HASH>] [--with-docs] [--offline]

Add a module or repository to your project. VPM’s internal parser will identify and configure any subdependencies.

Options:

  • --repo: Treat the URL as a full repository instead of a single module
  • --riscv: Include RISC-V specific modules
  • --commit <HASH>: Specify a commit hash to include
  • --with-docs: Create documentation for the module
  • --offline: Generate documentation in offline mode (only if —with-docs is set)

docs

Usage: vpm docs <MODULE_PATH> [--from-repo] [--offline]

Generate documentation for a module. This command creates comprehensive documentation for the specified module, including descriptions of inputs, outputs, and functionality.

Options:

  • --from-repo: Treat the module path as a link to a .v or .sv file in a GitHub repository
  • --offline: Generate documentation in offline mode for code security

install

Usage: vpm install <TOOL_NAME>

Install a specified tool. VPM automates the build process and installs missing subdependencies.

Available tools: verilator, iverilog, yosys, gtkwave, verible, edalize, riscv-gnu-toolchain

update

Usage: vpm update <MODULE_PATH> [--commit <HASH>]

Update a specific module to its latest version. This command checks for updates to the specified module and applies them if available.

Options:

  • --commit <HASH>: Update to a specific commit hash

remove

Usage: vpm remove <PACKAGE_PATH>

Remove a package from your project. This command uninstalls the specified package and removes it from your project’s dependencies.

list

Usage: vpm list

List all available modules in the current project.

sim

Usage: vpm sim <FILE_PATHS>... [--waveform]

Simulate one or more Verilog files. Include ‘_tb’ in the testbench file name; otherwise, a base testbench and waveform will be generated.

Options:

  • --waveform: Generate waveform output and open it in GTKWave

synth

Usage: vpm synth <TOP_MODULE_PATH> [--riscv] [--core-path <PATH>] [--board <BOARD>] [--gen-yosys-script]

Synthesize a top module. This command performs synthesis on the specified top module, converting your RTL design into a gate-level netlist.

Options:

  • --riscv: Set this flag for RISC-V based designs
  • --core-path <PATH>: Path to RISC-V core (required if —riscv is set)
  • --board <BOARD>: Specify target board (xilinx, altera, custom)
  • --gen-yosys-script: Generate a Yosys synthesis script instead of running synthesis

load

Usage: vpm load <TOP_MODULE_PATH> <CONSTRAINTS_PATH> [--riscv]

Load a top module onto a target device. This command programs the synthesized design onto the specified hardware.

Options:

  • --riscv: Use RISC-V toolchain for loading

run

Usage: vpm run <PROGRAM_PATH> [--riscv]

Run a specified program. This command executes the given program, which can be useful for running custom scripts, tools, or compiled designs.

Options:

  • --riscv: Use RISC-V toolchain for running the program

upgrade

Usage: vpm upgrade

Upgrade VPM to the latest version available.

config

Usage: vpm config [--analytics <BOOL>]

Configure VPM settings. This command allows you to set various options and preferences for VPM.

Options:

  • --analytics <BOOL>: Enable or disable anonymous usage data collection

test

Usage: vpm test <MODULE_PATH>

Create testbenches, run simulations, and generate waveform images for a module.