LarsAsplund on master
Revert Sphinx version to workar… (compare)
eine on images
eine on master
ci: update container registry, … (compare)
eine on images
ci: update container registry, … (compare)
eine on images
ci: update container registry, … (compare)
eine on fix-axi-stream-protocol-checker
eine on bump-osvvm-to-latest
@LarsAsplund I've tried to remove the output_path(runnger_cfg)
but I still have issues.
I have one tb that contains two test-cases (using run("test-caseX")):
tb.test-case1
tb.test-case2
Using the python script I add generic configurations, therefore all my tests are the following:
tb.cfg1.test-case1
tb.cfg2.test-case1
tb.cfg1.test-case2
tb.cfg2.test-case2
How should I configure the logging in the VHDL to retrieve 4 different .csv, one for each test?
Using variable file_handler_tc1 : log_handler_t := new_log_handler
doesn't seem to work, all logs from test-case1 are overwritten. I don't know what I'm doing wrong.
gtkwave-gtk2
instead of gtkwave
. Both are installed together (same MSYS2 package).
Hi everyone! I am looking for some help with running VUnit examples with GHDL in docker container. So I did just the following:
git clone --recurse-submodules https://github.com/VUnit/vunit.git
cd vunit/examples/vhdl/
bash docker_runall.sh
And I am getting a lot of compilation errors. What am I missing? Or do I need a stable version of VUnit to run examples?
Compiling into vunit_lib: ../../vunit/vhdl/path/src/path.vhd
failed
=== Command used: ===
/usr/local/bin/ghdl -a --workdir=/work/examples/vhdl/vunit_out/ghdl/libraries/vunit_lib --work=vunit_lib --std=08 -P/work/examples/vhdl/vunit_out/ghdl/libraries/vunit_lib -P/work/examples/vhdl/vunit_out/ghdl/libraries/osvvm -P/work/examples/vhdl/vunit_out/ghdl/libraries/axi_dma_lib /work/vunit/vhdl/path/src/path.vhd
=== Command output: ===
/work/vunit/vhdl/path/src/path.vhd:9:10: package "string_ops" is obsoleted by package "std_logic_1164"
use work.string_ops.all;
^
/work/vunit/vhdl/path/src/path.vhd:27:14: package "path" was not analysed
package body path is
^
/usr/local/bin/ghdl: compilation error
Compile failed
vunit_out
didn't help :(
To check if there is a problem with launching from Ubuntu WSL I tried to launch the content of docker_runall.sh in powershell from the same location:
docker run --rm -t -v /c/Users/arnfo/Work/Raitek/vunit://work -w //work/examples/vhdl -e PYTHONPATH=//work ghdl/vunit:llvm-master `
sh -c ' \
VUNIT_SIMULATOR=ghdl; \
for f in `find ./ -name run.py`; do \
if [ -d "vunit_out" ]; then rm -rf vunit_out; fi; \
python3 $f; \
done \
'
and got the same result with compilation errors.
/$(pwd)
and //work
on MSYS2. However, on WSL or Powershell you might need to use a different syntax.
@umarcor thank you a lot for babysitting me, I really appreciate ;)
I've tried to follow your instructions and docker run --rm -itv /$(pwd)://work -w //work ghdl/vunit:llvm-master bash
worked perfectly in Ubuntu WSL, no problem here with $(pwd)
. However, I still got compilation error
root@87d44dc84daf:/work/examples/vhdl/array_axis_vcs# python3 run.py -v
Compiling into lib: src/fifo.vhd
passed
Compiling into lib: src/axis_buffer.vhd
failed
=== Command used: ===
/usr/local/bin/ghdl -a --workdir=/work/examples/vhdl/array_axis_vcs/vunit_out/ghdl/libraries/lib --work=lib --std=08 -P/work/examples/vhdl/array_axis_vcs/vunit_out/ghdl/libraries/vunit_lib -P/work/examples/vhdl/array_axis_vcs/vunit_out/ghdl/libraries/osvvm -P/work/examples/vhdl/array_axis_vcs/vunit_out/ghdl/libraries/lib /work/examples/vhdl/array_axis_vcs/src/axis_buffer.vhd
=== Command output: ===
/work/examples/vhdl/array_axis_vcs/src/axis_buffer.vhd:43:21: entity "fifo" is obsoleted by context "ieee_std_context"
fifo: entity work.fifo
^
/usr/local/bin/ghdl: compilation error
Compile failed
Okey, here I did a sanity check:
docker run --rm -it ghdl/ext:latest bash
root@7c42868f5b3a:/# cd /tmp/files/
root@7c42868f5b3a:/tmp/files# ghdl -a hello.vhdl
root@7c42868f5b3a:/tmp/files# ghdl -e hello_world
*libraries*:1:1:error: entity "hello_world" is obsoleted by package "textio"
^
ghdl:error: compilation error
Tried to run hello_world example with GHDL in ghdl/ext:latest
image (because ghdl/vunit:llvm-master
does not hove these examples) and again the same compilation error :(
On the other hand, the example adder_tb
works fine:
root@eaa0057700b0:/tmp/files# ghdl -a adder.vhdl adder_tb.vhdl
root@eaa0057700b0:/tmp/files# ghdl -e adder_tb
root@eaa0057700b0:/tmp/files# ghdl -r adder_tb
adder_tb.vhdl:54:5:@8ns:(assertion note): end of test
The difference between adder_tb
and hello_world
is that the latest use standard textio package. So I assume I got some problems with standard libraries?
There is no reason for example Hello to work but Adder to fail. I mean from a code, GHDL or VUnit point of view.
Well, I agree with that, however as I mentioned the Hello example does use standard libraries and GHDL is complaining about them :(
Did you checkout/clone VUnit through Windows?
Yep, I checked out VUnit to /mnt/c/...
, however doing the same operation to ~
in WSL does not change anything - Docker container is launched as a separate WSL, as far as I know. It looks like the problem is not located in VUnit at all, rather in GHDL or in Docker. Do you use WSL2 or WSL1?
-m
tag to compile the minimal subset needed for my tests. However, I ran into an issue with it just now. I have a vendor library that defines some component
s, with corresponding entities in separate files. When doing a full compile, the files containing the entities are included. But when doing a minimal compile, they are not. And as a result, my test bench no longer passes.
Docker container is launched as a separate WSL, as far as I know. It looks like the problem is not located in VUnit at all, rather in GHDL or in Docker.
@arnfol, the point is that the error does not make sense because it implies that textio was analysed after hello_world and doing so obsoleted hello_world. If that was the case, analysing hello.vhdl
would fix it, but you just did it!
Moreover, you are not mounting/binding any directory from the host. Therefore, something seems to be wrong with the filesystem Docker is running on... it is reporting the date of the prebuilt libraries incorrectly.
Do you use WSL2 or WSL1?
I'm not using any of those. I use Docker Desktop, from an MSYS2 terminal.
How did you install docker?
How did you install docker?
I also use Docker Desktop, installed the common way, downloaded distro from the official website
I'm not using any of those. I use Docker Desktop, from an MSYS2 terminal.
I mean what is your Docker backend? As far as I know Docker could run with WSL2 or HyperV backend. Mine is using WSL2
Hello! Relatively new to the VUnit world and starting to use it in Sigasi Studio. Does anyone who is using or used VUnit with Sigasi Studio know by any chance what may be the reason all my test results from test runs (in test_output folder that VUnit creates) are being dumped in my user \AppData\Local\Temp\ folder when running the VUnit tests from Sigasi IDE? When I run tests (via run.py file) in Windows command line, this does not happen, and I do see the test results in the folder where the VUnit project resides so I think it is something with Sigasi. I thought I followed all the necessary steps for integrating Sigasi with VUnit (via Sigasi's online instructions) and even tried setting the output path via --output-path VUnit option in Sigasi preferences but still keeps sending it to the Temp folder. Let me know if you'd like more info, and appreciate any input, thanks!