mirror of
https://github.com/vortexgpgpu/vortex.git
synced 2025-04-23 05:17:45 -04:00
81 lines
2.4 KiB
Makefile
81 lines
2.4 KiB
Makefile
PROJECT = vortex_afu
|
|
TOP_LEVEL_ENTITY = vortex_afu
|
|
SRC_FILE = vortex_afu.sv
|
|
RTL_DIR = ../../../../rtl
|
|
THIRD_PARTY_DIR = ../../../../../third_party
|
|
|
|
FAMILY = "Arria 10"
|
|
DEVICE = 10AX115N3F40E2SG
|
|
FPU_CORE_PATH = $(RTL_DIR)/fp_cores/altera/arria10
|
|
|
|
#FAMILY = "Stratix 10"
|
|
#DEVICE = 1SX280HN2F43E2VG
|
|
#FPU_CORE_PATH = $(RTL_DIR)/fp_cores/altera/stratix10
|
|
|
|
FPU_INCLUDE = $(RTL_DIR)/fp_cores;$(FPU_CORE_PATH);$(THIRD_PARTY_DIR)/fpnew/src;$(THIRD_PARTY_DIR)/fpnew/src/fpu_div_sqrt_mvp/hdl;$(THIRD_PARTY_DIR)/fpnew/src/common_cells/include;$(THIRD_PARTY_DIR)/fpnew/src/common_cells/src
|
|
TEX_INCLUDE = $(RTL_DIR)/tex_unit
|
|
RTL_INCLUDE = $(RTL_DIR);$(RTL_DIR)/libs;$(RTL_DIR)/interfaces;$(RTL_DIR)/cache;$(RTL_DIR)/afu;$(RTL_DIR)/afu/ccip;$(FPU_INCLUDE);$(TEX_INCLUDE)
|
|
|
|
PROJECT_FILES = $(PROJECT).qpf $(PROJECT).qsf
|
|
|
|
# Executable Configuration
|
|
SYN_ARGS = --parallel --read_settings_files=on
|
|
FIT_ARGS = --parallel --part=$(DEVICE) --read_settings_files=on
|
|
ASM_ARGS =
|
|
STA_ARGS = --parallel --do_report_timing
|
|
|
|
# Build targets
|
|
all: $(PROJECT).sta.rpt
|
|
|
|
syn: $(PROJECT).syn.rpt
|
|
|
|
fit: $(PROJECT).fit.rpt
|
|
|
|
asm: $(PROJECT).asm.rpt
|
|
|
|
sta: $(PROJECT).sta.rpt
|
|
|
|
smart: smart.log
|
|
|
|
# Target implementations
|
|
STAMP = echo done >
|
|
|
|
$(PROJECT).syn.rpt: smart.log syn.chg $(SOURCE_FILES)
|
|
quartus_syn $(PROJECT) $(SYN_ARGS)
|
|
$(STAMP) fit.chg
|
|
|
|
$(PROJECT).fit.rpt: smart.log fit.chg $(PROJECT).syn.rpt
|
|
quartus_fit $(PROJECT) $(FIT_ARGS)
|
|
$(STAMP) asm.chg
|
|
$(STAMP) sta.chg
|
|
|
|
$(PROJECT).asm.rpt: smart.log asm.chg $(PROJECT).fit.rpt
|
|
quartus_asm $(PROJECT) $(ASM_ARGS)
|
|
|
|
$(PROJECT).sta.rpt: smart.log sta.chg $(PROJECT).fit.rpt
|
|
quartus_sta $(PROJECT) $(STA_ARGS)
|
|
|
|
smart.log: $(PROJECT_FILES)
|
|
quartus_sh --determine_smart_action $(PROJECT) > smart.log
|
|
|
|
# Project initialization
|
|
$(PROJECT_FILES):
|
|
quartus_sh -t ../../project.tcl -project $(PROJECT) -family $(FAMILY) -device $(DEVICE) -top $(TOP_LEVEL_ENTITY) -src "$(SRC_FILE)" -sdc ../../project.sdc -inc "$(RTL_INCLUDE)" -set "NOPAE" -set "NUM_CORES=4" -set "NUM_CLUSTERS=4" -set "L2_ENABLE=0" -set "L3_ENABLE=1" -set "ICACHE_SIZE=8192" -set "DCACHE_SIZE=8192" -set "L3_CACHE_SIZE=262144"
|
|
|
|
syn.chg:
|
|
$(STAMP) syn.chg
|
|
|
|
fit.chg:
|
|
$(STAMP) fit.chg
|
|
|
|
sta.chg:
|
|
$(STAMP) sta.chg
|
|
|
|
asm.chg:
|
|
$(STAMP) asm.chg
|
|
|
|
program: $(PROJECT).sof
|
|
quartus_pgm --no_banner --mode=jtag -o "$(PROJECT).sof"
|
|
|
|
clean:
|
|
rm -rf bin *.rpt *.chg *.qsf *.qpf *.qws *.log *.htm *.eqn *.pin *.sof *.pof qdb incremental_db tmp-clearbox
|