35 lines
No EOL
786 B
Makefile
35 lines
No EOL
786 B
Makefile
VIVADO_SETTINGS := C:/Xilinx/Vivado/2023.1/settings64.sh
|
|
|
|
PROJ_NAME := example
|
|
SIM_TOP := example_tb
|
|
|
|
SRC_DIR := src
|
|
SIM_DIR := sim
|
|
BUILD_DIR := .build
|
|
|
|
WAVEFORM_CFG := $(SIM_DIR)/$(SIM_TOP).sim.wcfg
|
|
|
|
WAVEFORM_VCD := simulation_${PROJ_NAME}.wdb
|
|
|
|
all: sim
|
|
|
|
sim: $(WAVEFORM_VCD)
|
|
|
|
$(WAVEFORM_VCD): $(SRC_DIR)/*.vhdl
|
|
source $(VIVADO_SETTINGS) && \
|
|
cd $(BUILD_DIR) && \
|
|
xelab -debug typical -top $(SIM_TOP) -snapshot $(SIM_TOP)_snapshot && \
|
|
xsim $(SIM_TOP)_snapshot -gui -view ../$(WAVEFORM_CFG)
|
|
|
|
$(SRC_DIR)/*.vhdl: $(BUILD_DIR)
|
|
source $(VIVADO_SETTINGS) && \
|
|
cd $(BUILD_DIR) && \
|
|
xvhdl ../$(SRC_DIR)/*.vhdl ../$(SIM_DIR)/*.vhdl
|
|
|
|
$(BUILD_DIR):
|
|
source $(VIVADO_SETTINGS) && \
|
|
mkdir -p $@
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
rm -rf $(BUILD_DIR) *.log *.pb *.jou *.wdb *.str xsim.dir .Xil
|