blob: 599c5ef561c9243c8dded6e915b4fc341b1af060 [file] [log] [blame]
## Set common environment variables
TOP ?= $(shell git rev-parse --show-toplevel)
include $(TOP)/Makefile.common
export SYN_PATH := $(BP_TOP_DIR)/syn
export TB_PATH := $(BP_TOP_DIR)/test/tb
export MEM_PATH := $(BP_COMMON_DIR)/test/mem
export LOG_PATH := $(BP_TOP_DIR)/syn/logs
export RESULTS_PATH := $(BP_TOP_DIR)/syn/results
export REPORT_PATH := $(BP_TOP_DIR)/syn/reports
TB ?= bp_top_trace_demo
CFG ?= e_bp_single_core_cfg
START_PC ?= 0x80000000
TOLERANCE ?= 2
# Select CCE ROM based on CFG and Coherence Protocol
# TODO: is there a more scalable way to do this?
ifeq ($(CFG), e_bp_half_core_cfg)
NUM_LCE_P=1
N_WG=64
else ifeq ($(CFG), e_bp_single_core_cfg)
NUM_LCE_P=2
N_WG=64
else ifeq ($(CFG), e_bp_dual_core_cfg)
NUM_LCE_P=4
N_WG=32
else ifeq ($(CFG), e_bp_quad_core_cfg)
NUM_LCE_P=8
N_WG=16
else ifeq ($(CFG), e_bp_oct_core_cfg)
NUM_LCE_P=16
N_WG=8
else ifeq ($(CFG), e_bp_sexta_core_cfg)
NUM_LCE_P=32
N_WG=4
else ifeq ($(CFG), e_bp_quad_core_2d_cfg)
NUM_LCE_P=8
N_WG=16
else ifeq ($(CFG), e_bp_oct_core_2d_cfg)
NUM_LCE_P=16
N_WG=8
endif
COH_PROTO ?= mesi
CCE_MEM_PATH = $(BP_ME_DIR)/src/asm/roms/$(COH_PROTO)
CCE_MEM = bp_cce_inst_rom_$(COH_PROTO).mem
DRAMSIM_CH_CFG ?= DDR2_micron_16M_8b_x8_sg3E.ini
DRAMSIM_SYS_CFG ?= system.ini
include $(BP_COMMON_DIR)/syn/Makefile.common
include $(BP_COMMON_DIR)/syn/Makefile.dc
include $(BP_COMMON_DIR)/syn/Makefile.regress
include $(BP_COMMON_DIR)/syn/Makefile.verilator
include $(BP_COMMON_DIR)/syn/Makefile.vcs
include $(BP_COMMON_DIR)/syn/Makefile.sv2v
regress.top: regress
regress: regress.v check_design.syn
$(MAKE) lint.v || true
$(MAKE) lint.sc || true