DemaConsulting.VHDLTest
1.9.0
Prefix Reserved
dotnet tool install --global DemaConsulting.VHDLTest --version 1.9.0
dotnet new tool-manifest
dotnet tool install --local DemaConsulting.VHDLTest --version 1.9.0
#tool dotnet:?package=DemaConsulting.VHDLTest&version=1.9.0
nuke :add-package DemaConsulting.VHDLTest --version 1.9.0
VHDLTest Tool
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_QUESTASIM_PATH = path to QuestaSim 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> UTC |
Tests:
✓ VHDLTest_TestPasses - Passed
✓ VHDLTest_TestFails - Passed
Total Tests: 2
Passed: 2
Failed: 0
Validation Passed
Each test in the report proves:
VHDLTest_TestPasses- The simulator correctly reports passing test benches.VHDLTest_TestFails- The simulator correctly reports failing test benches.
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.
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.
Security
Security is a top priority for this project. If you discover a security vulnerability, please review our Security Policy for information on how to report it responsibly.
| Product | Versions 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. |
This package has no dependencies.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.9.0 | 96 | 4/6/2026 |
| 1.8.0 | 118 | 1/29/2026 |
| 1.7.0 | 106 | 1/14/2026 |
| 1.6.0 | 302 | 12/15/2025 |
| 1.5.0 | 215 | 12/4/2025 |
| 1.4.1 | 218 | 6/19/2025 |
| 1.4.0 | 190 | 12/25/2024 |
| 1.3.1 | 183 | 12/24/2024 |
| 1.3.0 | 206 | 12/2/2024 |
| 1.2.0 | 236 | 8/10/2024 |
| 1.1.1 | 235 | 7/24/2024 |
| 1.1.0 | 190 | 7/22/2024 |
| 1.0.0 | 209 | 7/1/2024 |
| 0.1.0-beta.4 | 141 | 5/20/2024 |
| 0.1.0-beta.3 | 280 | 11/17/2023 |
| 0.1.0-beta.2 | 140 | 11/17/2023 |
| 0.1.0-beta.1 | 130 | 11/16/2023 |