1TOP = TopMain 2BUILD_DIR = ./build 3TOP_V = $(BUILD_DIR)/$(TOP).v 4SCALA_FILE = $(shell find ./src/main/scala -name '*.scala') 5 6SIMTOP = top.TestMain 7IMAGE = "" 8SIMCMD = test:runMain $(SIMTOP) -td $(BUILD_DIR) --image $(IMAGE) \ 9 --more-vcs-flags "+define+RANDOMIZE_REG_INIT" 10 11.DEFAULT_GOAL = verilog 12 13help: 14 sbt 'test:runMain gcd.GCDMain --help' 15 16LIBDEVICE_PATH = ./src/test/cpp/libdevice 17libdevice: 18 make -C $(LIBDEVICE_PATH) 19 20$(TOP_V): $(SCALA_FILE) 21 mkdir -p $(@D) 22 sbt 'runMain top.$(TOP) -td $(@D) --output-file $@' 23 sed -i -e 's/_\(aw\|ar\|w\|r\|b\)_\(\|bits_\)/_\1/g' $@ 24 25verilog: $(TOP_V) 26 27test: libdevice 28 sbt '$(SIMCMD) --tr-rollback-buffers 0' 29 30emu: libdevice 31 sbt '$(SIMCMD) --backend-name verilator --generate-vcd-output off' 32 33clean: 34 rm -rf $(BUILD_DIR) 35 36.PHONY: libdevice verilog test emu clean help 37