Release notes

For installation instructions read this.

Commits since last release


2.1.1 - 2017-07-19 (latest)

  • Fix init_file(s) broken in 2.1.0
  • Fix test bench regex that could match *_tb*. #263
  • Add external library sanity check. #230
  • Add non-empty operation check. #250

Download from PyPI

Commits since previous release


2.1.0 - 2017-07-19

  • Add {rivierapro, modelsim}_init_files.after_load sim_options. They allow setting a list of DO/TCL files to be executed during vunit_load after the top level has been loaded using the vsim command.
  • Add input validation to sim and compile options

Download from PyPI

Commits since previous release


2.0.1 - 2017-07-10

  • Various small fixes

Download from PyPI

Commits since previous release


2.0.0 - 2017-02-21

Public interface changes

Some run.py scripts can be broken by this. Both set_generic and add_config works differently internally.

set_generic and set_sim_option now only affects files added before the call so reordering within the run.py can be needed.

add_config on the test case level will no longer discard configurations added on the test bench level. This affects users mixing adding configurations on both test and test case level for the same test bench. Adding a configuration on the test bench level is now seen as a shorthand for adding the configuration to all test cases within the test bench. Configurations are only held at the test case level now. Before there could be configurations on multiple levels where the most specific level ignored all others. I now recommend writing a for loop over test_bench.get_tests() adding configurations to each test individually, see the updated generate_tests example.

We have also forbidden to have configurations without name (“”), this is since the default configuration of all test cases has no name. The post_check and pre_config can now be set using set_pre_config also without using add_config removing the need to add a single unnamed configuration and instead setting these in the default configuration.

This internal restructuring has been made to allow a sane data model of configurations where they are attached to test cases. This allows us to expose configurations objects on the public API in the future allowing users more control and visibility. The current behavior of configurations is also better documented than it ever was.

I suggest reading the section on configurations in the docs.

  • Replace disable_ieee_warnings and set_pli with corresponding simulation options.
  • Adds --version flag
  • Added --gui flag for GHDL to open gtkwave. Also allows saving waveform without opening gui with --gtkwave-fmt flag.

Download from PyPI

Commits since previous release


1.4.0 - 2017-02-05

  • Removed bug when compiling Verilog with Active-HDL
  • Updated array package
  • Added support for simulation init script
  • Added support for setting VHDL asserts stop level from run script

Download from PyPI

Commits since previous release


1.3.1 - 2017-01-17

  • Fixed compile errors with GHDL 0.33

Download from PyPI

Commits since previous release


1.3.0 - 2017-01-06

  • Added support for pass acknowledge messages for check subprograms.
  • Made design unit duplication a warning instead of runtime error again.

Download from PyPI

Commits since previous release


1.2.0 - 2016-12-19

  • Updated OSVVM submodule

Download from PyPI

Commits since previous release


1.1.1 - 2016-12-08

  • Adds vunit_restart and vunit_compile TCL commands for both ModelSim and RivieraPro
  • Also support persistent simulator to save startup overhead for RivieraPro.
  • Changes –new-vsim into -u/–unique-sim which also works for riviera

Download from PyPI

Commits since previous release


1.0.0 - 2016-11-22

  • Adds ActiveHDL custom simulation flags support
  • Made library simulator flag argument deterministic and same as the order added to VUnit
  • Added check_equal between std_logic_vector and natural for unsigned comparison
  • Can now set vhdl_standard on an external library
  • Added no_parse argument to add_source_files(s) to inhibit any dependency or test scanning
  • Renamed public method depends_on to add_dependency_on

Download from PyPI

Commits since previous release


0.71.0 - 2016-10-20

  • Improved location preprocessing control

Download from PyPI

Commits since previous release


0.70.0 - 2016-10-13

  • Hashing test output_path to protect against special characters and long paths on Windows.
  • Added .vo as recognized Verilog file ending.
  • Enable setting vhdl_standard per file.

Download from PyPI

Commits since previous release


0.69.0 - 2016-09-09

Added check_equal for strings.

Download from PyPI

