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