Repository navigation
Expand file tree
/
Copy pathMakefile
More file actions
64 lines (44 loc) · 1.93 KB
/
Copy pathMakefile
File metadata and controls
64 lines (44 loc) · 1.93 KB
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# Top-level Makefile for RISC-V Robot SoC
ROOT_DIR := $(abspath $(dir $(lastword $(MAKEFILE_LIST))))
PYTHON ?= python3
IVERILOG ?= iverilog
VVP ?= vvp
YOSYS ?= yosys
.PHONY: all sim sim_nna sim_safety sim_soc sim_nav sim_cosim sim_nna_corners sim_safety_adv sim_trained_nna test_quant sim_all test_py test_nna_corners firmware synth_check clean
all: test_py test_nna_corners test_quant sim_nna sim_safety sim_nna_corners sim_safety_adv sim_trained_nna sim_soc sim_nav sim_cosim synth_check
firmware:
$(MAKE) -C $(ROOT_DIR)/sim firmware
test_py:
$(MAKE) -C $(ROOT_DIR)/sim test_py
test_nna_corners:
$(MAKE) -C $(ROOT_DIR)/sim test_nna_corners
test_quant:
$(MAKE) -C $(ROOT_DIR)/sim test_quant
sim: sim_nna sim_safety sim_soc sim_nav sim_cosim
sim_nna:
$(MAKE) -C $(ROOT_DIR)/sim test_nna
sim_safety:
$(MAKE) -C $(ROOT_DIR)/sim test_safety
sim_nna_corners:
$(MAKE) -C $(ROOT_DIR)/sim test_nna_corners_sim
sim_safety_adv:
$(MAKE) -C $(ROOT_DIR)/sim test_safety_adv
sim_trained_nna:
$(MAKE) -C $(ROOT_DIR)/sim test_trained_nna
sim_soc:
$(MAKE) -C $(ROOT_DIR)/sim test_soc
sim_nav:
$(MAKE) -C $(ROOT_DIR)/sim test_nav
sim_cosim:
$(MAKE) -C $(ROOT_DIR)/sim test_cosim
sim_all: sim_nna sim_safety sim_nna_corners sim_safety_adv sim_trained_nna sim_soc sim_nav sim_cosim
synth_check:
@echo "--- Running Yosys RTL Syntax & Elaboration Check ---"
@if command -v $(YOSYS) >/dev/null 2>&1; then \
$(YOSYS) -p "read_verilog -DSYNTHESIS -I$(ROOT_DIR)/rtl $(ROOT_DIR)/rtl/nna/*.v $(ROOT_DIR)/rtl/safety/*.v $(ROOT_DIR)/rtl/periph/*.v $(ROOT_DIR)/rtl/mem/*.v $(ROOT_DIR)/rtl/bus/*.v $(ROOT_DIR)/rtl/cpu/picorv32.v $(ROOT_DIR)/rtl/soc_top.v; hierarchy -check -top soc_top; check"; \
else \
echo "[INFO] yosys not detected in PATH, skipping gate-level synthesis elaboration check."; \
fi
clean:
$(MAKE) -C $(ROOT_DIR)/sim clean
rm -f $(ROOT_DIR)/sw/firmware/*.o $(ROOT_DIR)/sw/firmware/*.elf $(ROOT_DIR)/sw/firmware/*.bin $(ROOT_DIR)/sw/firmware/*.dump