|  | // Copyright lowRISC contributors. | 
|  | // Licensed under the Apache License, Version 2.0, see LICENSE for details. | 
|  | // SPDX-License-Identifier: Apache-2.0 | 
|  | { | 
|  | // Run with a named build mode, and enable a named run mode. This allows an external testbench to | 
|  | // override this build / run mode to apply additional common settings for all of these tests. | 
|  | build_modes: [ | 
|  | { | 
|  | name: xbar_build_mode | 
|  | } | 
|  | ] | 
|  | run_modes: [ | 
|  | { | 
|  | name: xbar_run_mode | 
|  | } | 
|  | ] | 
|  |  | 
|  | // We rename the "default" build mode to "xbar_build_mode" so that it can be use to apply | 
|  | // additional settings externally. We hence, map other settings that assume the build mode to be | 
|  | // called as "default" to "xbar_build_mode". | 
|  | xbar_build_mode_vcs_cov_cfg_file: "{default_vcs_cov_cfg_file}" | 
|  | xbar_build_mode_xcelium_cov_cfg_file: "{default_xcelium_cov_cfg_file}" | 
|  |  | 
|  | // List of test specifications. | 
|  | tests: [ | 
|  | { | 
|  | name: "xbar_{name}_smoke" | 
|  | build_mode: "xbar_build_mode" | 
|  | en_run_modes: ["xbar_run_mode"] | 
|  | uvm_test: xbar_base_test | 
|  | uvm_test_seq: xbar_smoke_vseq | 
|  | } | 
|  |  | 
|  | { | 
|  | name: "xbar_{name}_smoke_zero_delays" | 
|  | build_mode: "xbar_build_mode" | 
|  | en_run_modes: ["xbar_run_mode"] | 
|  | uvm_test: xbar_base_test | 
|  | uvm_test_seq: xbar_smoke_vseq | 
|  | run_opts: ["+zero_delays=1"] | 
|  | } | 
|  |  | 
|  | { | 
|  | name: "xbar_{name}_smoke_large_delays" | 
|  | build_mode: "xbar_build_mode" | 
|  | en_run_modes: ["xbar_run_mode"] | 
|  | uvm_test: xbar_base_test | 
|  | uvm_test_seq: xbar_smoke_vseq | 
|  | run_opts: ["+max_host_req_delay=1000", | 
|  | "+max_host_rsp_delay=1000", | 
|  | "+max_device_req_delay=1000", | 
|  | "+max_device_rsp_delay=1000", | 
|  | "+max_host_valid_len=2000", | 
|  | "+max_device_valid_len=2000"] | 
|  | } | 
|  |  | 
|  | { | 
|  | name: "xbar_{name}_smoke_slow_rsp" | 
|  | build_mode: "xbar_build_mode" | 
|  | en_run_modes: ["xbar_run_mode"] | 
|  | uvm_test: xbar_base_test | 
|  | uvm_test_seq: xbar_smoke_vseq | 
|  | run_opts: ["+max_host_req_delay=10", | 
|  | "+max_host_rsp_delay=1000", | 
|  | "+max_device_req_delay=1000", | 
|  | "+max_device_rsp_delay=10", | 
|  | "+max_host_valid_len=2000", | 
|  | "+max_device_valid_len=2000"] | 
|  | } | 
|  |  | 
|  | { | 
|  | name: "xbar_{name}_random" | 
|  | build_mode: "xbar_build_mode" | 
|  | en_run_modes: ["xbar_run_mode"] | 
|  | uvm_test: xbar_base_test | 
|  | uvm_test_seq: xbar_random_vseq | 
|  | } | 
|  |  | 
|  | { | 
|  | name: "xbar_{name}_random_zero_delays" | 
|  | build_mode: "xbar_build_mode" | 
|  | en_run_modes: ["xbar_run_mode"] | 
|  | uvm_test: xbar_base_test | 
|  | uvm_test_seq: xbar_random_vseq | 
|  | run_opts: ["+zero_delays=1"] | 
|  | } | 
|  |  | 
|  | { | 
|  | name: "xbar_{name}_random_large_delays" | 
|  | build_mode: "xbar_build_mode" | 
|  | en_run_modes: ["xbar_run_mode"] | 
|  | uvm_test: xbar_base_test | 
|  | uvm_test_seq: xbar_random_vseq | 
|  | run_opts: ["+max_host_req_delay=1000", | 
|  | "+max_host_rsp_delay=1000", | 
|  | "+max_device_req_delay=1000", | 
|  | "+max_device_rsp_delay=1000", | 
|  | "+max_host_valid_len=2000", | 
|  | "+max_device_valid_len=2000"] | 
|  | } | 
|  |  | 
|  | { | 
|  | name: "xbar_{name}_random_slow_rsp" | 
|  | build_mode: "xbar_build_mode" | 
|  | en_run_modes: ["xbar_run_mode"] | 
|  | uvm_test: xbar_base_test | 
|  | uvm_test_seq: xbar_random_vseq | 
|  | run_opts: ["+max_host_req_delay=10", | 
|  | "+max_host_rsp_delay=1000", | 
|  | "+max_device_req_delay=1000", | 
|  | "+max_device_rsp_delay=10", | 
|  | "+max_host_valid_len=2000", | 
|  | "+max_device_valid_len=2000"] | 
|  | } | 
|  |  | 
|  | { | 
|  | name: "xbar_{name}_access_same_device" | 
|  | build_mode: "xbar_build_mode" | 
|  | en_run_modes: ["xbar_run_mode"] | 
|  | uvm_test: xbar_base_test | 
|  | uvm_test_seq: xbar_access_same_device_vseq | 
|  | } | 
|  |  | 
|  | { | 
|  | name: "xbar_{name}_access_same_device_slow_rsp" | 
|  | build_mode: "xbar_build_mode" | 
|  | en_run_modes: ["xbar_run_mode"] | 
|  | uvm_test: xbar_base_test | 
|  | uvm_test_seq: xbar_access_same_device_vseq | 
|  | run_opts: ["+max_host_req_delay=10", | 
|  | "+max_host_rsp_delay=1000", | 
|  | "+max_device_req_delay=1000", | 
|  | "+max_device_rsp_delay=10", | 
|  | "+max_host_valid_len=2000", | 
|  | "+max_device_valid_len=2000"] | 
|  | } | 
|  |  | 
|  | { | 
|  | name: "xbar_{name}_same_source" | 
|  | build_mode: "xbar_build_mode" | 
|  | en_run_modes: ["xbar_run_mode"] | 
|  | uvm_test: xbar_base_test | 
|  | uvm_test_seq: xbar_same_source_vseq | 
|  | } | 
|  |  | 
|  | { | 
|  | name: "xbar_{name}_error_random" | 
|  | build_mode: "xbar_build_mode" | 
|  | en_run_modes: ["xbar_run_mode"] | 
|  | uvm_test: xbar_error_test | 
|  | uvm_test_seq: xbar_random_vseq | 
|  | } | 
|  |  | 
|  | { | 
|  | name: "xbar_{name}_unmapped_addr" | 
|  | build_mode: "xbar_build_mode" | 
|  | en_run_modes: ["xbar_run_mode"] | 
|  | uvm_test: xbar_base_test | 
|  | uvm_test_seq: xbar_unmapped_addr_vseq | 
|  | } | 
|  |  | 
|  | { | 
|  | name: "xbar_{name}_error_and_unmapped_addr" | 
|  | build_mode: "xbar_build_mode" | 
|  | en_run_modes: ["xbar_run_mode"] | 
|  | uvm_test: xbar_error_test | 
|  | uvm_test_seq: xbar_unmapped_addr_vseq | 
|  | } | 
|  |  | 
|  | { | 
|  | name: "xbar_{name}_stress_all" | 
|  | build_mode: "xbar_build_mode" | 
|  | en_run_modes: ["xbar_run_mode"] | 
|  | uvm_test: xbar_base_test | 
|  | uvm_test_seq: xbar_stress_all_vseq | 
|  | } | 
|  |  | 
|  | { | 
|  | name: "xbar_{name}_stress_all_with_rand_reset" | 
|  | build_mode: "xbar_build_mode" | 
|  | en_run_modes: ["xbar_run_mode"] | 
|  | uvm_test: xbar_base_test | 
|  | uvm_test_seq: xbar_stress_all_with_rand_reset_vseq | 
|  | } | 
|  |  | 
|  | { | 
|  | name: "xbar_{name}_stress_all_with_error" | 
|  | build_mode: "xbar_build_mode" | 
|  | en_run_modes: ["xbar_run_mode"] | 
|  | uvm_test: xbar_error_test | 
|  | uvm_test_seq: xbar_stress_all_vseq | 
|  | } | 
|  |  | 
|  | { | 
|  | name: "xbar_{name}_stress_all_with_reset_error" | 
|  | build_mode: "xbar_build_mode" | 
|  | en_run_modes: ["xbar_run_mode"] | 
|  | uvm_test: xbar_error_test | 
|  | uvm_test_seq: xbar_stress_all_with_rand_reset_vseq | 
|  | } | 
|  | ] | 
|  |  | 
|  | // List of regressions. | 
|  | regressions: [ | 
|  | { | 
|  | name: smoke | 
|  | tests: ["xbar_{name}_smoke"] | 
|  | } | 
|  | ] | 
|  | } |