DemaConsulting.VHDLTest 1.6.0

Prefix Reserved
dotnet tool install --global DemaConsulting.VHDLTest --version 1.6.0
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local DemaConsulting.VHDLTest --version 1.6.0
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=DemaConsulting.VHDLTest&version=1.6.0
                    
nuke :add-package DemaConsulting.VHDLTest --version 1.6.0
                    

VHDLTest Tool

GitHub forks GitHub Repo stars GitHub contributors GitHub Build Quality Gate Status Security Rating NuGet

This tool runs VHDL test benches and generates standard test results files.

Installation

The following will add VHDLTest to a Dotnet tool manifest file:

dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local DEMAConsulting.VHDLTest

The tool can then be executed by:

dotnet vhdltest <arguments>

Options

Usage: VHDLTest [options] [tests]

Options:
  -h, --help                   Display help
  -v, --version                Display version
  --silent                     Silence console output
  --verbose                    Verbose output
  --validate                   Perform self-validation
  -c, --config <config.yaml>   Specify configuration
  -r, --results <out.trx>      Specify test results file
  -s, --simulator <name>       Specify simulator
  -0, --exit-0                 Exit with code 0 if test fail
  --                           End of options

Supported Simulators

The current list of supported simulators are:

Configuration

VHDLTest needs a YAML configuration file specifying the VHDL files and test benches.

# List of VHDL source files
files:
 - full_adder.vhd
 - full_adder_pass_tb.vhd
 - full_adder_fail_tb.vhd
 - half_adder.vhd
 - half_adder_pass_tb.vhd
 - half_adder_fail_tb.vhd

# List of test benches to execute
tests:
 - full_adder_pass_tb
 - full_adder_fail_tb
 - half_adder_pass_tb
 - half_adder_fail_tb

Running Tests

Before running the tests, it may be necessary to configure where the simulators are installed. This can be done through environment variables:

  • VHDLTEST_GHDL_PATH = path to GHDL folder
  • VHDLTEST_MODELSIM_PATH = path to ModelSim folder
  • VHDLTEST_VIVADO_PATH = path to Vivado folder
  • VHDLTEST_ACTIVEHDL_PATH = path to ActiveHDL folder
  • VHDLTEST_NVC_PATH = path to NVC folder

To run the tests, execute VHDLTest with the name of the configuration file.

dotnet VHDLTest --config test_suite.yaml

A test results file can be generated when working in CI environments.

dotnet VHDLTest --config test_suite.yaml --results test_results.trx

Self Validation

Running self-validation produces a report containing the following information:

# DEMAConsulting.VHDLTest

| Information         | Value                                              |
| :------------------ | :------------------------------------------------- |
| VHDLTest Version    | <version>                                          |
| Machine Name        | <machine-name>                                     |
| OS Version          | <os-version>                                       |
| DotNet Runtime      | <dotnet-runtime-version>                           |
| Time Stamp          | <timestamp>                                        |

Tests:

- TestPasses: Passed
- TestFails: Passed

Validation Passed

On validation failure the tool will exit with a non-zero exit code.

This report may be useful in regulated industries requiring evidence of tool validation.

Code Quality

This project maintains high code quality standards through:

  • Static Analysis: Microsoft.CodeAnalysis.NetAnalyzers provides comprehensive code analysis
  • Code Coverage: Coverlet tracks test coverage during builds
  • SonarCloud: Continuous code quality and security analysis
  • EditorConfig: Consistent code formatting across all editors
  • Spell Checking: cspell configuration for documentation quality
  • Markdown Linting: markdownlint for consistent documentation formatting
  • Automated Checks: Quality checks workflow with spell checking and markdown linting
  • Dependency Management: Dependabot for weekly dependency updates

For Contributors

The project includes:

  • .editorconfig - Formatting rules for all editors
  • .cspell.json - Spell checking configuration
  • .markdownlint.json - Markdown linting rules

Build with dotnet build to see code quality feedback.

Contributing

We welcome contributions! Please see our Contributing Guidelines for details on how to submit pull requests, report issues, and contribute to the project.

Code of Conduct

This project adheres to a Code of Conduct to ensure a welcoming environment for all contributors.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
1.6.0 38 12/15/2025
1.5.0 181 12/4/2025
1.4.1 195 6/19/2025
1.4.0 158 12/25/2024
1.3.1 155 12/24/2024
1.3.0 174 12/2/2024
1.2.0 202 8/10/2024
1.1.1 197 7/24/2024
1.1.0 157 7/22/2024
1.0.0 171 7/1/2024
0.1.0-beta.4 105 5/20/2024
0.1.0-beta.3 244 11/17/2023
0.1.0-beta.2 103 11/17/2023
0.1.0-beta.1 99 11/16/2023