2022-10-08 15:09:26 +08:00
|
|
|
TOP := tb
|
|
|
|
DOTF := tb.f
|
|
|
|
CONFIG := default
|
2023-03-27 06:00:18 +08:00
|
|
|
TBEXEC := $(patsubst %.f,%,$(DOTF))
|
2021-12-11 21:26:59 +08:00
|
|
|
|
2021-12-10 06:25:18 +08:00
|
|
|
.PHONY: clean all
|
2021-05-21 09:34:16 +08:00
|
|
|
|
2023-03-25 02:44:37 +08:00
|
|
|
all: $(TBEXEC)
|
2021-05-21 09:34:16 +08:00
|
|
|
|
2022-10-08 15:09:26 +08:00
|
|
|
SYNTH_CMD += read_verilog -I ../../../hdl -DCONFIG_HEADER="config_$(CONFIG).vh" $(shell listfiles $(DOTF));
|
2021-12-11 17:46:38 +08:00
|
|
|
SYNTH_CMD += hierarchy -top $(TOP);
|
2023-03-25 02:44:37 +08:00
|
|
|
SYNTH_CMD += write_cxxrtl build-$(DOTF)/dut.cpp
|
2021-05-21 09:34:16 +08:00
|
|
|
|
2023-03-25 02:44:37 +08:00
|
|
|
build-$(DOTF)/dut.cpp: $(shell listfiles $(DOTF))
|
|
|
|
mkdir -p build-$(DOTF)
|
|
|
|
yosys -p '$(SYNTH_CMD)' 2>&1 > build-$(DOTF)/cxxrtl.log
|
2021-05-21 09:34:16 +08:00
|
|
|
|
|
|
|
clean::
|
2023-03-25 02:44:37 +08:00
|
|
|
rm -f build-$(DOTF) $(TBEXEC)
|
2021-05-21 09:34:16 +08:00
|
|
|
|
2023-03-25 02:44:37 +08:00
|
|
|
$(TBEXEC): build-$(DOTF)/dut.cpp tb.cpp
|
|
|
|
clang++ -O3 -std=c++14 $(addprefix -D,$(CDEFINES)) -I $(shell yosys-config --datdir)/include -I build-$(DOTF) tb.cpp -o $(TBEXEC)
|