blob: 3c187b7fb3c7a49a13643e0f60f7a45c7cebdc9b [file] [log] [blame]
# Copyright lowRISC contributors.
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
# SPDX-License-Identifier: Apache-2.0
# Makefile option groups that can be enabled by test Makefile / command line.
# These are generic set of option groups that apply to all testbenches.
# These are meant to be simulator agnostic
# Please add tool specific options with appropriate ifeq's
# Distinguish UVM TB and the other environments for Verilator, FPGA etc
BUILD_OPTS += +define+UVM
# uvm specific - set default widths
BUILD_OPTS += +define+UVM_NO_DEPRECATED
BUILD_OPTS += +define+UVM_REGEX_NO_DPI
BUILD_OPTS += +define+UVM_REG_ADDR_WIDTH=${TL_AW}
BUILD_OPTS += +define+UVM_REG_DATA_WIDTH=${TL_DW}
BUILD_OPTS += +define+UVM_REG_BYTENABLE_WIDTH=${TL_DBW}
# Enable UVM trace options
UVM_TRACE ?= 0
ifeq (${UVM_TRACE},1)
RUN_OPTS += +UVM_PHASE_TRACE
RUN_OPTS += +UVM_CONFIG_DB_TRACE
RUN_OPTS += +UVM_OBJECTION_TRACE
endif
# Options for generating waves / debugging.
WAVES ?= 0
DUMP ?= fsdb
DUMP_FILE ?= waves.${DUMP}
export WAVES
export DUMP
export DUMP_FILE
ifeq (${WAVES},1)
ifeq (${SIMULATOR},vcs)
VCS_WAVES = 1
endif
endif
# Enable simulation profiling
SIMPROFILE ?= 0
ifeq (${SIMPROFILE},1)
ifeq (${SIMULATOR},vcs)
VCS_SIMPROFILE = 1
else ifeq (${SIMULATOR},xcelium)
XCELIUM_SIMPROFILE = 1
endif
endif
# Enable coverage
COV ?= 0
ifeq (${COV},1)
ifeq (${SIMULATOR},vcs)
VCS_COV = 1
else ifeq (${SIMULATOR},xcelium)
XCELIUM_COV = 1
endif
endif