The Build System
The build system employed in this project is based on vbom or "VHDL bill of material" files which list for each VHDL source file the libraries and sources for the instantiated components, the latter via their vbom, and last but not least the name of the VHDL source file. All file names are relative to the current directory (see for example the vbom's of sys_w11a_n4 and tb_w11a_n4 ). A recursive traversal through all vbom's gives for each VHDL module all sources needed to compile it. The vbomconv script in tools/bin does this, and generates, depending on options,
- make dependency files
- Vivado project definition files
- Vivado simulator build scripts
- ISE xst project files
- ISE ISim project files
- GHDL commands for analysis, inspection and make step
The Makefile's in general just contain a few definitions and includes.
Master Makefiles contain pattern rules for simulation and synthesis and
encapsulate all the vbomconf
magic.
A full w11a system is built from about 100 VHDL source files,
test benches from about 120 VHDL source files. Using the vbom's a large number
of designs can be easily maintained.
For further information see
- Vivado:
- Guide to the Vivado Build System
- example Makefiles: sys_w11a_n4 and tb_w11a_n4
- master Makefiles: generic_ghdl.mk, generic_xsim.mk and generic_vivado.mk
- ISE:
- Guide to the ISE Build System
- example Makefiles: sys_w11a_n2 and tb_w11a_n2
- master Makefiles: generic_ghdl.mk and generic_xflow.mk