adding synthesis build for shared memory
This commit is contained in:
3
hw/syn/quartus/.gitignore
vendored
3
hw/syn/quartus/.gitignore
vendored
@@ -1,6 +1,9 @@
|
|||||||
/unittest/*
|
/unittest/*
|
||||||
!/unittest/Makefile
|
!/unittest/Makefile
|
||||||
|
|
||||||
|
/smem/*
|
||||||
|
!/smem/Makefile
|
||||||
|
|
||||||
/cache/*
|
/cache/*
|
||||||
!/cache/Makefile
|
!/cache/Makefile
|
||||||
|
|
||||||
|
|||||||
@@ -1,20 +1,25 @@
|
|||||||
BUILDIR ?= build
|
BUILDIR ?= build
|
||||||
|
|
||||||
.PHONY: unittest pipeline cache core vortex top1 top2 top4 top8 top16 top32 top64
|
.PHONY: unittest pipeline smem cache core vortex top1 top2 top4 top8 top16 top32 top64
|
||||||
|
|
||||||
unittest:
|
unittest:
|
||||||
mkdir -p unittest/$(BUILDIR)
|
mkdir -p unittest/$(BUILDIR)
|
||||||
cp core/Makefile unittest/$(BUILDIR)
|
cp unittest/Makefile unittest/$(BUILDIR)
|
||||||
$(MAKE) -C unittest/$(BUILDIR) clean && $(MAKE) -C unittest/$(BUILDIR) > unittest//$(BUILDIR)build.log 2>&1 &
|
$(MAKE) -C unittest/$(BUILDIR) clean && $(MAKE) -C unittest/$(BUILDIR) > unittest//$(BUILDIR)build.log 2>&1 &
|
||||||
|
|
||||||
pipeline:
|
pipeline:
|
||||||
mkdir -p pipeline/$(BUILDIR)
|
mkdir -p pipeline/$(BUILDIR)
|
||||||
cp core/Makefile pipeline/$(BUILDIR)
|
cp pipeline/Makefile pipeline/$(BUILDIR)
|
||||||
$(MAKE) -C pipeline/$(BUILDIR) clean && $(MAKE) -C pipeline/$(BUILDIR) > pipeline/$(BUILDIR)/build.log 2>&1 &
|
$(MAKE) -C pipeline/$(BUILDIR) clean && $(MAKE) -C pipeline/$(BUILDIR) > pipeline/$(BUILDIR)/build.log 2>&1 &
|
||||||
|
|
||||||
|
smem:
|
||||||
|
mkdir -p smem/$(BUILDIR)
|
||||||
|
cp smem/Makefile smem/$(BUILDIR)
|
||||||
|
$(MAKE) -C smem/$(BUILDIR) clean && $(MAKE) -C smem/$(BUILDIR) > smem/$(BUILDIR)/build.log 2>&1 &
|
||||||
|
|
||||||
cache:
|
cache:
|
||||||
mkdir -p cache/$(BUILDIR)
|
mkdir -p cache/$(BUILDIR)
|
||||||
cp core/Makefile cache/$(BUILDIR)
|
cp cache/Makefile cache/$(BUILDIR)
|
||||||
$(MAKE) -C cache/$(BUILDIR) clean && $(MAKE) -C cache/$(BUILDIR) > cache/$(BUILDIR)/build.log 2>&1 &
|
$(MAKE) -C cache/$(BUILDIR) clean && $(MAKE) -C cache/$(BUILDIR) > cache/$(BUILDIR)/build.log 2>&1 &
|
||||||
|
|
||||||
core:
|
core:
|
||||||
@@ -24,40 +29,40 @@ core:
|
|||||||
|
|
||||||
vortex:
|
vortex:
|
||||||
mkdir -p vortex/$(BUILDIR)
|
mkdir -p vortex/$(BUILDIR)
|
||||||
cp core/Makefile vortex/$(BUILDIR)
|
cp vortex/Makefile vortex/$(BUILDIR)
|
||||||
$(MAKE) -C vortex/$(BUILDIR) clean && $(MAKE) -C vortex/$(BUILDIR) > vortex/$(BUILDIR)/build.log 2>&1 &
|
$(MAKE) -C vortex/$(BUILDIR) clean && $(MAKE) -C vortex/$(BUILDIR) > vortex/$(BUILDIR)/build.log 2>&1 &
|
||||||
|
|
||||||
top1:
|
top1:
|
||||||
mkdir -p top1/$(BUILDIR)
|
mkdir -p top1/$(BUILDIR)
|
||||||
cp core/Makefile top1/$(BUILDIR)
|
cp top1/Makefile top1/$(BUILDIR)
|
||||||
$(MAKE) -C top1/$(BUILDIR) clean && $(MAKE) -C top1/$(BUILDIR) > top1/$(BUILDIR)/build.log 2>&1 &
|
$(MAKE) -C top1/$(BUILDIR) clean && $(MAKE) -C top1/$(BUILDIR) > top1/$(BUILDIR)/build.log 2>&1 &
|
||||||
|
|
||||||
top2:
|
top2:
|
||||||
mkdir -p top2/$(BUILDIR)
|
mkdir -p top2/$(BUILDIR)
|
||||||
cp core/Makefile top2/$(BUILDIR)
|
cp top2/Makefile top2/$(BUILDIR)
|
||||||
$(MAKE) -C top2/$(BUILDIR) clean && $(MAKE) -C top2/$(BUILDIR) > top2/$(BUILDIR)/build.log 2>&1 &
|
$(MAKE) -C top2/$(BUILDIR) clean && $(MAKE) -C top2/$(BUILDIR) > top2/$(BUILDIR)/build.log 2>&1 &
|
||||||
|
|
||||||
top4:
|
top4:
|
||||||
mkdir -p top4/$(BUILDIR)
|
mkdir -p top4/$(BUILDIR)
|
||||||
cp core/Makefile top4/$(BUILDIR)
|
cp top4/Makefile top4/$(BUILDIR)
|
||||||
$(MAKE) -C top4/$(BUILDIR) clean && $(MAKE) -C top4/$(BUILDIR) > top4/$(BUILDIR)/build.log 2>&1 &
|
$(MAKE) -C top4/$(BUILDIR) clean && $(MAKE) -C top4/$(BUILDIR) > top4/$(BUILDIR)/build.log 2>&1 &
|
||||||
|
|
||||||
top8:
|
top8:
|
||||||
mkdir -p top8/$(BUILDIR)
|
mkdir -p top8/$(BUILDIR)
|
||||||
cp core/Makefile top8/$(BUILDIR)
|
cp top8/Makefile top8/$(BUILDIR)
|
||||||
$(MAKE) -C top8/$(BUILDIR) clean && $(MAKE) -C top8/$(BUILDIR) > top8/$(BUILDIR)/build.log 2>&1 &
|
$(MAKE) -C top8/$(BUILDIR) clean && $(MAKE) -C top8/$(BUILDIR) > top8/$(BUILDIR)/build.log 2>&1 &
|
||||||
|
|
||||||
top16:
|
top16:
|
||||||
mkdir -p top16/$(BUILDIR)
|
mkdir -p top16/$(BUILDIR)
|
||||||
cp core/Makefile top16/$(BUILDIR)
|
cp top16/Makefile top16/$(BUILDIR)
|
||||||
$(MAKE) -C top16/$(BUILDIR) clean && $(MAKE) -C top16/$(BUILDIR) > top16/$(BUILDIR)build.log 2>&1 &
|
$(MAKE) -C top16/$(BUILDIR) clean && $(MAKE) -C top16/$(BUILDIR) > top16/$(BUILDIR)build.log 2>&1 &
|
||||||
|
|
||||||
top32:
|
top32:
|
||||||
mkdir -p top32/$(BUILDIR)
|
mkdir -p top32/$(BUILDIR)
|
||||||
cp core/Makefile top32/$(BUILDIR)
|
cp top32/Makefile top32/$(BUILDIR)
|
||||||
$(MAKE) -C top32/$(BUILDIR) clean && $(MAKE) -C top32/$(BUILDIR) > top32/$(BUILDIR)/build.log 2>&1 &
|
$(MAKE) -C top32/$(BUILDIR) clean && $(MAKE) -C top32/$(BUILDIR) > top32/$(BUILDIR)/build.log 2>&1 &
|
||||||
|
|
||||||
top64:
|
top64:
|
||||||
mkdir -p top64/$(BUILDIR)
|
mkdir -p top64/$(BUILDIR)
|
||||||
cp core/Makefile top64/$(BUILDIR)
|
cp top64/Makefile top64/$(BUILDIR)
|
||||||
$(MAKE) -C top64/$(BUILDIR) clean && $(MAKE) -C top64/$(BUILDIR) > top64/$(BUILDIR)/build.log 2>&1 &
|
$(MAKE) -C top64/$(BUILDIR) clean && $(MAKE) -C top64/$(BUILDIR) > top64/$(BUILDIR)/build.log 2>&1 &
|
||||||
72
hw/syn/quartus/smem/Makefile
Executable file
72
hw/syn/quartus/smem/Makefile
Executable file
@@ -0,0 +1,72 @@
|
|||||||
|
PROJECT = VX_shared_mem
|
||||||
|
TOP_LEVEL_ENTITY = VX_shared_mem
|
||||||
|
SRC_FILE = VX_shared_mem.v
|
||||||
|
RTL_DIR = ../../../../rtl
|
||||||
|
|
||||||
|
FAMILY = "Arria 10"
|
||||||
|
DEVICE = 10AX115N3F40E2SG
|
||||||
|
|
||||||
|
RTL_INCLUDE = $(RTL_DIR);$(RTL_DIR)/libs;$(RTL_DIR)/interfaces;$(RTL_DIR)/cache
|
||||||
|
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)"
|
||||||
|
|
||||||
|
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
|
||||||
Reference in New Issue
Block a user