summaryrefslogtreecommitdiff
path: root/Makefile
blob: 787efa1b274b1696f742f163576edfc8afb9037d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
TOP       := conspiracion
VCD_DIR   := vcd
OBJ_DIR   := obj
RTL_DIR   := rtl
TB_DIR    := tb
VERILATOR := verilator

all: trace

clean:
	rm -rf $(OBJ_DIR) $(VCD_DIR)

trace: exe vcd
	cd $(VCD_DIR) && ../$(OBJ_DIR)/V$(TOP)

$(VCD_DIR):
	@mkdir $(VCD_DIR)

exe: $(OBJ_DIR)/V$(TOP)

$(OBJ_DIR)/V$(TOP): $(OBJ_DIR)/V$(TOP).mk
	$(MAKE) -C $(OBJ_DIR) -f V$(TOP).mk $(MAKEFLAGS)

$(OBJ_DIR)/V$(TOP).mk: $(wildcard $(RTL_DIR)/*.sv) $(wildcard $(TB_DIR)/*.cpp)
	$(VERILATOR) \
		--cc --exe --trace \
		-y $(RTL_DIR) --Mdir $(OBJ_DIR) \
		rtl/$(TOP).sv $(wildcard $(TB_DIR)/*.cpp)