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