diff options
Diffstat (limited to 'fpga/Makefile')
-rw-r--r-- | fpga/Makefile | 37 |
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 |