Compare commits

..

3 commits

Author SHA1 Message Date
e7087eb7db makefile: switch to nextpnr toolchain 2022-06-04 21:19:37 +02:00
608c17d1a8 makefile: use relative paths 2022-06-04 21:19:26 +02:00
8257886f6b Add nextpnr-xilinx makefile 2022-06-04 21:18:57 +02:00
2 changed files with 17 additions and 3 deletions

View file

@ -1,8 +1,8 @@
.SECONDARY: .SECONDARY:
SYNTH_TOOLCHAIN ?= symbiflow SYNTH_TOOLCHAIN ?= nextpnr
WORKDIR = $(PWD)/work WORKDIR = work
GHDL_WORKDIR = $(WORKDIR)/ghdl GHDL_WORKDIR = $(WORKDIR)/ghdl
SYMBIYOSYS_WORKDIR = $(WORKDIR)/symbiyosys SYMBIYOSYS_WORKDIR = $(WORKDIR)/symbiyosys
LITEX_WORKDIR = $(WORKDIR)/litex LITEX_WORKDIR = $(WORKDIR)/litex
@ -30,7 +30,7 @@ GTKWAVE = gtkwave
# synthesis # synthesis
XDC = $(PWD)/arty_a7_35.xdc XDC = arty_a7_35.xdc
PART = xc7a35tcsg324-1 PART = xc7a35tcsg324-1

14
Makefile.nextpnr Normal file
View file

@ -0,0 +1,14 @@
SYNTH_OUTPUT_FILE = $(SYNTH_WORKDIR)/$(YOSYS_MODULE_NAME).json
$(SYNTH_WORKDIR)/%.json: $(VHDL_FILES) $(VERILOG_FILES) | $(SYNTH_WORKDIR) $(GHDL_WORKDIR)/work-obj$(VHDL_STD).cf
$(GHDL) make $(GHDL_FLAGS) $(SYNTH_ENTITY)
$(YOSYS) -m $(GHDL_YOSYS_PLUGIN) -l $(SYNTH_WORKDIR)/yosys.log -p 'ghdl $(GHDL_FLAGS) $(SYNTH_ENTITY); read_verilog $(VERILOG_FILES); chformal -remove; synth_xilinx -nodsp -nosrl -flatten -top $*; write_json $@'
$(SYNTH_WORKDIR)/%.fasm: $(SYNTH_WORKDIR)/%.json $(XDC)
$(NEXTPNR) --xdc $(XDC) --json $< --chipdb /usr/share/nextpnr/xilinx-chipdb/$(PART).bin --fasm $@
$(SYNTH_WORKDIR)/%.frames: $(SYNTH_WORKDIR)/%.fasm
$(FASM2FRAMES) --db-root $(XRAY_DATABASE) --part $(PART) $< $@
$(SYNTH_WORKDIR)/%.bit: $(SYNTH_WORKDIR)/%.frames $(XRAY_DATABASE)/$(PART)/part.yaml
$(FRAMES2BIT) --part-file $(XRAY_DATABASE)/$(PART)/part.yaml --part-name $(PART) --frm-file $< --output-file $@