I have a project with the following structure:
tb_top
├── run.py
└── src
├── tb_top.vhd
├── test_a
│ ├── top_parameter.vhd
│ ├── input.csv
│ └── output.csv
├── test_b
│ ├── top_parameter.vhd
│ ├── input.csv
│ └── output.csv
└── ...
src
├── bar.vhd
├── foo.vhd
└── top.vhd
top.vhd
includes foo.vhd
, bar.vhd
as well as top_parameter.vhd
of each test case. In run.py
, first the files at src/
folder are compiled and then the top_parameter.vhd
for each test case. All files are in the same library. When running run.py
the following error is displayed:
tb_top/src/tb_top.vhd:44:20: entity "top" is obsoleted by package "top_parameter"
/usr/local/bin/ghdl: compilation error
Obviously, top.vhd
should be recompiled everytime when top_parameter.vhd
gets recompiled, but I can't figure out how to structure my run.py
. Is there are way to compile the tests correctly, without:
- recompiling
foo.vhd
andbar.vhd
for each test? - duplicating identical files like
tb_top.vhd
andrun.py
for each test?
I'm using VUnit 4.2.0 and the current master of ghdl. If needed, I can prepare a MWE.