blob: a0303810546e46ae0aa8c73a3da4ef26b010edeb [file] [log] [blame]
# Copyright lowRISC contributors.
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
# SPDX-License-Identifier: Apache-2.0
# Entry point test Makefile for building and running tests.
# These are generic set of option groups that apply to all testbenches.
# This flow requires the following options to be set:
# DV_DIR - current dv directory that contains the test Makefile
# DUT_TOP - top level dut module name
# TB_TOP - top level tb module name
# DOTF - .f file used for compilation
# COMPILE_KEY - compile option set
# TEST_NAME - name of the test to run - this is supplied on the command line
export TB_TOP := tb
COMPILE_KEY ?= default
##########################################################
# A D D I N D I V I D U A L T E S T S B E L O W #
##########################################################
TEST_NAME ?= xbar_sanity
UVM_TEST ?= xbar_base_test
UVM_TEST_SEQ ?= xbar_base_vseq
ifeq (${TEST_NAME},xbar_sanity)
UVM_TEST_SEQ = xbar_sanity_vseq
endif
ifeq (${TEST_NAME},xbar_sanity_zero_delays)
UVM_TEST_SEQ = xbar_sanity_vseq
RUN_OPTS += +zero_delays=1
endif
# max outstanding 64, max 1000 cycle seems big enough
ifeq (${TEST_NAME},xbar_sanity_large_delays)
UVM_TEST_SEQ = xbar_sanity_vseq
RUN_OPTS += +max_host_req_delay=1000
RUN_OPTS += +max_host_rsp_delay=1000
RUN_OPTS += +max_device_req_delay=1000
RUN_OPTS += +max_device_rsp_delay=1000
endif
ifeq (${TEST_NAME},xbar_sanity_slow_rsp)
UVM_TEST_SEQ = xbar_sanity_vseq
RUN_OPTS += +max_host_req_delay=10
RUN_OPTS += +max_host_rsp_delay=1000
RUN_OPTS += +max_device_req_delay=1000
RUN_OPTS += +max_device_rsp_delay=10
endif
ifeq (${TEST_NAME},xbar_random)
UVM_TEST_SEQ = xbar_random_vseq
endif
ifeq (${TEST_NAME},xbar_random_zero_delays)
UVM_TEST_SEQ = xbar_random_vseq
RUN_OPTS += +zero_delays=1
endif
ifeq (${TEST_NAME},xbar_random_large_delays)
UVM_TEST_SEQ = xbar_random_vseq
RUN_OPTS += +max_host_req_delay=1000
RUN_OPTS += +max_host_rsp_delay=1000
RUN_OPTS += +max_device_req_delay=1000
RUN_OPTS += +max_device_rsp_delay=1000
endif
ifeq (${TEST_NAME},xbar_random_slow_rsp)
UVM_TEST_SEQ = xbar_random_vseq
RUN_OPTS += +max_host_req_delay=10
RUN_OPTS += +max_host_rsp_delay=1000
RUN_OPTS += +max_device_req_delay=1000
RUN_OPTS += +max_device_rsp_delay=10
endif
ifeq (${TEST_NAME},xbar_access_same_device)
UVM_TEST_SEQ = xbar_access_same_device_vseq
endif
ifeq (${TEST_NAME},xbar_access_same_device_slow_rsp)
UVM_TEST_SEQ = xbar_access_same_device_vseq
RUN_OPTS += +max_host_req_delay=10
RUN_OPTS += +max_host_rsp_delay=1000
RUN_OPTS += +max_device_req_delay=1000
RUN_OPTS += +max_device_rsp_delay=10
endif
ifeq (${TEST_NAME},xbar_same_source)
UVM_TEST_SEQ = xbar_same_source_vseq
endif
ifeq (${TEST_NAME},xbar_error_random)
UVM_TEST = xbar_error_test
UVM_TEST_SEQ = xbar_random_vseq
endif
ifeq (${TEST_NAME},xbar_unmapped_addr)
UVM_TEST_SEQ = xbar_unmapped_addr_vseq
endif
ifeq (${TEST_NAME},xbar_error_and_unmapped_addr)
UVM_TEST = xbar_error_test
UVM_TEST_SEQ = xbar_unmapped_addr_vseq
endif
ifeq (${TEST_NAME},xbar_stress_all)
UVM_TEST_SEQ = xbar_stress_all_vseq
endif
ifeq (${TEST_NAME},xbar_stress_all_with_error)
UVM_TEST = xbar_error_test
UVM_TEST_SEQ = xbar_stress_all_vseq
endif
ifeq (${TEST_NAME},xbar_stress_all_with_rand_reset)
UVM_TEST_SEQ = xbar_stress_all_with_rand_reset_vseq
endif
ifeq (${TEST_NAME},xbar_stress_all_with_reset_error)
UVM_TEST = xbar_error_test
UVM_TEST_SEQ = xbar_stress_all_with_rand_reset_vseq
endif
####################################
# Include the tool Makefile below #
# Dont add anything else below it! #
####################################
include ${DV_DIR}/../../../dv/tools/Makefile