aboutsummaryrefslogtreecommitdiff
path: root/fpga/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'fpga/Makefile')
-rw-r--r--fpga/Makefile37
1 files changed, 14 insertions, 23 deletions
diff --git a/fpga/Makefile b/fpga/Makefile
index c9326a7..edbb7d1 100644
--- a/fpga/Makefile
+++ b/fpga/Makefile
@@ -1,41 +1,32 @@
BSC_COMP_FLAGS = -bdir tmp -p src:+ -simdir tmp -vdir tmp
BSC_LINK_FLAGS = -bdir tmp -simdir tmp -vdir tmp
BSC_SOURCES = BRAM2.v FIFO1.v FIFO10.v RevertReg.v SizedFIFO.v
-TOPFILE = Top
-TOPMODULE = mkTop
-SRCS = $(shell find src -name '*.bs')
-all: tmp/$(TOPMODULE).bin
-flash: tmp/$(TOPMODULE).bin
+all: tmp/mkTop.bin
+flash: tmp/mkTop.bin
sudo iceprog $<
gtkwave: tmp/sim.vcd
gtkwave -A $<
.PHONY: all flash gtkwave
-tmp/sim.vcd: tmp/$(TOPMODULE)Sim.exe
- tmp/$(TOPMODULE)Sim.exe -V $@
tmp/%.bin: tmp/%.asc
- # https://github.com/YosysHQ/icestorm/issues/114
- # icetime -d up5k -c 12 $<
icepack $< $@
tmp/%.asc tmp/%-report.json: tmp/%.json src/icebreaker.pcf
nextpnr-ice40 -ql tmp/$*.nplog --up5k --package sg48 --freq 12 \
--asc $@ --report tmp/$*-report.json \
--pcf src/icebreaker.pcf --json $<
-tmp/$(TOPMODULE).json: tmp/$(TOPMODULE).v $(addprefix $(BSC)/lib/Verilog/,$(BSC_SOURCES))
- yosys -ql tmp/$(TOPMODULE).yslog -p 'synth_ice40 -top mkTop -json $@' $^
-tmp/$(TOPMODULE)Sim.exe: tmp/$(TOPFILE).bo
- bsc -u -sim -g $(TOPMODULE)Sim $(BSC_COMP_FLAGS) src/$(TOPFILE)Sim.bs
- bsc -sim -e $(TOPMODULE)Sim $(BSC_LINK_FLAGS) -o $@
-tmp/$(TOPMODULE).v: tmp/$(TOPFILE).bo
- bsc -g $(TOPMODULE) -verilog $(BSC_COMP_FLAGS) src/$(TOPFILE).bs
-tmp/%.bo:
+tmp/mkTop.json: tmp/mkTop.v $(addprefix $(BSC)/lib/Verilog/,$(BSC_SOURCES))
+ yosys -ql tmp/mkTop.yslog -p 'synth_ice40 -top mkTop -json $@' $^
+tmp/mkTop.v:
@mkdir -p $(dir $@)
- bsc -verilog $(BSC_COMP_FLAGS) $<
-# Hack around not having precise dependency information for Bluespec files.
-.PHONY: tmp/$(TOPFILE).bo
+ bsc -u -verilog -g mkTop $(BSC_COMP_FLAGS) src/Top.bs
-tmp/depends.mk:
+tmp/sim.vcd: tmp/mkTopSim.exe
+ tmp/mkTopSim.exe -V $@
+tmp/mkTopSim.exe: tmp/mkTopSim.ba
+ bsc -sim -e mkTopSim $(BSC_LINK_FLAGS) -o $@
+tmp/mkTopSim.ba:
@mkdir -p $(dir $@)
- bluetcl -exec makedepend $(BSC_COMP_FLAGS) src/$(TOPFILE).bs > $@
-include tmp/depends.mk
+ bsc -u -sim -g mkTopSim $(BSC_COMP_FLAGS) src/Top.bs
+
+.PHONY: tmp/mkTop.v tmp/mkTopSim.ba