Commits since previous release


0.68.1 - 2016-09-03

New version to fix broken PyPi upload

Download from PyPI

Commits since previous release


0.68.0 - 2016-09-03

Added check_equal for time and updated documentation.

Download from PyPI

Commits since previous release


0.67.0 - 2016-08-08

  • A number of minor enhancements and bug fixes
  • Added vunit_restart TCL procedure to ModelSim
  • Print out remaining number of tests when pressing ctrl-c
  • Updated OSVVM and made it a git submodule. Run
git submodule update --init --recursive

after updating an existing Git repository or

git clone --recursive https://github.com/VUnit/vunit.git

when creating a new clone to get the OSVVM subdirectory of VUnit populated. Doesn’t affect installations made from PyPi

Download from PyPI

Commits since previous release


0.66.0 - 2016-04-03

  • Fixed #109, #141, #153, #155.
  • Fixed relative path for multiple drives on windows.

Download from PyPI

Commits since previous release


0.65.0 - 2016-03-13

  • Added sim and compile options to set rivierapro/activehdl flags. #143.
  • Removed builtin -dbg flag to vcom for aldec tools. Use set_compile_option instead to set it yourself.
  • Fixed a bug with custom relative output_path.
  • Documentation fixes & improvements.
  • Update rivierapro and activehdl toolchain discovery. #148.
  • Added possibility to set VUNIT_<SIMULATOR_NAME>_PATH environment variable to specify simulation executable path. #148.
  • Added -k/--keep-compiling flag. #140.
  • Added optional output_path argument to pre_config. #146.

Download from PyPI

Commits since previous release


0.64.0 - 2016-03-03

  • Added python version check. Closes #141.
  • Not adding .all suffix when there are named configurations

Download from PyPI

Commits since previous release


0.63.0 - 2016-03-02

  • Update test scanner pattern to be based on runner_cfg. #138

Download from PyPI

Commits since previous release



0.62.0 - 2016-02-27

  • Early runtime error when gtkwave is missing. Closes #137
  • Added add_compile_option. Closes #118

Download from PyPI

Commits since previous release


0.61.0 - 2016-02-23

  • Adds .all suffix to test benches with no test to better align with XUnit architecture. - Enables better hierarchical JUnit XML report view in Jenkins.
  • Fixes #129.

Download from PyPI

Commits since previous release


0.60.1 - 2016-02-16

  • Avoids crash with errors in Verilog defines from Python string in run.py

Download from PyPI

Commits since previous release


0.60.0 - 2016-02-15

  • Better error messages when there are circular dependencies.
  • Added defines argument to add_source_file(s) #126
  • Made --files deterministic with Python 3 #116

Download from PyPI

Commits since previous release


0.59.0 - 2016-02-13

  • Covered a miss in circular dependency detection.
  • Added detection of circular includes and macro expansions in verilog preprocessing.
  • Added caching of verilog parse results for significant speed when running run.py more than once.

Download from PyPI

Commits since previous release


0.58.0 - 2016-02-11

  • Parsing Verilog package references. #119
  • Added scan_tests_from_file public method. #121.

Download from PyPI

Commits since previous release


0.57.0 - 2016-02-08

  • Adds include_dirs argument also to Library add_source_file(s)
  • Ignores more builtin Verilog preprocessor directives.

Download from PyPI

Commits since previous release


0.56.0 - 2016-02-07

  • Verilog preprocessing of resetall / undefineall / undef

Download from PyPI

Commits since previous release


0.54.0 - 2016-02-06

  • Adds support for Verilog preprocessor ifdef/ifndef/elsif/else/endif
  • Fixes regression in modelsim persistent mode. Makes many short tests faster.

Download from PyPI

Commits since previous release


0.53.0 - 2016-02-06

  • add_source_files accepts a list of files
  • Added -f/--files command line flag to list all files in compile order
  • Verilog parser improvements in robustness and error messages.

Download from PyPI

Commits since previous release


0.52.0 - 2016-01-29

Added function to get the number of messages missed by a com package actor.

Download from PyPI