blob: 7d87f53ed719552707f6f9d8a58b97e423b2fb13 [file] [log] [blame]
COMMON_DIR := $(abspath $(dir $(lastword $(MAKEFILE_LIST))))
ifneq (1,$(RULES))
RTL_DIR := $(abspath $(COMMON_DIR)/../../verilog/rtl)
GL_DIR := $(abspath $(COMMON_DIR)/../../verilog/gl)
PACKAGES_DIR := $(abspath $(COMMON_DIR)/../../packages)
SIM ?= icarus
SIMTYPE ?= functional
PYBFMS_MODULES += wishbone_bfms logic_analyzer_bfms
VLSIM_CLKSPEC += -clkspec clk=10ns
TOP_MODULE ?= fwpayload_tb
TB_SRCS ?= $(COMMON_DIR)/sv/fwpayload_tb.sv
PYTHONPATH := $(COMMON_DIR)/python:$(PYTHONPATH)
export PYTHONPATH
PATH := $(PACKAGES_DIR)/python/bin:$(PATH)
export PATH
#********************************************************************
#* Source setup
#********************************************************************
FWRISC_SRCS = $(wildcard $(PACKAGES_DIR)/fwrisc/rtl/*.sv)
INCDIRS += $(PACKAGES_DIR)/fwrisc/rtl
INCDIRS += $(PACKAGES_DIR)/fwprotocol-defs/src/sv
DEFINES += MPRJ_IO_PADS=38
ifeq (gate,$(SIMTYPE))
SRCS += $(GL_DIR)/fwpayload.v
else
SRCS += $(RTL_DIR)/fwpayload.v
SRCS += $(PACKAGES_DIR)/fw-wishbone-interconnect/verilog/rtl/wb_interconnect_NxN.v
SRCS += $(PACKAGES_DIR)/fw-wishbone-interconnect/verilog/rtl/wb_interconnect_arb.v
SRCS += $(RTL_DIR)/spram_32x256.sv
SRCS += $(RTL_DIR)/spram_32x512.sv
SRCS += $(RTL_DIR)/spram.v
SRCS += $(RTL_DIR)/simple_spi_master.v
SRCS += $(RTL_DIR)/simpleuart.v
SRCS += $(FWRISC_SRCS)
endif
SRCS += $(TB_SRCS)
include $(COMMON_DIR)/$(SIM).mk
else # Rules
clean ::
rm -f results.xml
include $(COMMON_DIR)/$(SIM).mk
include $(wildcard $(COMMON_DIR)/*_clean.mk)
endif