Files
2d_display_engine-new/Makefile

129 lines
4.5 KiB
Makefile
Executable File

COMMON_INFILES=ddr2_sdram/vhdl_bl4/example_design/rtl/vhdl_bl4_parameters_0.vhd \
ddr2_sdram/vhdl_bl4/example_design/rtl/vhdl_bl4_infrastructure_top.vhd \
ddr2_sdram/vhdl_bl4/example_design/rtl/vhdl_bl4_clk_dcm.vhd \
ddr2_sdram/vhdl_bl4/example_design/rtl/vhdl_bl4_cal_top.vhd \
ddr2_sdram/vhdl_bl4/example_design/rtl/vhdl_bl4_cal_ctl.vhd \
ddr2_sdram/vhdl_bl4/example_design/rtl/vhdl_bl4_tap_dly.vhd \
ddr2_sdram/vhdl_bl4/example_design/rtl/vhdl_bl4_top_0.vhd \
ddr2_sdram/vhdl_bl4/example_design/rtl/vhdl_bl4_controller_0.vhd \
ddr2_sdram/vhdl_bl4/example_design/rtl/vhdl_bl4_data_path_0.vhd \
ddr2_sdram/vhdl_bl4/example_design/rtl/vhdl_bl4_data_read_0.vhd \
ddr2_sdram/vhdl_bl4/example_design/rtl/vhdl_bl4_rd_gray_cntr.vhd \
ddr2_sdram/vhdl_bl4/example_design/rtl/vhdl_bl4_ram8d_0.vhd \
ddr2_sdram/vhdl_bl4/example_design/rtl/vhdl_bl4_ram8d_1.vhd \
ddr2_sdram/vhdl_bl4/example_design/rtl/vhdl_bl4_data_read_controller_0.vhd \
ddr2_sdram/vhdl_bl4/example_design/rtl/vhdl_bl4_dqs_delay_0.vhd \
ddr2_sdram/vhdl_bl4/example_design/rtl/vhdl_bl4_fifo_0_wr_en_0.vhd \
ddr2_sdram/vhdl_bl4/example_design/rtl/vhdl_bl4_fifo_1_wr_en_0.vhd \
ddr2_sdram/vhdl_bl4/example_design/rtl/vhdl_bl4_wr_gray_cntr.vhd \
ddr2_sdram/vhdl_bl4/example_design/rtl/vhdl_bl4_data_write_0.vhd \
ddr2_sdram/vhdl_bl4/example_design/rtl/vhdl_bl4_infrastructure.vhd \
ddr2_sdram/vhdl_bl4/example_design/rtl/vhdl_bl4_iobs_0.vhd \
ddr2_sdram/vhdl_bl4/example_design/rtl/vhdl_bl4_infrastructure_iobs_0.vhd \
ddr2_sdram/vhdl_bl4/example_design/rtl/vhdl_bl4_controller_iobs_0.vhd \
ddr2_sdram/vhdl_bl4/example_design/rtl/vhdl_bl4_data_path_iobs_0.vhd \
ddr2_sdram/vhdl_bl4/example_design/rtl/vhdl_bl4_s3_dm_iob.vhd \
ddr2_sdram/vhdl_bl4/example_design/rtl/vhdl_bl4_s3_dqs_iob.vhd \
ddr2_sdram/vhdl_bl4/example_design/rtl/vhdl_bl4_s3_dq_iob.vhd \
src/toplevel.vhd src/clk_reset.vhd src/wb_ddr_ctrl.vhd src/wb_ddr_ctrl_ddrwrap.vhd \
src/wb_ddr_ctrl_wb.vhd src/wb_ddr_ctrl_wb_dc_fsm.vhd src/wb_ddr_ctrl_wb_dc.vhd \
src/wb_ddr_ctrl_wb_sc.vhd
SYN_INFILES=
PSMFILES=
CORES=wb_ddr_ctrl_wb_from_ddr wb_ddr_ctrl_wb_to_ddr
PRJNAME=2d_display_engine
NGCFILE=$(PRJNAME).ngc
XSTFILE=$(PRJNAME).xst
UCF=constr/$(PRJNAME).ucf constr/vhdl_bl4.ucf
PCFFILE=$(PRJNAME).pcf
NGDFILE=$(PRJNAME).ngd
NCDFILE=$(PRJNAME).ncd
NCDFILE_R=$(PRJNAME)_routed.ncd
BITFILE=$(PRJNAME).bit
TWRFILE=$(PRJNAME).twr
PRJFILE=$(PRJNAME).prj
PART=xc3s700an-fgg484-4
NGDOPTS=-p $(PART) -aul -aut $(addprefix -uc ,$(UCF)) -sd coregen/
MAPOPTS=-p $(PART) -cm area
PAROPTS=-rl high -pl high
BITGENOPTS=
TRACEOPTS=-v -u 100
SIM_INFILES=
SIM_INFILES_VLOG=ddr2_sdram/vhdl_bl4/example_design/sim/ddr2_model.v
GHDLOPTS=--workdir=ghdl -Pghdl --ieee=synopsys -fexplicit
VLOGCOMPOPTS=-d x512Mb -d sg5E -d x16
SYNALLFILES=$(COMMON_INFILES) $(SYN_INFILES)
SIMALLFILES=$(COMMON_INFILES) $(SIM_INFILES)
SIMALLFILESXDB=$(addprefix isim/work/,$(notdir $(SIMALLFILES:.vhd=.vdb))) \
$(addprefix isim/work/,$(notdir $(SIM_INFILES_VLOG:.v=.sdb)))
CORESVDB=$(addprefix isim/work/,$(addsuffix .vdb,$(CORES)))
XILPATH=
XST=$(XILPATH)xst
NGDBUILD=$(XILPATH)ngdbuild
MAP=$(XILPATH)map
PAR=$(XILPATH)par
BITGEN=$(XILPATH)bitgen
TRCE=$(XILPATH)trce
VHPCOMP=$(XILPATH)vhpcomp
VLOGCOMP=$(XILPATH)vlogcomp
FUSE=$(XILPATH)fuse
all: $(BITFILE)
synth: $(NGCFILE)
impl: $(NCDFILE_R)
timing: $(TWRFILE)
%.vhd: %.psm
../tools/picoasm/picoasm -t ../tools/picoasm/ROM_form.vhd -i $<
$(PRJFILE): Makefile
rm -f $(PRJFILE); for i in $(SYNALLFILES); do echo "vhdl work" $$i >> $(PRJFILE); done
$(NGCFILE): $(SYNALLFILES) $(PRJFILE) $(XSTFILE)
$(XST) -ifn $(XSTFILE)
$(NGDFILE): $(NGCFILE) $(UCF)
$(NGDBUILD) $(NGDOPTS) $(NGCFILE) $(NGDFILE)
$(PCFFILE) $(NCDFILE) : $(NGDFILE)
$(MAP) $(MAPOPTS) -o $(NCDFILE) $(NGDFILE) $(PCFFILE)
$(NCDFILE_R): $(PCFFILE) $(NCDFILE)
$(PAR) -w $(PAROPTS) $(NCDFILE) $(NCDFILE_R) $(PCFFILE)
$(BITFILE): $(NCDFILE_R) $(PCFFILE)
$(BITGEN) -w $(BITGENOPTS) $(NCDFILE_R) $(BITFILE) $(PCFFILE)
$(TWRFILE): $(NCDFILE_R) $(PCFFILE)
$(TRCE) $(TRACEOPTS) -o $(TWRFILE) $(NCDFILE_R) $(PCFFILE)
isim/work/%.vdb: src/%.vhd
$(VHPCOMP) $<
isim/work/%.vdb: ddr2_sdram/vhdl_bl4/example_design/rtl/%.vhd
$(VHPCOMP) $<
isim/work/%.sdb: ddr2_sdram/vhdl_bl4/example_design/sim/%.v
$(VLOGCOMP) $< $(VLOGCOMPOPTS)
isim/work/%.vdb: tb/%.vhd
$(VHPCOMP) $<
isim/work/%.vdb: coregen/%.vhd
$(VHPCOMP) $<
%.exe: isim/work/%.vdb $(SIMALLFILESXDB) $(CORESVDB)
$(FUSE) work.$(@:.exe=) -o $@
clean:
rm -f $(NGCFILE) $(PCFFILE) $(NGDFILE) $(NCDFILE) $(NCDFILE_R) $(BITFILE) $(SIMALLFILESXDB) $(CORESVDB)
.PSEUDO=all synth impl timing clean