summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2022-09-01 14:39:59 -0600
committerAlejandro Soto <alejandro@34project.org>2022-09-01 14:39:59 -0600
commitf4ec28afc79d20eec060fd7b7a1d54bda20d8a75 (patch)
tree4e14fb28bd4307362e7f4df255ba6327963ae07a /Makefile
Initial commit
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile28
1 files changed, 28 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..787efa1
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,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)