iverilog/ivtest
Martin Whitaker ad400ac468 vvp: Remove restriction on time types for cbNextSimTime.
IEEE 1364-1995 has different wording to later versions of the standard,
stating "For reason cbNextSimTime, the time structure is ignored." So
it's possible old VPI code might not pass a valid time pointer or time
structure. So remove the checks that the time pointer is non-null and
that the time type is not vpiSuppressTime.

To allow a user to select the time type, we have to assume that if
the time pointer is non-null, it is a valid pointer and not just an
uninitialised field.
2024-02-06 18:47:54 +00:00
..
blif Add ivtest to the iverilog source tree 2022-01-15 10:18:50 -08:00
contrib Add ivtest to the iverilog source tree 2022-01-15 10:18:50 -08:00
fpga_tests Add ivtest to the iverilog source tree 2022-01-15 10:18:50 -08:00
gold Add regression tests for mixed procedural/continuous assignments. 2024-02-03 22:24:22 +00:00
ivltests Add regression tests for mixed procedural/continuous assignments. 2024-02-03 22:24:22 +00:00
obsolete Add ivtest to the iverilog source tree 2022-01-15 10:18:50 -08:00
perl-lib Add ivtest to the iverilog source tree 2022-01-15 10:18:50 -08:00
src Add ivtest to the iverilog source tree 2022-01-15 10:18:50 -08:00
vhdl_gold Add ivtest to the iverilog source tree 2022-01-15 10:18:50 -08:00
vhdl_tests Add ivtest to the iverilog source tree 2022-01-15 10:18:50 -08:00
vpi vvp: Remove restriction on time types for cbNextSimTime. 2024-02-06 18:47:54 +00:00
vpi_gold vvp: Remove restriction on time types for cbNextSimTime. 2024-02-06 18:47:54 +00:00
vvp_tests Add regression tests for mixed procedural/continuous assignments. 2024-02-03 22:24:22 +00:00
.gitattributes Add ivtest to the iverilog source tree 2022-01-15 10:18:50 -08:00
.gitignore Ignore new ivtest output files in git 2024-01-20 17:44:59 -08:00
COPYING Add ivtest to the iverilog source tree 2022-01-15 10:18:50 -08:00
README.txt More test version cleanup 2023-12-28 12:14:44 -08:00
blif.list Add ivtest to the iverilog source tree 2022-01-15 10:18:50 -08:00
blif_reg.py Add ivtest to the iverilog source tree 2022-01-15 10:18:50 -08:00
find_valg_all Add ivtest to the iverilog source tree 2022-01-15 10:18:50 -08:00
find_valg_errs Add ivtest to the iverilog source tree 2022-01-15 10:18:50 -08:00
regress Add ivtest to the iverilog source tree 2022-01-15 10:18:50 -08:00
regress-fsv.list ivtest: Remove outdated pr1963962 SystemVerilog mode gold file 2024-01-13 19:07:44 -08:00
regress-ivl1.list Move tests pr2509349a/b to the new test format. 2024-01-21 15:49:09 -08:00
regress-sv.list ivtest: Remove regress v11, v12, and v13 2023-12-17 20:13:00 -08:00
regress-synth.list ivtest: Remove regress v11, v12, and v13 2023-12-17 20:13:00 -08:00
regress-vhdl.list ivtest: Mark as NI tests that are known to fail. 2022-01-16 13:17:46 -08:00
regress-vlg.list ivtests/array_slice_contact: add test manifest 2023-12-30 10:57:24 +09:00
regress-vlog95.list Move tests pr2509349a/b to the new test format. 2024-01-21 15:49:09 -08:00
regress-vvp.list Add regression tests for mixed procedural/continuous assignments. 2024-02-03 22:24:22 +00:00
run_ivl.py run_ivl.py: Properly escape `.` in regex 2024-01-14 17:33:23 -08:00
test_lists.py Spelling and space cleanup 2023-05-31 22:44:13 -07:00
vhdl_reg.pl Add ivtest to the iverilog source tree 2022-01-15 10:18:50 -08:00
vhdl_regress.list Add ivtest to the iverilog source tree 2022-01-15 10:18:50 -08:00
vlog95_reg.pl More test version cleanup 2023-12-28 12:14:44 -08:00
vpi_reg.pl More test version cleanup 2023-12-28 12:14:44 -08:00
vpi_regress.list Extend the VPI value change callback tests. 2024-02-06 09:04:13 +00:00
vvp_reg.pl Move tests pr2509349a/b to the new test format. 2024-01-21 15:49:09 -08:00
vvp_reg.py Update Python test script to run using 3.5 or newer 2023-06-01 01:06:05 -07:00

README.txt

####################
#
# Main test script
#
####################

There are a group of tests that are meant to exercise the compiler
and the run time. To run them just type:

./regress

or

perl vvp_reg.pl

or if perl is located in /usr/bin

./vvp_reg.pl

The output from these tests are displayed on the screen
and are also placed in the regression_report.txt file.
The expected output for the current development release
is located in the regression_report-devel.txt file. The
expected output for stable (released) versions can be
found in files named regression_report-v<version>.txt.

The results from individual tests can be found in the
log directory and gold files, when needed, are in the
gold directory. The source files can be found in the
ivltests and contrib directories. The list of tests
and how they are run are in the regress-*.list files.

To check a specific suffixed version of Icarus Verilog
use the --suffix=<suffix> flag to tell the script which
version to run e.g.(--suffix=-10 will test iverilog-10,
etc.). You can also run the test with valgrind (very very
slow) by giving the script the --with-valgrind flag.


####################
#
# VPI test script
#
####################

To test the VPI interface type:

perl vpi_reg.pl

or if perl is located in /usr/bin

./vpi_reg.pl

All these tests should pass.

The individual test results are found in the vpi_log
directory and the gold files are in the vpi_gold
directory. The source files are in the vpi directory.
The vpi_regress.list file has the tests to perform.

This script also takes the --suffix=<suffix> and the
--with-valgrind flags described above.


####################
#
# VHDL test script
#
####################

** Note this is no longer maintained **

This test script require that ghdl be installed in your
path and is used to test the Verilog to VHDL translation.

perl vhdl_reg.pl

or if perl is located in /usr/bin

./vhdl_reg.pl

The tests are expected to pass except for the tri* tests.

This script also takes the --suffix=<suffix> and the
--with-valgrind flags described above.


####################
#
# BLIF test script
#
####################

This test script require that abc be installed in your
path and is used to test the Verilog to VHDL translation.

python blif_reg.py

There is no expected output as of yet so to check for
regressions simply run with and without your patches.


####################
#
# Windows (MinGW) test issues
#
####################

When running under Windows using a MinGW build in a MSYS2
shell, the expected output from vvp_reg.pl can be found in
regression_report-msys2.txt. The MinGW/MSYS2 specific test
exceptions can be found in regress-msys2.list. Exceptions
for the VPI tests can be found in the vpi_regress.list file.

With Windows 10 and MSYS2, there are now very few differences
between the Windows and Linux builds.