Added VUnit run script.

The VUnit run script will find all VHDL files based on given search patterns, figure out their dependencies, and support incremental compile based on the dependencies.
The same script is used for all VUnit supported simulators. Supporting several simulators simplifies the adoption of this project.

At this point only compilation is performed. Coming commits will enable simulation of VHDL testbenches.

Signed-off-by: Lars Asplund <>
Lars Asplund 2 years ago
parent 84473eda1b
commit 41d57e6148

@ -0,0 +1,20 @@
from pathlib import Path
from vunit import VUnit
from glob import glob

prj = VUnit.from_argv()
root = Path(__file__).parent

lib = prj.add_library("lib")
lib.add_source_files(root / "litedram/extras/*.vhdl")
lib.add_source_files(root / "litedram/generated/sim/*.vhdl")

# Use multiply.vhd and not xilinx-mult.vhd
vhdl_files_in_root = glob(str(root / "*.vhdl"))
vhdl_files_to_use = [src_file for src_file in vhdl_files_in_root if "xilinx-mult" not in src_file]

unisim = prj.add_library("unisim")
unisim.add_source_files(root / "sim-unisim/*.vhdl")