| ## 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 |
| |