aboutsummaryrefslogtreecommitdiff
path: root/VexRiscv/scripts/Murax/arty_a7/makefile
diff options
context:
space:
mode:
authorFriedrich Beckmann <friedrich.beckmann@hs-augsburg.de>2022-07-25 17:55:39 +0200
committerFriedrich Beckmann <friedrich.beckmann@hs-augsburg.de>2022-07-25 17:55:39 +0200
commit3fff6023602822531efdae30bc8ebf862967f1ef (patch)
tree16028102b8d850f8ab3115d28a8539ca6bc5f51d /VexRiscv/scripts/Murax/arty_a7/makefile
Initial Commit
Diffstat (limited to 'VexRiscv/scripts/Murax/arty_a7/makefile')
-rw-r--r--VexRiscv/scripts/Murax/arty_a7/makefile62
1 files changed, 62 insertions, 0 deletions
diff --git a/VexRiscv/scripts/Murax/arty_a7/makefile b/VexRiscv/scripts/Murax/arty_a7/makefile
new file mode 100644
index 0000000..b672652
--- /dev/null
+++ b/VexRiscv/scripts/Murax/arty_a7/makefile
@@ -0,0 +1,62 @@
+ROOT=../../..
+SWBASE=$(ROOT)/src/main/c/murax
+SOCSW=hello_world
+SOCMEMSRC=$(SWBASE)/$(SOCSW)/build/$(SOCSW).v
+SOCMEM=build/soc.mem
+
+TOP=Murax
+
+all : build/latest.bit
+
+../../../$(TOP).v : toplevel.v
+ (cd ../../..; sbt "runMain vexriscv.demo.Murax_arty")
+
+.PHONY: $(SOCMEMSRC)
+$(SOCMEMSRC):
+ mkdir -p build
+ make -C $(SWBASE)/$(SOCSW)
+
+$(SOCMEM) : $(SOCMEMSRC)
+ cp -u $(SOCMEMSRC) $(SOCMEM)
+
+build/vivado_project/fpga.runs/impl_1/toplevel.bit : toplevel.v arty_a7.xdc ../../../$(TOP).v
+ mkdir -p build
+ ./make_vivado_project
+ cp build/vivado_project/fpga.runs/impl_1/toplevel.bit build/latest.bit
+
+build/soc.mmi: build/vivado_project/fpga.runs/impl_1/toplevel.bit
+ ./make_mmi_files
+
+build/latest_soc_sw.bit : $(SOCMEM) build/soc.mmi
+ rm -f updatemem.jou updatemem.log
+ updatemem -force --meminfo build/soc.mmi --data $(SOCMEM) --bit build/latest.bit --proc dummy --out build/latest_soc_sw.bit
+ cp build/latest_soc_sw.bit build/latest.bit
+
+build/latest.bit : build/latest_soc_sw.bit
+
+build/latest.mcs : build/latest.bit
+ ./make_mcs_file
+
+prog : build/latest.bit
+ ./write_fpga
+
+flash : build/latest.mcs
+ ./write_flash
+
+clean-soc-sw:
+ make -C $(SWBASE)/$(SOCSW) clean-all
+
+soc-sw: clean-soc-sw $(SOCMEM)
+
+.PHONY: clean
+clean :
+ rm -rf build
+ mkdir build
+ rm -f updatemem.jou
+ rm -f updatemem.log
+
+clean-sw: clean-soc-sw
+
+clean-all : clean clean-sw
+ rm -f ../../../$(TOP).v
+ rm -f ../../../$(TOP).v_*