Files
2d_display_engine-new/Makefile
Matthias Blankertz 6cd60cf263 - WIP: New cache for CPU
- sysClk reduced to 45 MHz
2013-06-19 15:01:32 +02:00

341 lines
14 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/wishbone.vhd \
src/wb_ram.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 src/vga_syncgen.vhd src/vga_pixelgen.vhd \
src/vga_pixelreader.vhd src/vga.vhd \
src/bresenham_dp.vhd \
src/rasterizer_l_fsm.vhd src/rasterizer_l.vhd \
src/mblite_rom_data.vhd src/mblite_rom.vhd src/mblite_wbm.vhd src/mblite_cache_ram.vhd src/mblite_cache.vhd \
src/mblite_wrapper.vhd src/pio.vhd \
src/uart/fifo16x8.vhd src/uart/par2ser.vhd src/uart/pulsegen325.vhd src/uart/readctrl.vhd src/uart/ser2par.vhd \
src/uart/writectrl.vhd src/uart/uart.vhd src/uart/uart_wbc.vhd \
src/ram_16x64.vhd src/wb_mem_bridge.vhd \
src/spi.vhd \
src/toplevel.vhd
MBLITE_INFILES=mblite/config_Pkg.vhd mblite/std_Pkg.vhd mblite/core_Pkg.vhd \
mblite/dsram.vhd mblite/gprf.vhd mblite/fetch.vhd mblite/decode.vhd mblite/execute.vhd mblite/mem.vhd \
mblite/core.vhd mblite/core_wb_adapter.vhd mblite/core_wb.vhd
SYN_INFILES=
PSMFILES=
CORES=wb_ddr_ctrl_wb_from_ddr wb_ddr_ctrl_wb_to_ddr vga_pixeldata_fifo
BMMFILE=mblite_rom.bmm
BMMFILE_BD=mblite_rom_bd.bmm
MEMFILE=test.mem
PRJNAME=2d_display_engine
NGCFILE=$(PRJNAME).ngc
XSTFILE=$(PRJNAME).xst
XCF=constr/$(PRJNAME).xcf
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
FWBITFILE=$(PRJNAME)_bd.bit
TWRFILE=$(PRJNAME).twr
TWXFILE=$(PRJNAME).twx
PRJFILE=$(PRJNAME).prj
PART=xc3s700an-fgg484-4
XSTOPTS="-ifn $(PRJFILE) \
-ifmt mixed \
-top toplevel \
-ofn $(NGCFILE) \
-ofmt NGC \
-p $(PART) \
-opt_mode Area \
-opt_level 2 \
-fsm_encoding auto \
-sd coregen/ \
-read_cores yes \
-rtlview no \
-iob auto \
-keep_hierarchy soft \
-register_balancing yes \
-auto_bram_packing yes \
$(addprefix -uc ,$(XCF))"
NGDOPTS=-p $(PART) -aul -aut $(addprefix -uc ,$(UCF)) -sd coregen/
MAPOPTS=-p $(PART) -cm balanced -timing -ol high -logic_opt on -xe n -detail
PAROPTS=-ol high -xe n
BITGENOPTS=
TRACEOPTS=-v -u 10
SIM_INFILES=src/sim_bmppack.vhd
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 -d MAX_MEM
VHPCOMPOPTS=-L ieee_proposed=isim/ieee_proposed --incremental
FUSEOPTS=-L ieee_proposed=isim/ieee_proposed
SYNALLFILES=$(COMMON_INFILES) $(SYN_INFILES)
SIMALLFILES=$(SIM_INFILES) $(COMMON_INFILES)
#SIMALLFILESXDB=isim/ieee_proposed/std_logic_1164_additions.vdb \
$(addprefis isim/mblite/,$(notdir $(MBLITE_INFILES:.vhd=.vdb))) \
$(addprefix isim/work/,$(notdir $(SIMALLFILES:.vhd=.vdb))) \
$(addprefix isim/work/,$(notdir $(SIM_INFILES_VLOG:.v=.sdb)))
CORESVDB=$(addprefix isim/work/,$(addsuffix .vdb,$(CORES)))
CORESNGC=$(addprefix coregen/,$(addsuffix .ngc,$(CORES)))
XILPATH=
COREGEN=$(XILPATH)coregen
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
DATA2MEM=$(XILPATH)data2mem
FWFILE=firmware/fw.elf
.SECONDARY:
all: $(FWBITFILE)
synth: $(NGCFILE)
impl: $(NCDFILE_R)
timing: $(TWRFILE)
firmware/fw.elf:
cd firmware && make fw.elf
bit: $(BITFILE)
impact: $(FWBITFILE) impact.cmd
impact -batch impact.cmd
#%.vhd: %.psm
# ../tools/picoasm/picoasm -t ../tools/picoasm/ROM_form.vhd -i $<
src/wb_interconnect.vhd: src/wishbone.defines tools/wishbone.pl
cd src && dos2unix wishbone.defines && ../tools/wishbone.pl -nogui wishbone.defines
src/mblite_rom_data.vhd: $(BMMFILE) # $(FWFILE)
$(DATA2MEM) -bm $(BMMFILE) -bd $(FWFILE) -o h $@
coregen/%.vhd coregen/%.ngc: coregen/%.xco coregen/coregen.cgp
$(COREGEN) -p coregen/coregen.cgp -b $< -r
planahead_postsynth.tcl: Makefile
rm -f $@; echo -e "create_project -force -part $(PART) postsynth planahead\n\
set_property design_mode GateLvl [current_fileset]\n\
import_files $(NGCFILE) $(CORESNGC)\n\
import_files -fileset constrs_1 $(UCF)" > $@
planahead_postimpl.tcl: Makefile
rm -f $@; echo -e "create_project -force -part $(PART) postimpl planahead\n\
set_property design_mode GateLvl [current_fileset]\n\
add_files $(NGCFILE) $(CORESNGC)\n\
import_files -fileset constrs_1 $(UCF)\n\
import_as_run -run impl_1 -twx $(TWXFILE) $(NCDFILE_R)" > $@
planahead_postsynth: planahead_postsynth.tcl $(NGCFILE) $(UCF)
planAhead -source planahead_postsynth.tcl
planahead_postimpl: planahead_postimpl.tcl $(NCDFILE) $(UCF) $(NCDFILE_R) $(TWXFILE)
planAhead -source planahead_postimpl.tcl
$(PRJFILE): Makefile
rm -f $(PRJFILE); for i in $(SYNALLFILES); do echo "vhdl work" $$i >> $(PRJFILE); done;
for i in $(MBLITE_INFILES); do echo "vhdl mblite" $$i >> $(PRJFILE); done;
$(XSTFILE): Makefile
rm -f $@; echo "run $(XSTOPTS)" > $@
$(NGCFILE): $(SYNALLFILES) $(MBLITE_INFILES) $(PRJFILE) $(XSTFILE) $(XCF) $(CORESNGC)
$(XST) -ifn $(XSTFILE)
$(NGDFILE): $(NGCFILE) $(UCF) $(CORESNGC) $(BMMFILE)
$(NGDBUILD) $(NGDOPTS) -bm $(BMMFILE) $(NGCFILE) $(NGDFILE)
$(PCFFILE) $(NCDFILE) : $(NGDFILE)
$(MAP) $(MAPOPTS) -o $(NCDFILE) $(NGDFILE) $(PCFFILE)
$(NCDFILE_R): $(PCFFILE) $(NCDFILE)
$(PAR) -w $(PAROPTS) $(NCDFILE) $(NCDFILE_R) $(PCFFILE)
$(BITFILE) $(BMMFILE_BD): $(NCDFILE_R) $(PCFFILE)
$(BITGEN) -w $(BITGENOPTS) $(NCDFILE_R) $(BITFILE) $(PCFFILE)
$(FWBITFILE): $(BITFILE) $(BMMFILE_BD) $(FWFILE)
$(DATA2MEM) -bm $(BMMFILE_BD) -bt $(BITFILE) -bd $(FWFILE) -o b $@
$(TWRFILE) $(TWXFILE): $(NCDFILE_R) $(PCFFILE)
$(TRCE) $(TRACEOPTS) -o $(TWRFILE) $(NCDFILE_R) $(PCFFILE)
isim/ieee_proposed/std_logic_1164_additions.vdb: tools/std_logic_1164_additions.vhdl
$(VHPCOMP) --work ieee_proposed=isim/ieee_proposed $< $(VHPCOMPOPTS)
isim/mblite/%.vdb: mblite/%.vhd
$(VHPCOMP) --work mblite=isim/mblite $< $(VHPCOMPOPTS)
isim/work/intercon_package.vdb isim/work/interconnect.vdb: src/wishbone.vhd
$(VHPCOMP) $< $(VHPCOMPOPTS)
isim/work/vhdl_bl4_dqs_delay.vdb: ddr2_sdram/vhdl_bl4/example_design/rtl/vhdl_bl4_dqs_delay_0.vhd
$(VHPCOMP) $< $(VHPCOMPOPTS)
isim/work/mblite_rom_data_pkg_mblite_rom.vdb: src/mblite_rom_data.vhd
$(VHPCOMP) $< $(VHPCOMPOPTS)
isim/work/%.vdb: src/%.vhd
$(VHPCOMP) $< $(VHPCOMPOPTS)
isim/work/%.vdb: src/uart/%.vhd
$(VHPCOMP) $< $(VHPCOMPOPTS)
isim/work/%.vdb: zy2000/%.vhd
$(VHPCOMP) $< $(VHPCOMPOPTS)
isim/work/%.vdb: ddr2_sdram/vhdl_bl4/example_design/rtl/%.vhd
$(VHPCOMP) $< $(VHPCOMPOPTS)
isim/work/%.sdb: ddr2_sdram/vhdl_bl4/example_design/sim/%.v
$(VLOGCOMP) $< $(VLOGCOMPOPTS)
isim/work/%.vdb: tb/%.vhd
$(VHPCOMP) $< $(VHPCOMPOPTS)
isim/work/%.vdb: coregen/%.vhd
$(VHPCOMP) $< $(VHPCOMPOPTS)
%.exe: $(CORESVDB) isim/work/%.vdb #$(SIMALLFILESXDB)
$(FUSE) work.$(@:.exe=) -o $@ $(FUSEOPTS)
clean:
rm -f $(NGCFILE) $(PCFFILE) $(NGDFILE) $(NCDFILE) $(NCDFILE_R) $(BITFILE) $(SIMALLFILESXDB) $(CORESVDB) ; rm -rf xst/
cd firmware && make clean
.PSEUDO=all synth impl timing clean bit impact
isim/work/toplevel_tb.vdb: isim/work/sim_bmppack.vdb isim/work/toplevel.vdb
isim/work/wb_ddr_ctrl_wb_sc_tb.vdb: isim/work/wb_ddr_ctrl_wb_sc.vdb
isim/work/spi_tb.vdb: isim/work/intercon_package.vdb isim/work/spi.vdb
isim/work/wb_mem_bridge_tb.vdb: isim/work/intercon_package.vdb isim/work/wb_ddr_ctrl_wb_sc.vdb isim/work/wb_mem_bridge.vdb
isim/work/mblite_cache_tb.vdb: isim/mblite/core_Pkg.vdb isim/work/intercon_package.vdb isim/work/mblite_cache.vdb
isim/work/toplevel.vdb: isim/work/mblite_wrapper.vdb isim/work/intercon_package.vdb isim/work/interconnect.vdb isim/work/clk_reset.vdb isim/work/wb_ddr_ctrl.vdb isim/work/vga.vdb isim/work/wb_ram.vdb isim/work/pio.vdb isim/work/uart_wbc.vdb isim/work/wb_mem_bridge.vdb isim/work/spi.vdb
isim/work/mblite_wrapper.vdb: isim/work/intercon_package.vdb isim/mblite/core_Pkg.vdb isim/work/mblite_rom.vdb isim/work/mblite_wbm.vdb isim/mblite/core.vdb isim/work/mblite_cache.vdb
isim/work/mblite_cache.vdb: isim/work/intercon_package.vdb isim/mblite/core_Pkg.vdb isim/work/mblite_cache_ram.vdb
isim/work/mblite_rom.vdb: isim/work/intercon_package.vdb isim/work/mblite_rom_data_pkg_mblite_rom.vdb
isim/mblite/core_wb.vdb: isim/mblite/config_Pkg.vdb isim/mblite/core_Pkg.vdb isim/mblite/std_Pkg.vdb isim/mblite/core_wb_adapter.vdb isim/mblite/core.vdb
isim/mblite/core_Pkg.vdb: isim/mblite/config_Pkg.vdb isim/mblite/std_Pkg.vdb
isim/mblite/core_wb_adapter.vdb: isim/mblite/config_Pkg.vdb isim/mblite/core_Pkg.vdb isim/mblite/std_Pkg.vdb
isim/mblite/core.vdb: isim/mblite/config_Pkg.vdb isim/mblite/core_Pkg.vdb isim/mblite/fetch.vdb isim/mblite/decode.vdb isim/mblite/execute.vdb isim/mblite/mem.vdb
isim/mblite/fetch.vdb: isim/mblite/config_Pkg.vdb isim/mblite/core_Pkg.vdb isim/mblite/std_Pkg.vdb
isim/mblite/decode.vdb: isim/mblite/config_Pkg.vdb isim/mblite/core_Pkg.vdb isim/mblite/std_Pkg.vdb isim/mblite/gprf.vdb
isim/mblite/gprf.vdb: isim/mblite/config_Pkg.vdb isim/mblite/core_Pkg.vdb isim/mblite/std_Pkg.vdb isim/mblite/dsram.vdb
isim/mblite/dsram.vdb: isim/mblite/std_Pkg.vdb
isim/mblite/execute.vdb: isim/mblite/config_Pkg.vdb isim/mblite/core_Pkg.vdb isim/mblite/std_Pkg.vdb
isim/mblite/mem.vdb: isim/mblite/config_Pkg.vdb isim/mblite/core_Pkg.vdb isim/mblite/std_Pkg.vdb
isim/work/mblite_wbm.vdb: isim/work/intercon_package.vdb isim/mblite/core_Pkg.vdb
isim/work/wb_ddr_ctrl.vdb: isim/work/intercon_package.vdb isim/work/wb_ddr_ctrl_ddrwrap.vdb isim/work/wb_ddr_ctrl_wb.vdb
isim/work/wb_ddr_ctrl_ddrwrap.vdb: isim/work/vhdl_bl4_parameters_0.vdb isim/work/vhdl_bl4_infrastructure_top.vdb isim/work/vhdl_bl4_top_0.vdb
isim/work/vhdl_bl4_infrastructure_top.vdb: isim/work/vhdl_bl4_parameters_0.vdb isim/work/vhdl_bl4_clk_dcm.vdb isim/work/vhdl_bl4_cal_top.vdb
isim/work/vhdl_bl4_cal_top.vdb: isim/work/vhdl_bl4_cal_ctl.vdb isim/work/vhdl_bl4_tap_dly.vdb
isim/work/vhdl_bl4_top_0.vdb: isim/work/vhdl_bl4_parameters_0.vdb isim/work/vhdl_bl4_controller_0.vdb isim/work/vhdl_bl4_data_path_0.vdb isim/work/vhdl_bl4_infrastructure.vdb isim/work/vhdl_bl4_iobs_0.vdb
isim/work/vhdl_bl4_controller_0.vdb: isim/work/vhdl_bl4_parameters_0.vdb
isim/work/vhdl_bl4_data_path_0.vdb: isim/work/vhdl_bl4_parameters_0.vdb isim/work/vhdl_bl4_data_read_0.vdb isim/work/vhdl_bl4_data_read_controller_0.vdb isim/work/vhdl_bl4_data_write_0.vdb
isim/work/vhdl_bl4_data_read_0.vdb: isim/work/vhdl_bl4_parameters_0.vdb isim/work/vhdl_bl4_rd_gray_cntr.vdb isim/work/vhdl_bl4_ram8d_0.vdb isim/work/vhdl_bl4_ram8d_1.vdb
isim/work/vhdl_bl4_ram8d_0.vdb: isim/work/vhdl_bl4_parameters_0.vdb
isim/work/vhdl_bl4_ram8d_1.vdb: isim/work/vhdl_bl4_parameters_0.vdb
isim/work/vhdl_bl4_data_read_controller_0.vdb: isim/work/vhdl_bl4_parameters_0.vdb isim/work/vhdl_bl4_dqs_delay.vdb isim/work/vhdl_bl4_wr_gray_cntr.vdb isim/work/vhdl_bl4_fifo_0_wr_en_0.vdb isim/work/vhdl_bl4_fifo_1_wr_en_0.vdb
isim/work/vhdl_bl4_data_write_0.vdb: isim/work/vhdl_bl4_parameters_0.vdb
isim/work/vhdl_bl4_iobs_0.vdb: isim/work/vhdl_bl4_parameters_0.vdb isim/work/vhdl_bl4_infrastructure_iobs_0.vdb isim/work/vhdl_bl4_controller_iobs_0.vdb isim/work/vhdl_bl4_data_path_iobs_0.vdb
isim/work/vhdl_bl4_infrastructure_iobs_0.vdb: isim/work/vhdl_bl4_parameters_0.vdb
isim/work/vhdl_bl4_controller_iobs_0.vdb: isim/work/vhdl_bl4_parameters_0.vdb
isim/work/vhdl_bl4_data_path_iobs_0.vdb: isim/work/vhdl_bl4_parameters_0.vdb isim/work/vhdl_bl4_s3_dqs_iob.vdb isim/work/vhdl_bl4_s3_dq_iob.vdb isim/work/vhdl_bl4_s3_dm_iob.vdb
isim/work/wb_ddr_ctrl_wb.vdb: isim/work/intercon_package.vdb isim/work/wb_ddr_ctrl_wb_from_ddr.vdb isim/work/wb_ddr_ctrl_wb_to_ddr.vdb isim/work/wb_ddr_ctrl_wb_sc.vdb isim/work/wb_ddr_ctrl_wb_dc.vdb
#isim/work/wb_ddr_ctrl_wb_sc.vdb: isim/work/intercon_package.vdb isim/work/wb_ddr_ctrl_wb_sc_fe.vdb
#isim/work/wb_ddr_ctrl_wb_sc_fe.vdb: isim/work/intercon_package.vdb isim/work/wb_ddr_ctrl_wb_sc_fe_fsm.vdb isim/work/wb_ddr_ctrl_wb_sc_fe_ram.vdb
#isim/work/wb_ddr_ctrl_wb_sc_fe_fsm.vdb: isim/work/intercon_package.vdb
isim/work/wb_ddr_ctrl_wb_dc.vdb: isim/work/wb_ddr_ctrl_wb_dc_fsm.vdb
isim/work/vga.vdb: isim/work/intercon_package.vdb isim/work/vga_pixelreader.vdb isim/work/vga_pixeldata_fifo.vdb isim/work/vga_syncgen.vdb isim/work/vga_pixelgen.vdb
isim/work/vga_pixelreader.vdb: isim/work/intercon_package.vdb
isim/work/wb_ram.vdb: isim/work/intercon_package.vdb
isim/work/pio.vdb: isim/work/intercon_package.vdb
isim/work/uart_wbc.vdb: isim/work/uart.vdb
isim/work/uart.vdb: isim/work/ser2par.vdb isim/work/readctrl.vdb isim/work/fifo16x8.vdb isim/work/pulsegen325.vdb isim/work/par2ser.vdb isim/work/writectrl.vdb
isim/work/wb_mem_bridge.vdb: isim/work/intercon_package.vdb isim/work/ram_16x64.vdb
isim/work/spi.vdb: isim/work/fifo16x8.vdb