cva6/corev_apu/fpga/Makefile
Guillaume Chauvon 66f158dea0
FPGA: Add scripts to boot linux fpga (#924)
Signed-off-by: Guillaume Chauvon<guillaume.chauvon@thalesgroup.com>
2022-06-28 09:59:51 +02:00

46 lines
1.3 KiB
Makefile

VIVADO ?= vivado
VIVADOFLAGS ?= -nojournal -mode batch -source scripts/prologue.tcl
work-dir := work-fpga
bit := $(work-dir)/ariane_xilinx.bit
mcs := $(work-dir)/ariane_xilinx.mcs
ip-dir := xilinx
ips := xlnx_axi_clock_converter.xci \
xlnx_axi_dwidth_converter.xci \
xlnx_axi_dwidth_converter_dm_master.xci \
xlnx_axi_dwidth_converter_dm_slave.xci \
xlnx_axi_quad_spi.xci \
xlnx_axi_gpio.xci \
xlnx_clk_gen.xci \
xlnx_mig_7_ddr3.xci
ips := $(addprefix $(work-dir)/, $(ips))
ips-target := $(join $(addsuffix /ip/, $(addprefix $(ip-dir)/, $(basename $(ips)))), $(ips))
all: $(mcs)
# Generate mcs from bitstream
$(mcs): $(bit)
$(VIVADO) $(VIVADOFLAGS) -source scripts/write_cfgmem.tcl -tclargs $@ $^
$(bit): $(ips)
mkdir -p $(work-dir)
$(VIVADO) $(VIVADOFLAGS) -source scripts/run.tcl
cp ariane.runs/impl_1/ariane_xilinx* ./$(work-dir)
$(ips): %.xci :
mkdir -p $(work-dir)
@echo Generating $(@F)
@cd $(ip-dir)/$(basename $(@F)) && make clean && make
@cp $(ip-dir)/$(basename $(@F))/$(basename $(@F)).srcs/sources_1/ip/$(basename $(@F))/$(@F) $@
mcs: $(mcs)
program:
$(VIVADO) $(VIVADOFLAGS) -source scripts/program.tcl
clean:
rm -rf *.log *.jou *.str *.mif *.xpr $(work-dir) ariane.cache ariane.hw ariane.ip_user_files scripts/vivado*
.PHONY:
clean