|  | // Copyright lowRISC contributors. | 
|  | // Licensed under the Apache License, Version 2.0, see LICENSE for details. | 
|  | // SPDX-License-Identifier: Apache-2.0 | 
|  | { | 
|  | // Name of the sim cfg - typically same as the name of the DUT. | 
|  | name: chip | 
|  |  | 
|  | // Top level dut name (sv module). | 
|  | dut: chip_earlgrey_asic | 
|  |  | 
|  | // Top level testbench name (sv module). | 
|  | tb: tb | 
|  |  | 
|  | // Default simulator used to sign off. | 
|  | tool: vcs | 
|  |  | 
|  | // Fusesoc core file used for building the file list. | 
|  | fusesoc_core: lowrisc:dv:chip_sim:0.1 | 
|  |  | 
|  | // Testplan hjson file, excluding the connectivity tests. | 
|  | testplan: "{proj_root}/hw/top_earlgrey/data/chip_testplan.hjson:-conn:-no_dv" | 
|  |  | 
|  | // RAL spec - used to generate the RAL model. | 
|  | ral_spec: "{proj_root}/hw/top_earlgrey/data/top_earlgrey.hjson" | 
|  |  | 
|  | // Add additional tops for simulation. | 
|  | sim_tops: ["clkmgr_bind", | 
|  | "pwrmgr_bind", | 
|  | "rstmgr_bind", | 
|  | "sec_cm_prim_onehot_check_bind", | 
|  | "sec_cm_prim_sparse_fsm_flop_bind", | 
|  | "top_earlgrey_error_injection_ifs_bind", | 
|  | "top_earlgrey_bind", | 
|  | "xbar_main_bind", | 
|  | "xbar_peri_bind"] | 
|  |  | 
|  | top_dv_path: "{proj_root}/hw/top_earlgrey/dv" | 
|  |  | 
|  | // Import additional common sim cfg files. | 
|  | import_cfgs: [// Project wide common sim cfg file | 
|  | "{proj_root}/hw/dv/tools/dvsim/common_sim_cfg.hjson", | 
|  | // Common CIP test lists | 
|  | // Enable C compilation of AES model for DPI-C | 
|  | "{proj_root}/hw/ip/aes/model/aes_model_sim_opts.hjson", | 
|  |  | 
|  | "{proj_root}/hw/dv/tools/dvsim/tests/csr_tests.hjson", | 
|  | // TODO #5484, comment these 2 lines out because spi host memory is dummy | 
|  | // "{proj_root}/hw/dv/tools/dvsim/tests/mem_tests.hjson", | 
|  | // xbar tests | 
|  | "{proj_root}/hw/ip/tlul/generic_dv/xbar_tests.hjson", | 
|  | // Config files to get the correct flags for otbn_memutil and otbn_tracer | 
|  | "{proj_root}/hw/dv/verilator/memutil_dpi_scrambled_opts.hjson", | 
|  | "{proj_root}/hw/ip/otbn/dv/memutil/otbn_memutil_sim_opts.hjson", | 
|  | "{proj_root}/hw/ip/otbn/dv/tracer/otbn_tracer_sim_opts.hjson", | 
|  | "{top_dv_path}/chip_smoketests.hjson", | 
|  | "{top_dv_path}/chip_rom_tests.hjson", | 
|  | ] | 
|  |  | 
|  | // Override existing project defaults to supply chip-specific values. | 
|  | overrides: [ | 
|  | // Chip level design is markedly different from our Comportable IPs (and so | 
|  | // is our coverage goals). The coverage goals also differ between 'default' | 
|  | // and the 'cover_reg_top' (used by common tests) builds. We override the | 
|  | // variables below to swap the coverage cfg files used for the Comportable | 
|  | // IPs with chip-specific ones. See `doc/ug/dv_methodology.md` for more | 
|  | // details. | 
|  |  | 
|  | // Used by all chip level functional test. Collects coverage on the IO | 
|  | // boundary of all pre-verified IPs and full coverage on non-pre-verified | 
|  | // IPs. See `hw/dv/tools/dvsim/common_sim_cfg.hjson` for the default value. | 
|  | { | 
|  | name: default_vcs_cov_cfg_file | 
|  | value: "-cm_hier {top_dv_path}/cov/chip_cover.cfg+{top_dv_path}/autogen/xbar_tgl_excl.cfg+{top_dv_path}/autogen/rstmgr_tgl_excl.cfg+{top_dv_path}/cov/clkmgr_tgl_excl.cfg+{top_dv_path}/cov/pwrmgr_tgl_excl.cfg -cm_fsmcfg {top_dv_path}/cov/chip_fsm.cfg" | 
|  | } | 
|  | // Used by 'cover_reg_top' only builds - we only cover the *_reg_top of | 
|  | // the non-pre-verified modules at the chip level. See | 
|  | // `hw/dv/tools/dvsim/common_sim_cfg.hjson` for the default value. | 
|  | { | 
|  | name: cover_reg_top_vcs_cov_cfg_file | 
|  | value: "-cm_hier {top_dv_path}/cov/chip_cover_reg_top.cfg+{top_dv_path}/autogen/xbar_tgl_excl.cfg" | 
|  | } | 
|  | { | 
|  | name: xbar_build_mode_vcs_cov_cfg_file | 
|  | value: "-cm_hier {top_dv_path}/cov/chip_cover_reg_top.cfg+{top_dv_path}/autogen/xbar_tgl_excl.cfg" | 
|  | } | 
|  | // Used by the UNR flow. | 
|  | { | 
|  | name: vcs_unr_cfg_file | 
|  | value: "{top_dv_path}/cov/unr.cfg" | 
|  | } | 
|  |  | 
|  | // Used for xprop config. | 
|  | { | 
|  | name: vcs_xprop_cfg_file | 
|  | value: "{top_dv_path}/vcs_xprop.cfg" | 
|  | } | 
|  | // This defaults to 'ip' in `hw/data/common_project_cfg.hjson`. | 
|  | { | 
|  | name: design_level | 
|  | value: "top" | 
|  | } | 
|  | // The jtag agent requires the data and bytenable widths to be increased. | 
|  | { | 
|  | name: tl_dw | 
|  | value: 64 | 
|  | } | 
|  | { | 
|  | name: tl_dbw | 
|  | value: 8 | 
|  | } | 
|  | ] | 
|  |  | 
|  | // exclusion files | 
|  | vcs_cov_excl_files: ["{top_dv_path}/cov/chip_top_unr_tied_off.el", | 
|  | "{top_dv_path}/cov/conn_ast_mem_cfg.el", | 
|  | "{top_dv_path}/cov/conn_flash_ctrl_ast_obs_test_volt.el", | 
|  | "{top_dv_path}/cov/conn_otp_ctrl_ast_obs_ext_volt.el", | 
|  | "{top_dv_path}/cov/edn1_unr_tied_off_ports.el", | 
|  | "{top_dv_path}/cov/entropy_src_tied_off_xht_port.el", | 
|  | "{top_dv_path}/cov/lc_ctrl_hw_rev_tied_off.el", | 
|  | "{top_dv_path}/cov/pinmux_pad_attr.el", | 
|  | "{top_dv_path}/cov/plic_le_i_tied_off.el", | 
|  | "{top_dv_path}/cov/plic_ip_wr_en_tied_off.el", | 
|  | "{top_dv_path}/cov/rom_ctrl_kmac_app_tied_off_data_strb_bits.el", | 
|  | "{top_dv_path}/cov/spi_host_device_unr_tied_off.el" | 
|  | ] | 
|  |  | 
|  | // Default iterations for all tests - each test entry can override this. | 
|  | reseed: 3 | 
|  |  | 
|  | // Uncomment if using manufacturer tests / test hooks that live somewhere else | 
|  | // on your system, outside of $REPO_TOP. See | 
|  | // sw/device/tests/closed_source/README.md for more details. | 
|  | // exports: [ | 
|  | //   {MANUFACTURER_HOOKS_DIR: "/path/to/manufacturer_hooks_dir"} | 
|  | // ] | 
|  |  | 
|  | // Default UVM test and seq class name. | 
|  | uvm_test: chip_base_test | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_build_device: sim_dv | 
|  |  | 
|  | // Add a default build option to indicate it is a top-level DV testbench. | 
|  | build_opts: ["+define+TOP_LEVEL_DV"] | 
|  |  | 
|  | // Add build modes. | 
|  | build_modes: [ | 
|  | { | 
|  | name: en_ibex_tracer | 
|  | build_opts: ["+define+RVFI=1"] | 
|  | } | 
|  | // Sim mode that enables build randomization. See the `build_seed` mode | 
|  | // defined in `hw/dv/tools/dvsim/common_modes.hjson` for more details. | 
|  | { | 
|  | name: build_seed | 
|  | pre_build_cmds: [ | 
|  | // TODO: find where in run phase we are using this pkg. It fails during ibex TLUL integrity | 
|  | // check. | 
|  | // '''cd {proj_root} && ./util/topgen.py -t {ral_spec} \ | 
|  | //        -o hw/top_earlgrey --rnd_cnst_seed {seed} | 
|  | // ''', | 
|  | // Generate LC encoding | 
|  | "cd {proj_root} && ./util/design/gen-lc-state-enc.py --seed {seed}", | 
|  | // Generate OTP memory map and scrambling constants keys. | 
|  | "cd {proj_root} && ./util/design/gen-otp-mmap.py --seed {seed}", | 
|  | // Use eval_cmd to save build_seed in a file and reuse that file during run phase. | 
|  | // Create the build directory first because eval_cmd runs before actual build phase command | 
|  | // execution. | 
|  | '''{eval_cmd} mkdir -p {build_dir}; echo {seed} > {build_seed_file_path}; \ | 
|  | echo "echo create file {build_seed_file_path}" | 
|  | ''' | 
|  | ] | 
|  | is_sim_mode: 1 | 
|  | } | 
|  | // Build mode that disables rom integrity checks, so use it only for | 
|  | // test development. | 
|  | // DO NOT USE FOR NIGHTLY | 
|  | { | 
|  | name: fast_sim_build_dev | 
|  | build_opts: ["+define+DISABLE_ROM_INTEGRITY_CHECK"] | 
|  | is_sim_mode: 1 | 
|  | } | 
|  | // This fast sim mode adds AST runtime plusargs from the fast_sim run | 
|  | // mode on top of disabling rom integrity checks. It is the fastest way | 
|  | // to run a test. | 
|  | // DO NOT USE FOR NIGHTLY | 
|  | { | 
|  | name: fast_sim_dev | 
|  | en_build_modes: ["fast_sim_build_dev"] | 
|  | run_opts: ["+accelerate_cold_power_up_time=3", | 
|  | "+accelerate_regulators_power_up_time=2"] | 
|  | is_sim_mode: 1 | 
|  | } | 
|  | // TODO: VCS does not support MDAs in constfiles. Most RTL ports in OpenTitan are structs, so | 
|  | // this method currently does not work for our needs. Revisit later. | 
|  | // { | 
|  | //   name: vcs_cov | 
|  | //   build_opts: ["-cm_constfile {top_dv_path}/cov/constfile.txt"] | 
|  | //   is_sim_mode: 1 | 
|  | // } | 
|  | ] | 
|  |  | 
|  | // Add options needed to compile against otbn_memutil, otbn_tracer, | 
|  | // memutil_dpi_scrambled, and AES C model | 
|  | en_build_modes: ["{tool}_otbn_memutil_build_opts", | 
|  | "{tool}_otbn_tracer_build_opts", | 
|  | "{tool}_memutil_dpi_scrambled_build_opts", | 
|  | "{tool}_aes_model_build_opts"] | 
|  |  | 
|  | // Setup for generating OTP images. | 
|  | gen_otp_images_cfg_dir: "{proj_root}/hw/ip/otp_ctrl/data" | 
|  | gen_otp_images_cmd: "{proj_root}/util/design/gen-otp-img.py" | 
|  | gen_otp_images_cmd_opts: ["--quiet", | 
|  | "--img-seed {seed}", | 
|  | // Only provide `--otp-seed` argument if the file to store build_seed | 
|  | // is found. Set this option at the end of the list to avoid `eval_cmd` | 
|  | // take other options as eval_cmd. | 
|  | '''{eval_cmd} file=`echo {build_seed_file_path}`; \ | 
|  | if [ -f $file ]; then \ | 
|  | while read line; do \ | 
|  | echo "--otp-seed $line --lc-seed $line"; \ | 
|  | done < $file; \ | 
|  | fi '''] | 
|  | // Add run modes. | 
|  | run_modes: [ | 
|  | // Generates OTP images with different LC states with canonical values, | 
|  | // pseudo-randomized with the same test seed. | 
|  | { | 
|  | name: gen_otp_images_mode | 
|  | pre_run_cmds: [ | 
|  | '''{gen_otp_images_cmd} \ | 
|  | --img-cfg {gen_otp_images_cfg_dir}/otp_ctrl_img_raw.hjson \ | 
|  | --out {run_dir}/otp_ctrl_img_raw.vmem \ | 
|  | {gen_otp_images_cmd_opts} | 
|  | ''', | 
|  | '''{gen_otp_images_cmd} \ | 
|  | --img-cfg {gen_otp_images_cfg_dir}/otp_ctrl_img_test_unlocked0.hjson \ | 
|  | --add-cfg {gen_otp_images_cfg_dir}/otp_ctrl_img_hw_cfg.hjson \ | 
|  | --out {run_dir}/otp_ctrl_img_test_unlocked0.vmem \ | 
|  | {gen_otp_images_cmd_opts} | 
|  | ''', | 
|  | '''{gen_otp_images_cmd} \ | 
|  | --img-cfg {gen_otp_images_cfg_dir}/otp_ctrl_img_test_unlocked1.hjson \ | 
|  | --add-cfg {gen_otp_images_cfg_dir}/otp_ctrl_img_hw_cfg.hjson \ | 
|  | --out {run_dir}/otp_ctrl_img_test_unlocked1.vmem \ | 
|  | {gen_otp_images_cmd_opts} | 
|  | ''', | 
|  | '''{gen_otp_images_cmd} \ | 
|  | --img-cfg {gen_otp_images_cfg_dir}/otp_ctrl_img_test_unlocked2.hjson \ | 
|  | --add-cfg {gen_otp_images_cfg_dir}/otp_ctrl_img_hw_cfg.hjson \ | 
|  | --out {run_dir}/otp_ctrl_img_test_unlocked2.vmem \ | 
|  | {gen_otp_images_cmd_opts} | 
|  | ''', | 
|  | '''{gen_otp_images_cmd} \ | 
|  | --img-cfg {gen_otp_images_cfg_dir}/otp_ctrl_img_test_locked0.hjson \ | 
|  | --add-cfg {gen_otp_images_cfg_dir}/otp_ctrl_img_hw_cfg.hjson \ | 
|  | --out {run_dir}/otp_ctrl_img_test_locked0.vmem \ | 
|  | {gen_otp_images_cmd_opts} | 
|  | ''', | 
|  | '''{gen_otp_images_cmd} \ | 
|  | --img-cfg {gen_otp_images_cfg_dir}/otp_ctrl_img_test_locked1.hjson \ | 
|  | --add-cfg {gen_otp_images_cfg_dir}/otp_ctrl_img_hw_cfg.hjson \ | 
|  | --out {run_dir}/otp_ctrl_img_test_locked1.vmem \ | 
|  | {gen_otp_images_cmd_opts} | 
|  | ''', | 
|  | '''{gen_otp_images_cmd} \ | 
|  | --img-cfg {gen_otp_images_cfg_dir}/otp_ctrl_img_dev.hjson \ | 
|  | --add-cfg {gen_otp_images_cfg_dir}/otp_ctrl_img_creator_sw_cfg.hjson \ | 
|  | --add-cfg {gen_otp_images_cfg_dir}/otp_ctrl_img_owner_sw_cfg.hjson \ | 
|  | --add-cfg {gen_otp_images_cfg_dir}/otp_ctrl_img_hw_cfg.hjson \ | 
|  | --out {run_dir}/otp_ctrl_img_dev.vmem \ | 
|  | {gen_otp_images_cmd_opts} | 
|  | ''', | 
|  | '''{gen_otp_images_cmd} \ | 
|  | --img-cfg {gen_otp_images_cfg_dir}/otp_ctrl_img_prod.hjson \ | 
|  | --add-cfg {gen_otp_images_cfg_dir}/otp_ctrl_img_creator_sw_cfg.hjson \ | 
|  | --add-cfg {gen_otp_images_cfg_dir}/otp_ctrl_img_owner_sw_cfg.hjson \ | 
|  | --add-cfg {gen_otp_images_cfg_dir}/otp_ctrl_img_hw_cfg.hjson \ | 
|  | --out {run_dir}/otp_ctrl_img_prod.vmem \ | 
|  | {gen_otp_images_cmd_opts} | 
|  | ''', | 
|  | '''{gen_otp_images_cmd} \ | 
|  | --img-cfg {gen_otp_images_cfg_dir}/otp_ctrl_img_rma.hjson \ | 
|  | --add-cfg {gen_otp_images_cfg_dir}/otp_ctrl_img_creator_sw_cfg.hjson \ | 
|  | --add-cfg {gen_otp_images_cfg_dir}/otp_ctrl_img_owner_sw_cfg.hjson \ | 
|  | --add-cfg {gen_otp_images_cfg_dir}/otp_ctrl_img_hw_cfg.hjson \ | 
|  | --out {run_dir}/otp_ctrl_img_rma.vmem \ | 
|  | {gen_otp_images_cmd_opts} | 
|  | ''', | 
|  | ] | 
|  | } | 
|  | // fast_sim mode enables public faster simulation via AST plusargs. | 
|  | // This may be okay to use for public regressions, with the possible | 
|  | // exception of a handful of AST tests. | 
|  | { | 
|  | name: fast_sim | 
|  | run_opts: ["+accelerate_cold_power_up_time=3", | 
|  | "+accelerate_regulators_power_up_time=2"] | 
|  | } | 
|  | { | 
|  | name: sw_test_mode_common | 
|  | run_opts: ["+sw_build_device={sw_build_device}", | 
|  | // Format SW image names (which are Bazel labels concatenated with an index | 
|  | // and/or flags, see below) into output file names separated by commas to feed into | 
|  | // +sw_images plusarg. For example, if the input list of SW images is | 
|  | // ["//sw/device/tests/sim_dv:uart_tx_rx_test:1", | 
|  | //  "//sw/device/lib/testing/test_rom:test_rom:0"], then the output of this eval_cmd | 
|  | // will be: "uart_tx_rx_test:1,test_rom:0". | 
|  | '''+sw_images={eval_cmd} \ | 
|  | reformatted_sw_images=; \ | 
|  | for image in {sw_images}; do \ | 
|  | reformatted_sw_images="$reformatted_sw_images `echo $image | cut -d: -f2-`"; \ | 
|  | done; \ | 
|  | echo $reformatted_sw_images | sed -E 's/\s+/,/g' '''] | 
|  | en_run_modes: ["gen_otp_images_mode"] | 
|  | } | 
|  | { | 
|  | name: sw_test_mode_test_rom | 
|  | sw_images: ["//sw/device/lib/testing/test_rom:test_rom:0"] | 
|  | en_run_modes: ["sw_test_mode_common"] | 
|  | } | 
|  | { | 
|  | name: sw_test_mode_rom | 
|  | sw_images: ["//sw/device/silicon_creator/rom:rom_with_fake_keys:0"] | 
|  | en_run_modes: ["sw_test_mode_common"] | 
|  | } | 
|  | { | 
|  | name: stub_cpu_mode | 
|  | // Note that the chip_base_vseq will preload a random ROM image with valid ECC and digest | 
|  | // so that the ROM check can succeed even if no ROM image is built and supplied via Bazel. | 
|  | en_run_modes: ["gen_otp_images_mode"] | 
|  | run_opts: ["+stub_cpu=1"] | 
|  | } | 
|  | { | 
|  | // Append stub cpu mode to csr_tests_mode. | 
|  | name: csr_tests_mode | 
|  | en_run_modes: ["stub_cpu_mode"] | 
|  | } | 
|  | { | 
|  | // Append stub cpu mode to mem_tests_mode. | 
|  | name: mem_tests_mode | 
|  | en_run_modes: ["stub_cpu_mode"] | 
|  | reseed: 20 | 
|  | } | 
|  | { | 
|  | name: strap_tests_mode | 
|  | en_run_modes: ["sw_test_mode_common"] | 
|  | // The tests using this mode only require the ROM init check to succeed. | 
|  | // The example_test_from_rom test is sufficient. | 
|  | sw_images: ["//sw/device/tests:example_test_from_rom:0:test_in_rom"] | 
|  | run_opts: ["+create_jtag_riscv_map=1"] | 
|  | reseed: 5 | 
|  | } | 
|  | { | 
|  | name: xbar_run_mode | 
|  | en_run_modes: ["gen_otp_images_mode"] | 
|  | run_opts: ["+xbar_mode=1"] | 
|  | reseed: 100 | 
|  | } | 
|  | ] | 
|  |  | 
|  | // List of test specifications. | 
|  | // | 
|  | // If you are adding a test that has been generated from a Bazel | 
|  | // `opentitan_functest` macro, you can specify the test using its Bazel label | 
|  | // followed by an index separated with a ':', which is used by the testbench | 
|  | // to know what type of image is it: | 
|  | // - 0 for Boot ROM, | 
|  | // - 1 for SW test (loaded in flash), | 
|  | // - 2 for OTBN test, and | 
|  | // - 3 for OTP. | 
|  | // This allows an arbitrary number of SW images to be supplied to the TB. | 
|  | // | 
|  | // For example, if the Bazel label for a test is: | 
|  | // `//sw/device/tests:example_test_from_flash`, then you would specify this as | 
|  | // `//sw/device/tests:example_test_from_flash:1`. | 
|  | // | 
|  | // To calculate the value of `+sw_test_timeout_ns` run dvsim by: | 
|  | // $ util/dvsim/dvsim.py hw/top_earlgrey/dv/top_earlgrey_sim_cfgs.hjson \ | 
|  | //       -i TEST_NAME --fixed-seed=1 | 
|  | // Run this a few times and take the worst case runtime, then  increase this | 
|  | // value by 20% and use the relationship that 5 minutes of runtime is roughly | 
|  | // 4 milliseconds of timeout. | 
|  | tests: [ | 
|  | { | 
|  | // Reused from hw/dv/tools/dvsim/tests/csr_tests.hjson. | 
|  | name: "chip_csr_bit_bash" | 
|  | // Don't test over 200 randomly picked CSRs at a time. | 
|  | run_opts: ["+test_timeout_ns=120_000_000", "+num_test_csrs=200"] | 
|  | run_timeout_mins: 180 | 
|  | } | 
|  | { | 
|  | // Reused from hw/dv/tools/dvsim/tests/csr_tests.hjson. | 
|  | name: "chip_csr_aliasing" | 
|  | run_timeout_mins: 180 | 
|  | run_opts: ["+test_timeout_ns=120_000_000"] | 
|  | } | 
|  | { | 
|  | // Reused from hw/dv/tools/dvsim/tests/csr_tests.hjson. | 
|  | name: "chip_same_csr_outstanding" | 
|  | run_timeout_mins: 120 | 
|  | run_opts: ["+test_timeout_ns=120_000_000"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_example_flash | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:example_test_from_flash:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_example_rom | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:example_test_from_rom:0:test_in_rom"] | 
|  | en_run_modes: ["sw_test_mode_common"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_example_manufacturer | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["@manufacturer_test_hooks//:example_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_example_concurrency | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:example_concurrency_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_all_escalation_resets | 
|  | uvm_test_seq: chip_sw_all_escalation_resets_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:all_escalation_resets_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+bypass_alert_ready_to_end_check=1"] | 
|  | reseed: 100 | 
|  | } | 
|  | { | 
|  | name: chip_sw_rstmgr_rst_cnsty_escalation | 
|  | uvm_test_seq: chip_sw_rstmgr_cnsty_fault_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:all_escalation_resets_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+bypass_alert_ready_to_end_check=1"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_data_integrity_escalation | 
|  | uvm_test_seq: chip_sw_data_integrity_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:data_integrity_escalation_reset_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+bypass_alert_ready_to_end_check=1"] | 
|  | reseed: 6 | 
|  | } | 
|  | { | 
|  | name: chip_sw_sleep_pin_mio_dio_val | 
|  | uvm_test_seq: chip_sw_sleep_pin_mio_dio_val_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:sleep_pin_mio_dio_val_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | // Starting the chip in prod LC state frees up all MIOs for this test. | 
|  | run_opts: ["+use_otp_image=OtpTypeLcStProd"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_sleep_pin_wake | 
|  | uvm_test_seq: chip_sw_sleep_pin_wake_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:sleep_pin_wake_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | // Starting the chip in prod LC state frees up all MIOs for this test. | 
|  | run_opts: ["+use_otp_image=OtpTypeLcStProd"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_sleep_pin_retention | 
|  | uvm_test_seq: chip_sw_sleep_pin_retention_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:sleep_pin_retention_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_sleep_pwm_pulses | 
|  | uvm_test_seq: chip_sw_pwm_pulses_vseq | 
|  | sw_images: ["//sw/device/tests:sleep_pwm_pulses_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_pattgen_ios | 
|  | uvm_test_seq: chip_sw_patt_ios_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:pattgen_ios_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=5_000_000"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_uart_tx_rx | 
|  | uvm_test_seq: chip_sw_uart_tx_rx_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:uart_tx_rx_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+uart_idx=0", "+calibrate_usb_clk=1"] | 
|  | reseed: 5 | 
|  | } | 
|  | { | 
|  | name: chip_sw_uart_tx_rx_idx1 | 
|  | uvm_test_seq: chip_sw_uart_tx_rx_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:uart_tx_rx_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+uart_idx=1", "+calibrate_usb_clk=1"] | 
|  | reseed: 5 | 
|  | } | 
|  | { | 
|  | name: chip_sw_uart_tx_rx_idx2 | 
|  | uvm_test_seq: chip_sw_uart_tx_rx_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:uart_tx_rx_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+uart_idx=2", "+calibrate_usb_clk=1"] | 
|  | reseed: 5 | 
|  | } | 
|  | { | 
|  | name: chip_sw_uart_tx_rx_idx3 | 
|  | uvm_test_seq: chip_sw_uart_tx_rx_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:uart_tx_rx_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+uart_idx=3", "+calibrate_usb_clk=1"] | 
|  | reseed: 5 | 
|  | } | 
|  | { | 
|  | name: chip_sw_uart_tx_rx_bootstrap | 
|  | uvm_test_seq: chip_sw_uart_tx_rx_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:uart_tx_rx_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+use_spi_load_bootstrap=1", "+calibrate_usb_clk=1", | 
|  | "+test_timeout_ns=80_000_000"] | 
|  | run_timeout_mins: 180 | 
|  | } | 
|  | { | 
|  | name: chip_sw_inject_scramble_seed | 
|  | uvm_test_seq: chip_sw_inject_scramble_seed_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:inject_scramble_seed:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+lc_at_prod=1", "+flash_program_latency=5", "+sw_test_timeout_ns=150_000_000"] | 
|  | run_timeout_mins: 180 | 
|  | } | 
|  | { | 
|  | name: chip_sw_exit_test_unlocked_bootstrap | 
|  | uvm_test_seq: chip_sw_exit_test_unlocked_bootstrap_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:exit_test_unlocked_bootstrap:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+flash_program_latency=5", "+sw_test_timeout_ns=150_000_000"] | 
|  | run_timeout_mins: 180 | 
|  | } | 
|  | { | 
|  | name: chip_sw_uart_rand_baudrate | 
|  | uvm_test_seq: chip_sw_uart_rand_baudrate_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:uart_tx_rx_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=80_000_000", "+calibrate_usb_clk=1"] | 
|  | reseed: 20 | 
|  | } | 
|  | { | 
|  | name: chip_sw_uart_tx_rx_alt_clk_freq | 
|  | uvm_test_seq: chip_sw_uart_rand_baudrate_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:uart_tx_rx_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=80_000_000", | 
|  | "+chip_clock_source=ChipClockSourceExternal96Mhz", "+calibrate_usb_clk=1"] | 
|  | reseed: 5 | 
|  | } | 
|  | { | 
|  | name: chip_sw_uart_tx_rx_alt_clk_freq_low_speed | 
|  | uvm_test_seq: chip_sw_uart_rand_baudrate_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:uart_tx_rx_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=80_000_000", "+calibrate_usb_clk=1", | 
|  | "+chip_clock_source=ChipClockSourceExternal48Mhz"] | 
|  | reseed: 5 | 
|  | } | 
|  | { | 
|  | name: chip_sw_i2c_host_tx_rx | 
|  | uvm_test_seq: chip_sw_i2c_host_tx_rx_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:i2c_host_tx_rx_test:1"] | 
|  | run_opts: ["+i2c_idx=0"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_i2c_host_tx_rx_idx1 | 
|  | uvm_test_seq: chip_sw_i2c_host_tx_rx_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:i2c_host_tx_rx_test:1"] | 
|  | run_opts: ["+i2c_idx=1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_i2c_host_tx_rx_idx2 | 
|  | uvm_test_seq: chip_sw_i2c_host_tx_rx_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:i2c_host_tx_rx_test:1"] | 
|  | run_opts: ["+i2c_idx=2"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_i2c_device_tx_rx | 
|  | uvm_test_seq: chip_sw_i2c_device_tx_rx_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:i2c_device_tx_rx_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_spi_device_tx_rx | 
|  | uvm_test_seq: chip_sw_spi_device_tx_rx_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:spi_tx_rx_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_spi_device_tpm | 
|  | uvm_test_seq: chip_sw_spi_device_tpm_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:spi_device_tpm_tx_rx_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_spi_host_tx_rx | 
|  | uvm_test_seq: chip_sw_spi_host_tx_rx_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:spi_host_tx_rx_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_spi_device_pass_through | 
|  | uvm_test_seq: chip_sw_spi_passthrough_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:spi_passthrough_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_spi_device_pass_through_collision | 
|  | uvm_test_seq: chip_sw_spi_passthrough_collision_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:spi_passthrough_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_gpio | 
|  | uvm_test_seq: chip_sw_gpio_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:gpio_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_flash_ctrl_ops | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:flash_ctrl_ops_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=14_000_000"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_flash_ctrl_ops_jitter_en | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:flash_ctrl_ops_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=14_000_000", "+en_jitter=1"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_flash_ctrl_lc_rw_en | 
|  | uvm_test_seq: chip_sw_flash_ctrl_lc_rw_en_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:flash_ctrl_lc_rw_en_test:1"] | 
|  | run_opts: ["+bypass_alert_ready_to_end_check=1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_flash_ctrl_access | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:flash_ctrl_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_flash_ctrl_access_jitter_en | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:flash_ctrl_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+en_jitter=1"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_flash_ctrl_idle_low_power | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:flash_ctrl_idle_low_power_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_flash_init | 
|  | uvm_test_seq: chip_sw_flash_init_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:flash_init_test:0:test_in_rom"] | 
|  | en_run_modes: ["sw_test_mode_common"] | 
|  | run_opts: ["+sw_test_timeout_ns=25_000_000"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_flash_rma_unlocked | 
|  | uvm_test_seq: chip_sw_flash_rma_unlocked_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:flash_rma_unlocked_test:0:test_in_rom"] | 
|  | en_run_modes: ["sw_test_mode_common"] | 
|  | run_opts: ["+flash_program_latency=5", "+sw_test_timeout_ns=150_000_000"] | 
|  | run_timeout_mins: 200 | 
|  | } | 
|  | { | 
|  | name: chip_sw_flash_ctrl_clock_freqs | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:flash_ctrl_clock_freqs_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_kmac_entropy | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:kmac_entropy_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_lc_ctrl_otp_hw_cfg | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:lc_ctrl_otp_hw_cfg_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_otp_ctrl_lc_signals_test_unlocked0 | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:otp_ctrl_lc_signals_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"], | 
|  | // Use the image as basis, but clear provitioning state of the SECRET2 | 
|  | // partition so that the test can make front-door accesses to that partition. | 
|  | run_opts: ["+use_otp_image=OtpTypeLcStTestUnlocked0", "+otp_clear_secret2=1"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_otp_ctrl_lc_signals_dev | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:otp_ctrl_lc_signals_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"], | 
|  | // Use the image as basis, but clear provitioning state of the SECRET2 | 
|  | // partition so that the test can make front-door accesses to that partition. | 
|  | run_opts: ["+use_otp_image=OtpTypeLcStDev", "+otp_clear_secret2=1"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_otp_ctrl_lc_signals_prod | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:otp_ctrl_lc_signals_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"], | 
|  | // Use the image as basis, but clear provitioning state of the SECRET2 | 
|  | // partition so that the test can make front-door accesses to that partition. | 
|  | run_opts: ["+use_otp_image=OtpTypeLcStProd", "+otp_clear_secret2=1"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_otp_ctrl_lc_signals_rma | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:otp_ctrl_lc_signals_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"], | 
|  | // Use the image as basis, but clear provitioning state of the SECRET2 | 
|  | // partition so that the test can make front-door accesses to that partition. | 
|  | run_opts: ["+use_otp_image=OtpTypeLcStRma", "+otp_clear_secret2=1"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_otp_ctrl_vendor_test_csr_access | 
|  | uvm_test_seq: chip_sw_otp_ctrl_vendor_test_csr_access_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:otp_ctrl_vendor_test_csr_access_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | // Set higher reseed value to reach all kmac_data to lc_ctrl toggle coverage. | 
|  | name: chip_sw_lc_ctrl_transition | 
|  | uvm_test_seq: chip_sw_lc_ctrl_transition_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:lc_ctrl_transition_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | reseed: 15 | 
|  | } | 
|  |  | 
|  | { | 
|  | name: chip_sw_lc_ctrl_rma_to_scrap | 
|  | uvm_test_seq: chip_sw_lc_ctrl_scrap_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:lc_ctrl_scrap_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+bypass_alert_ready_to_end_check=1", | 
|  | "+src_dec_state=DecLcStRma"] | 
|  | reseed: 1 | 
|  | } | 
|  | { | 
|  | name: chip_sw_lc_ctrl_raw_to_scrap | 
|  | uvm_test_seq: chip_sw_lc_ctrl_scrap_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:lc_ctrl_scrap_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+bypass_alert_ready_to_end_check=1", | 
|  | "+src_dec_state=DecLcStRaw"] | 
|  | reseed: 1 | 
|  | } | 
|  | { | 
|  | name: chip_sw_lc_ctrl_test_locked0_to_scrap | 
|  | uvm_test_seq: chip_sw_lc_ctrl_scrap_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:lc_ctrl_scrap_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+bypass_alert_ready_to_end_check=1", | 
|  | "+src_dec_state=DecLcStTestLocked0"] | 
|  | reseed: 1 | 
|  | } | 
|  | { | 
|  | name: chip_sw_lc_ctrl_rand_to_scrap | 
|  | uvm_test_seq: chip_sw_lc_ctrl_scrap_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:lc_ctrl_scrap_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+bypass_alert_ready_to_end_check=1"] | 
|  | reseed: 3 | 
|  | } | 
|  | { | 
|  | name: chip_sw_lc_walkthrough_dev | 
|  | uvm_test_seq: chip_sw_lc_walkthrough_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:lc_walkthrough_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+flash_program_latency=5", | 
|  | "+use_otp_image=OtpTypeLcStRaw", "+dest_dec_state=DecLcStDev", | 
|  | // The test takes long time because it will transit to RMA state | 
|  | "+sw_test_timeout_ns=200_000_000"] | 
|  | run_timeout_mins: 240 | 
|  | } | 
|  | { | 
|  | name: chip_sw_lc_walkthrough_prod | 
|  | uvm_test_seq: chip_sw_lc_walkthrough_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:lc_walkthrough_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+flash_program_latency=5", | 
|  | "+use_otp_image=OtpTypeLcStRaw", "+dest_dec_state=DecLcStProd", | 
|  | // The test takes long time because it will transit to RMA state | 
|  | "+sw_test_timeout_ns=200_000_000"] | 
|  | run_timeout_mins: 240 | 
|  | } | 
|  | { | 
|  | name: chip_sw_lc_walkthrough_prodend | 
|  | uvm_test_seq: chip_sw_lc_walkthrough_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:lc_walkthrough_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+flash_program_latency=5", | 
|  | "+use_otp_image=OtpTypeLcStRaw", "+dest_dec_state=DecLcStProdEnd"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_lc_walkthrough_rma | 
|  | uvm_test_seq: chip_sw_lc_walkthrough_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:lc_walkthrough_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+use_otp_image=OtpTypeLcStRaw", "+dest_dec_state=DecLcStRma", | 
|  | "+flash_program_latency=5", | 
|  | // The test takes long time because it will transit to RMA state | 
|  | "+sw_test_timeout_ns=200_000_000"] | 
|  | run_timeout_mins: 240 | 
|  | } | 
|  | { | 
|  | name: chip_sw_lc_walkthrough_testunlocks | 
|  | uvm_test_seq: chip_sw_lc_walkthrough_testunlocks_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:lc_walkthrough_testunlocks_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+use_otp_image=OtpTypeLcStRaw", "+dest_dec_state=DecLcStTestUnlock7"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_rstmgr_sw_req | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:rstmgr_sw_req_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_rstmgr_sw_rst | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:rstmgr_sw_rst_ctrl_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_rstmgr_alert_info | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:rstmgr_alert_info_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=30_000_000", "+en_scb_tl_err_chk=0"] | 
|  | run_timeout_mins: 120 | 
|  | } | 
|  | { | 
|  | name: chip_sw_rstmgr_cpu_info | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:rstmgr_cpu_info_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_pwrmgr_full_aon_reset | 
|  | uvm_test_seq: chip_sw_full_aon_reset_vseq | 
|  | sw_images: ["//sw/device/tests:rstmgr_smoketest:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_pwrmgr_main_power_glitch_reset | 
|  | uvm_test_seq: chip_sw_main_power_glitch_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:pwrmgr_main_power_glitch_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+bypass_alert_ready_to_end_check=1"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_pwrmgr_sysrst_ctrl_reset | 
|  | uvm_test_seq: chip_sw_sysrst_ctrl_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:pwrmgr_sysrst_ctrl_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_pwrmgr_random_sleep_all_reset_reqs | 
|  | uvm_test_seq: chip_sw_random_sleep_all_reset_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:pwrmgr_random_sleep_all_reset_reqs_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=50_000_000"] | 
|  | run_timeout_mins: 120 | 
|  | } | 
|  | { | 
|  | name: chip_sw_pwrmgr_deep_sleep_all_reset_reqs | 
|  | uvm_test_seq: chip_sw_deep_sleep_all_reset_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:pwrmgr_deep_sleep_all_reset_reqs_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=50_000_000"] | 
|  | run_timeout_mins: 120 | 
|  | } | 
|  | { | 
|  | name: chip_sw_pwrmgr_normal_sleep_all_reset_reqs | 
|  | uvm_test_seq: chip_sw_deep_sleep_all_reset_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:pwrmgr_normal_sleep_all_reset_reqs_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_timeout_mins: 120 | 
|  | } | 
|  | { | 
|  | name: chip_sw_pwrmgr_sleep_power_glitch_reset | 
|  | uvm_test_seq: chip_sw_main_power_glitch_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:pwrmgr_sleep_power_glitch_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+bypass_alert_ready_to_end_check=1"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_pwrmgr_deep_sleep_power_glitch_reset | 
|  | uvm_test_seq: chip_sw_deep_power_glitch_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:pwrmgr_deep_sleep_power_glitch_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+bypass_alert_ready_to_end_check=1"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_pwrmgr_random_sleep_power_glitch_reset | 
|  | uvm_test_seq: chip_sw_random_power_glitch_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:pwrmgr_random_sleep_power_glitch_reset_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+bypass_alert_ready_to_end_check=1", | 
|  | "+sw_test_timeout_ns=24_000_000"] | 
|  | run_timeout_mins: 120 | 
|  | } | 
|  | { | 
|  | name: chip_sw_pwrmgr_sleep_disabled | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:pwrmgr_sleep_disabled_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_rv_timer_irq | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:rv_timer_smoketest:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_sysrst_ctrl_inputs | 
|  | uvm_test_seq: chip_sw_sysrst_ctrl_inputs_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:sysrst_ctrl_inputs_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_sysrst_ctrl_in_irq | 
|  | uvm_test_seq: chip_sw_sysrst_ctrl_in_irq_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:sysrst_ctrl_in_irq_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_sysrst_ctrl_ulp_z3_wakeup | 
|  | uvm_test_seq: chip_sw_sysrst_ctrl_ulp_z3_wakeup_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:sysrst_ctrl_ulp_z3_wakeup_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_sysrst_ctrl_reset | 
|  | uvm_test_seq: chip_sw_sysrst_ctrl_reset_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:sysrst_ctrl_reset_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=36_000_000"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_sysrst_ctrl_outputs | 
|  | uvm_test_seq: chip_sw_sysrst_ctrl_outputs_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:sysrst_ctrl_outputs_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_sysrst_ctrl_ec_rst_l | 
|  | uvm_test_seq: chip_sw_sysrst_ctrl_ec_rst_l_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:sysrst_ctrl_ec_rst_l_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_aon_timer_irq | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:aon_timer_irq_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=18_000_000"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_aon_timer_sleep_wdog_sleep_pause | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:aon_timer_sleep_wdog_sleep_pause_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=18_000_000"] | 
|  | reseed: 5 | 
|  | } | 
|  | { | 
|  | name: chip_sw_aon_timer_wdog_bite_reset | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:aon_timer_wdog_bite_reset_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=18_000_000"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_pwrmgr_wdog_reset | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:pwrmgr_wdog_reset_reqs_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=18_000_000"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_aon_timer_wdog_lc_escalate | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:aon_timer_wdog_lc_escalate_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=18_000_000"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_adc_ctrl_sleep_debug_cable_wakeup | 
|  | uvm_test_seq: chip_sw_adc_ctrl_sleep_debug_cable_wakeup_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:adc_ctrl_sleep_debug_cable_wakeup_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=18_000_000"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_otbn_randomness | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:otbn_randomness_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=18_000_000","+rng_srate_value=30"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_otbn_ecdsa_op_irq | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:otbn_ecdsa_op_irq_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=28_000_000", "+rng_srate_value=30"] | 
|  | run_timeout_mins: 300 | 
|  | } | 
|  | { | 
|  | name: chip_sw_otbn_ecdsa_op_irq_jitter_en | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:otbn_ecdsa_op_irq_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=33_000_000", "+rng_srate_value=30", "+en_jitter=1"] | 
|  | run_timeout_mins: 300 | 
|  | } | 
|  | { | 
|  | name: chip_sw_otbn_mem_scramble | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:otbn_mem_scramble_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=15_000_000", "+en_scb_tl_err_chk=0", | 
|  | "+bypass_alert_ready_to_end_check=1"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_rv_core_ibex_rnd | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["sw/device/tests:rv_core_ibex_rnd_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | // Timeout based on a 10min dvsim runtime. | 
|  | run_opts: ["+sw_test_timeout_ns=10_000_000"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_rv_core_ibex_nmi_irq | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["sw/device/tests:rv_core_ibex_nmi_irq_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=10_000_000"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_aes_enc | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:aes_smoketest:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=22_000_000"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_aes_enc_jitter_en | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:aes_smoketest:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=26_000_000", "+en_jitter=1"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_aes_idle | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:aes_idle_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=25_000_000"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_aes_masking_off | 
|  | uvm_test_seq: chip_sw_aes_masking_off_vseq | 
|  | sw_images: ["//sw/device/tests:aes_masking_off_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_alert_test | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests/autogen:alert_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_alert_handler_escalation | 
|  | uvm_test_seq: chip_sw_alert_handler_escalation_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:alert_handler_escalation_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | // Disable scoreboard to avoid incorrect alert prediction from the alert_monitor. Due to the | 
|  | // cross-domain alert senders and receivers, the monitor from the chip level did not support | 
|  | // processing alerts accurately from both ends. | 
|  | run_opts: ["+en_scb=0", "+bypass_alert_ready_to_end_check=1"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_alert_handler_ping_timeout | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:alert_handler_ping_timeout_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | // Disable scoreboard to avoid incorrect alert prediction from the alert_monitor. Due to the | 
|  | // cross-domain alert senders and receivers, the monitor from the chip level did not support | 
|  | // processing alerts accurately from both ends. | 
|  | run_opts: ["+en_scb=0", "+sw_test_timeout_ns=24000000"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_alert_handler_reverse_ping_in_deep_sleep | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:alert_handler_reverse_ping_in_deep_sleep_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | // Disable scoreboard to avoid incorrect alert prediction from the alert_monitor. Due to the | 
|  | // cross-domain alert senders and receivers, the monitor from the chip level did not support | 
|  | // processing alerts accurately from both ends. | 
|  | // This test takes long due to the compile time configured reverse timeout. See test plan for | 
|  | // more details. | 
|  | run_opts: ["+en_scb=0", "+sw_test_timeout_ns=300_000_000"] | 
|  | run_timeout_mins: 240 | 
|  | } | 
|  | { | 
|  | name: chip_sw_alert_handler_lpg_sleep_mode_alerts | 
|  | uvm_test_seq: chip_sw_all_escalation_resets_vseq | 
|  | sw_images: ["//sw/device/tests:alert_handler_lpg_sleep_mode_alerts_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+en_scb=0", "+sw_test_timeout_ns=3000_000_000", "+bypass_alert_ready_to_end_check=1", "+avoid_inject_fatal_error_for_ips=sram_ctrl_main,flash_ctrl"] | 
|  | run_timeout_mins: 240 | 
|  | reseed: 90 | 
|  | } | 
|  | { | 
|  | name: chip_sw_alert_handler_lpg_sleep_mode_pings | 
|  | uvm_test_seq: chip_sw_alert_handler_shorten_ping_wait_cycle_vseq | 
|  | sw_images: ["//sw/device/tests:alert_handler_lpg_sleep_mode_pings_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+en_scb=0", "+sw_test_timeout_ns=3000_000_000", "+bypass_alert_ready_to_end_check=1"] | 
|  | run_timeout_mins: 240 | 
|  | } | 
|  | { | 
|  | name: chip_sw_alert_handler_lpg_clkoff | 
|  | uvm_test_seq: chip_sw_alert_handler_lpg_clkoff_vseq | 
|  | sw_images: ["//sw/device/tests:alert_handler_lpg_clkoff_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+en_scb=0", "+sw_test_timeout_ns=3000_000_000"] | 
|  | run_timeout_mins: 240 | 
|  | } | 
|  | { | 
|  | name: chip_sw_alert_handler_lpg_reset_toggle | 
|  | uvm_test_seq: chip_sw_alert_handler_shorten_ping_wait_cycle_vseq | 
|  | sw_images: ["//sw/device/tests:alert_handler_lpg_reset_toggle_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+en_scb=0", "+sw_test_timeout_ns=3000_000_000"] | 
|  | run_timeout_mins: 240 | 
|  | } | 
|  | { | 
|  | name: chip_sw_alert_handler_entropy | 
|  | uvm_test_seq: chip_sw_alert_handler_entropy_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:alert_handler_entropy_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | // Disable scoreboard to avoid incorrect alert prediction from the alert_monitor. Due to the | 
|  | // cross-domain alert senders and receivers, the monitor from the chip level did not support | 
|  | // processing alerts accurately from both ends. | 
|  | run_opts: ["+en_scb=0", "+bypass_alert_ready_to_end_check=1"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_aes_entropy | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:aes_entropy_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=15_000_000"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_entropy_src_fuse_en_fw_read_test | 
|  | uvm_test_seq: chip_sw_entropy_src_fuse_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:entropy_src_fuse_en_fw_read_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=18000000"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_entropy_src_kat_test | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:entropy_src_kat_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=18_000_000"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_csrng_lc_hw_debug_en_test | 
|  | uvm_test_seq: chip_sw_csrng_lc_hw_debug_en_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:csrng_lc_hw_debug_en_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=15_000_000", "+rng_srate_value_min=15", | 
|  | "+use_otp_image=OtpTypeLcStTestUnlocked0"] | 
|  | run_timeout_mins: 60 | 
|  | } | 
|  | { | 
|  | name: chip_sw_csrng_edn_concurrency | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:csrng_edn_concurrency_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=20_000_000", "+rng_srate_value_min=15", | 
|  | "+rng_srate_value_max=20"] | 
|  | run_timeout_mins: 240 | 
|  | } | 
|  | { | 
|  | name: chip_sw_csrng_kat_test | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:csrng_kat_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=18_000_000"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_csrng_fuse_en_sw_app_read_test | 
|  | uvm_test_seq: chip_sw_entropy_src_fuse_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:csrng_fuse_en_sw_app_read:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=15_000_000"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_entropy_src_ast_rng_req | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:entropy_src_ast_rng_req_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=15_000_000"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_entropy_src_csrng | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:entropy_src_csrng_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=18_000_000", "+rng_srate_value_min=15", | 
|  | "+rng_srate_value_max=30"] | 
|  | run_timeout_mins: 120 | 
|  | } | 
|  | { | 
|  | name: chip_sw_edn_entropy_reqs | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:entropy_src_edn_reqs_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=15000000", "+rng_srate_value_min=15", | 
|  | "+rng_srate_value_max=30"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_edn_entropy_reqs_jitter | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:entropy_src_edn_reqs_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=15000000", "+rng_srate_value_min=15", | 
|  | "+rng_srate_value_max=30", "+en_jitter=1"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_hmac_enc | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:hmac_enc_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_hmac_enc_jitter_en | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:hmac_enc_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+en_jitter=1"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_hmac_enc_idle | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:hmac_enc_idle_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_keymgr_key_derivation | 
|  | uvm_test_seq: chip_sw_keymgr_key_derivation_vseq | 
|  | sw_images: ["//sw/device/tests:keymgr_key_derivation_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=20_000_000"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_keymgr_key_derivation_prod | 
|  | uvm_test_seq: chip_sw_keymgr_key_derivation_vseq | 
|  | sw_images: ["//sw/device/tests:keymgr_key_derivation_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+lc_at_prod=1", "+sw_test_timeout_ns=20_000_000"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_keymgr_key_derivation_jitter_en | 
|  | uvm_test_seq: chip_sw_keymgr_key_derivation_vseq | 
|  | sw_images: ["//sw/device/tests:keymgr_key_derivation_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=20_000_000", "+en_jitter=1"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_keymgr_sideload_kmac | 
|  | uvm_test_seq: chip_sw_keymgr_sideload_kmac_vseq | 
|  | sw_images: ["//sw/device/tests:keymgr_sideload_kmac_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=20_000_000"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_keymgr_sideload_aes | 
|  | uvm_test_seq: chip_sw_keymgr_sideload_aes_vseq | 
|  | sw_images: ["//sw/device/tests:keymgr_sideload_aes_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=20_000_000"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_keymgr_sideload_otbn | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:keymgr_sideload_otbn_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=20_000_000"] | 
|  | run_timeout_mins: 180 | 
|  | } | 
|  | { | 
|  | name: chip_sw_kmac_mode_cshake | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:kmac_mode_cshake_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_kmac_mode_kmac | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:kmac_mode_kmac_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_kmac_mode_kmac_jitter_en | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:kmac_mode_kmac_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+en_jitter=1"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_kmac_app_rom | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:kmac_app_rom_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_kmac_idle | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:kmac_idle_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_rom_ctrl_integrity_check | 
|  | uvm_test_seq: chip_sw_rom_ctrl_integrity_check_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:rom_ctrl_integrity_check_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_sram_ctrl_scrambled_access | 
|  | uvm_test_seq: chip_sw_sram_ctrl_scrambled_access_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:sram_ctrl_scrambled_access_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=12_000_000", "+en_scb_tl_err_chk=0"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_sram_ctrl_scrambled_access_jitter_en | 
|  | uvm_test_seq: chip_sw_sram_ctrl_scrambled_access_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:sram_ctrl_scrambled_access_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=12_000_000", | 
|  | "+en_jitter=1", "+en_scb_tl_err_chk=0"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_sram_ctrl_execution_main | 
|  | uvm_test_seq: chip_sw_sram_ctrl_execution_main_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:sram_ctrl_execution_main_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_sleep_sram_ret_contents | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:sram_ctrl_sleep_sram_ret_contents_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=20_000_000", "+en_scb_tl_err_chk=0"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_sensor_ctrl_alert | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:sensor_ctrl_alert_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=40_000_000"] | 
|  | reseed: 5 | 
|  | } | 
|  | { | 
|  | name: chip_sw_sensor_ctrl_status | 
|  | uvm_test_seq: chip_sw_sensor_ctrl_status_intr_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:sensor_ctrl_status_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=40_000_000"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_pwrmgr_sleep_sensor_ctrl_alert_wakeup | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:sensor_ctrl_wakeup_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=8_000_000"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_coremark | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//third_party/coremark/top_earlgrey:coremark_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+en_uart_logger=1", | 
|  | "+sw_test_timeout_ns=100_000_000"] | 
|  | reseed: 1 | 
|  | run_timeout_mins: 180 | 
|  | } | 
|  | { | 
|  | name: chip_sw_pwrmgr_b2b_sleep_reset_req | 
|  | uvm_test_seq: chip_sw_repeat_reset_wkup_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:pwrmgr_b2b_sleep_reset_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=35_000_000"] | 
|  | run_timeout_mins: 120 | 
|  | } | 
|  | // The test below is from tl_access_tests.hjson, but we don't need to include tl_intg_err, | 
|  | // which is also in tl_access_tests.hjson, as TLUL integrity is generated by design and we | 
|  | // include this block in the data path when we stub CPU to verify TL access | 
|  | // So copy chip_tl_errors here and append the stub_cpu_mode run mode. | 
|  | { | 
|  | name: chip_tl_errors | 
|  | build_mode: "cover_reg_top" | 
|  | uvm_test_seq: "{name}_common_vseq" | 
|  | run_opts: ["+run_tl_errors"] | 
|  | en_run_modes: ["stub_cpu_mode"] | 
|  | reseed: 30 | 
|  | } | 
|  | { | 
|  | name: chip_prim_tl_access | 
|  | build_mode: "cover_reg_top" | 
|  | uvm_test_seq: "chip_prim_tl_access_vseq" | 
|  | en_run_modes: ["stub_cpu_mode"] | 
|  | run_opts: ["+en_scb=0", "+en_scb_tl_err_chk=0"] | 
|  | } | 
|  | { | 
|  | name: chip_plic_all_irqs | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests/autogen:plic_all_irqs_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_plic_sw_irq | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:plic_sw_irq_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_clkmgr_off_peri | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:clkmgr_off_peri_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=30_000_000"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_clkmgr_off_aes_trans | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:clkmgr_off_aes_trans_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_clkmgr_off_hmac_trans | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:clkmgr_off_hmac_trans_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_clkmgr_off_kmac_trans | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:clkmgr_off_kmac_trans_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_clkmgr_off_otbn_trans | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:clkmgr_off_otbn_trans_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_clkmgr_external_clk_src_for_lc | 
|  | uvm_test_seq: chip_sw_lc_ctrl_transition_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:clkmgr_external_clk_src_for_lc_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+chip_clock_source=ChipClockSourceExternal48Mhz", "+calibrate_usb_clk=1"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_clkmgr_external_clk_src_for_sw_fast | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:clkmgr_external_clk_src_for_sw_fast_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+chip_clock_source=ChipClockSourceExternal96Mhz", "+calibrate_usb_clk=1"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_clkmgr_external_clk_src_for_sw_slow | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:clkmgr_external_clk_src_for_sw_slow_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+chip_clock_source=ChipClockSourceExternal48Mhz", "+calibrate_usb_clk=1"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_clkmgr_reset_frequency | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["sw/device/tests:clkmgr_reset_frequency_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+calibrate_usb_clk=1"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_clkmgr_jitter | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:clkmgr_jitter_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_clkmgr_sleep_frequency | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["sw/device/tests:clkmgr_sleep_frequency_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+calibrate_usb_clk=1"] | 
|  | } | 
|  | { | 
|  | name: chip_jtag_csr_rw | 
|  | uvm_test_seq: "chip_jtag_csr_rw_vseq" | 
|  | en_run_modes: ["stub_cpu_mode"] | 
|  | run_opts: ["+en_scb=0", "+csr_rw", "+create_jtag_riscv_map=1"] | 
|  | } | 
|  | { | 
|  | name: chip_jtag_mem_access | 
|  | uvm_test_seq: "chip_jtag_mem_vseq" | 
|  | en_run_modes: ["stub_cpu_mode"] | 
|  | run_opts: ["+create_jtag_riscv_map=1"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_ast_clk_outputs | 
|  | uvm_test_seq: chip_sw_ast_clk_outputs_vseq | 
|  | sw_images: ["//sw/device/tests:ast_clk_outs_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+calibrate_usb_clk=1"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_lc_ctrl_program_error | 
|  | uvm_test_seq: chip_sw_lc_ctrl_program_error_vseq | 
|  | sw_images: ["sw/device/tests/sim_dv:lc_ctrl_program_error:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+en_scb=0", "+bypass_alert_ready_to_end_check=1"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_pwrmgr_normal_sleep_all_wake_ups | 
|  | uvm_test_seq: "chip_sw_pwrmgr_deep_sleep_all_wake_ups_vseq" | 
|  | sw_images: ["//sw/device/tests/sim_dv:pwrmgr_normal_sleep_all_wake_ups:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_pwrmgr_deep_sleep_all_wake_ups | 
|  | uvm_test_seq: "chip_sw_pwrmgr_deep_sleep_all_wake_ups_vseq" | 
|  | sw_images: ["//sw/device/tests/sim_dv:pwrmgr_deep_sleep_all_wake_ups:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=18_000_000"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_pwrmgr_random_sleep_all_wake_ups | 
|  | uvm_test_seq: "chip_sw_pwrmgr_deep_sleep_all_wake_ups_vseq" | 
|  | sw_images: ["//sw/device/tests/sim_dv:pwrmgr_random_sleep_all_wake_ups:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=18_000_000", "+do_random=1"] | 
|  | } | 
|  | { | 
|  | name: chip_rv_dm_ndm_reset_req | 
|  | uvm_test_seq: "chip_rv_dm_ndm_reset_vseq" | 
|  | sw_images: ["//sw/device/tests/sim_dv:rv_dm_ndm_reset_req:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+en_scb_tl_err_chk=0", "+use_jtag_dmi=1"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_rv_dm_ndm_reset_req_when_cpu_halted | 
|  | uvm_test_seq: "chip_sw_rv_dm_ndm_reset_when_cpu_halted_vseq" | 
|  | sw_images: ["//sw/device/tests/sim_dv:rv_dm_ndm_reset_req_when_cpu_halted:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+use_jtag_dmi=1"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_rv_dm_access_after_wakeup | 
|  | uvm_test_seq: chip_sw_rv_dm_access_after_wakeup_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:rv_dm_access_after_wakeup:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+use_jtag_dmi=1"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_rv_dm_access_after_escalation_reset | 
|  | uvm_test_seq: "chip_sw_rv_dm_access_after_escalation_reset_vseq" | 
|  | sw_images: ["//sw/device/tests/sim_dv:alert_handler_escalation_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+use_jtag_dmi=1"] | 
|  | } | 
|  | { | 
|  | name: chip_tap_straps_dev | 
|  | uvm_test_seq: chip_tap_straps_vseq | 
|  | en_run_modes: ["strap_tests_mode"] | 
|  | run_opts: ["+use_otp_image=OtpTypeLcStDev"] | 
|  | run_timeout_mins: 120 | 
|  | } | 
|  | { | 
|  | name: chip_tap_straps_rma | 
|  | uvm_test_seq: chip_tap_straps_vseq | 
|  | en_run_modes: ["strap_tests_mode"] | 
|  | run_timeout_mins: 120 | 
|  | } | 
|  | { | 
|  | name: chip_tap_straps_prod | 
|  | uvm_test_seq: chip_tap_straps_vseq | 
|  | en_run_modes: ["strap_tests_mode"] | 
|  | run_opts: ["+use_otp_image=OtpTypeLcStProd"] | 
|  | run_timeout_mins: 120 | 
|  | } | 
|  | { | 
|  | name: chip_rv_dm_lc_disabled | 
|  | build_mode: "cover_reg_top" | 
|  | uvm_test_seq: "chip_rv_dm_lc_disabled_vseq" | 
|  | en_run_modes: ["stub_cpu_mode"] | 
|  | run_opts: ["+en_scb=0", "+en_scb_tl_err_chk=0", "+use_jtag_dmi=1"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_rv_core_ibex_address_translation | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["sw/device/tests:rv_core_ibex_address_translation_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | // Timeout based on a ~7 minute dvsim runtime. | 
|  | run_opts: ["+sw_test_timeout_ns=7_000_000"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_rv_core_ibex_lockstep_glitch | 
|  | uvm_test_seq: chip_sw_rv_core_ibex_lockstep_glitch_vseq | 
|  | sw_images: ["sw/device/tests:aes_smoketest:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | // This test currently stops without completing all transactions, so we | 
|  | // have to disable the final assertions. | 
|  | run_opts: ["+disable_assert_final_checks"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_rv_core_ibex_icache_invalidate | 
|  | uvm_test_seq: chip_sw_rv_core_ibex_icache_invalidate_vseq | 
|  | sw_images: ["//sw/device/tests:rv_core_ibex_icache_invalidate_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_usb_ast_clk_calib | 
|  | uvm_test_seq: "chip_sw_usb_ast_clk_calib_vseq" | 
|  | sw_images: ["//sw/device/tests/sim_dv:ast_usb_clk_calib:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+usb_max_drift=1", "+usb_fast_sof=1"] | 
|  | reseed: 1 | 
|  | } | 
|  | { | 
|  | name: chip_sw_flash_crash_alert | 
|  | uvm_test_seq: chip_sw_flash_host_gnt_err_inj_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:all_escalation_resets_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+test_timeout_ns=8_000_000", "+bypass_alert_ready_to_end_check=1"] | 
|  | } | 
|  | { | 
|  | name: chip_padctrl_attributes | 
|  | uvm_test_seq: chip_padctrl_attributes_vseq | 
|  | en_run_modes: ["stub_cpu_mode"] | 
|  | // Starting the chip in prod LC state frees up all MIOs for this test. | 
|  | run_opts: ["+use_otp_image=OtpTypeLcStProd"] | 
|  | reseed: 10 | 
|  | } | 
|  | { | 
|  | name: chip_sw_clkmgr_jitter_reduced_freq | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:clkmgr_jitter_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+cal_sys_clk_70mhz=1"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_flash_ctrl_ops_jitter_en_reduced_freq | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:flash_ctrl_ops_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=14_000_000", "+en_jitter=1", "+cal_sys_clk_70mhz=1"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_flash_ctrl_access_jitter_en_reduced_freq | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:flash_ctrl_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+en_jitter=1", "+cal_sys_clk_70mhz=1"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_otbn_ecdsa_op_irq_jitter_en_reduced_freq | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:otbn_ecdsa_op_irq_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=33_000_000", "+rng_srate_value=30", "+en_jitter=1", "+cal_sys_clk_70mhz=1"] | 
|  | run_timeout_mins: 1000 | 
|  | } | 
|  | { | 
|  | name: chip_sw_aes_enc_jitter_en_reduced_freq | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:aes_smoketest:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=26_000_000", "+en_jitter=1", "+cal_sys_clk_70mhz=1"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_hmac_enc_jitter_en_reduced_freq | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:hmac_enc_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+en_jitter=1", "+cal_sys_clk_70mhz=1"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_keymgr_key_derivation_jitter_en_reduced_freq | 
|  | uvm_test_seq: chip_sw_keymgr_key_derivation_vseq | 
|  | sw_images: ["//sw/device/tests:keymgr_key_derivation_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=20_000_000", "+en_jitter=1", "+cal_sys_clk_70mhz=1"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_kmac_mode_kmac_jitter_en_reduced_freq | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:kmac_mode_kmac_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+en_jitter=1", "+cal_sys_clk_70mhz=1"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_sram_ctrl_scrambled_access_jitter_en_reduced_freq | 
|  | uvm_test_seq: chip_sw_sram_ctrl_scrambled_access_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:sram_ctrl_scrambled_access_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+mem_sel=main", | 
|  | "+sw_test_timeout_ns=12_000_000", | 
|  | "+en_jitter=1", "+en_scb_tl_err_chk=0", "+cal_sys_clk_70mhz=1"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_flash_init_reduced_freq | 
|  | uvm_test_seq: chip_sw_flash_init_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:flash_init_test:0:test_in_rom"] | 
|  | en_run_modes: ["sw_test_mode_common"] | 
|  | run_opts: ["+sw_test_timeout_ns=25_000_000", "+cal_sys_clk_70mhz=1"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_csrng_edn_concurrency_reduced_freq | 
|  | uvm_test_seq: chip_sw_base_vseq | 
|  | sw_images: ["//sw/device/tests:csrng_edn_concurrency_test:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=30_000_000", "+rng_srate_value_min=15", | 
|  | "+rng_srate_value_max=20", "+cal_sys_clk_70mhz=1", "+en_jitter=1"] | 
|  | run_timeout_mins: 240 | 
|  | } | 
|  | { | 
|  | name: chip_sw_power_idle_load | 
|  | uvm_test_seq: chip_sw_power_idle_load_vseq | 
|  | sw_images: ["//sw/device/tests:chip_power_idle_load:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_power_sleep_load | 
|  | uvm_test_seq: chip_sw_power_sleep_load_vseq | 
|  | sw_images: ["//sw/device/tests:chip_power_sleep_load:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_ast_clk_rst_inputs | 
|  | uvm_test_seq: chip_sw_ast_clk_rst_inputs_vseq | 
|  | sw_images: ["//sw/device/tests/sim_dv:ast_clk_rst_inputs:1"] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: ["+sw_test_timeout_ns=200_000_000"] | 
|  | } | 
|  | { | 
|  | name: chip_sw_power_virus | 
|  | uvm_test_seq: chip_sw_power_virus_vseq | 
|  | sw_images: [ | 
|  | "//sw/device/tests:power_virus_systemtest:1", | 
|  | "//sw/device/tests:power_virus_systemtest_otp_img_rma:4", | 
|  | ] | 
|  | en_run_modes: ["sw_test_mode_test_rom"] | 
|  | run_opts: [ | 
|  | "+sw_test_timeout_ns=200_000_000", | 
|  | "+use_otp_image=OtpTypeCustom", | 
|  | ] | 
|  | run_timeout_mins: 300 | 
|  | } | 
|  | ] | 
|  |  | 
|  | // List of regressions. | 
|  | regressions: [ | 
|  | { | 
|  | name: scrap | 
|  | tests: ["chip_sw_lc_ctrl_raw_to_scrap", | 
|  | "chip_sw_lc_ctrl_rma_to_scrap", | 
|  | "chip_sw_lc_ctrl_test_locked0_to_scrap", | 
|  | "chip_sw_lc_ctrl_rand_to_scrap" | 
|  | ] | 
|  | } | 
|  | { | 
|  | name: smoke | 
|  | tests: ["xbar_chip_smoke", | 
|  | "chip_sw_uart_tx_rx", | 
|  | "chip_sw_spi_host_tx_rx", | 
|  | "chip_sw_spi_device_pass_through", | 
|  | "chip_sw_i2c_host_tx_rx", | 
|  | "chip_sw_i2c_device_tx_rx", | 
|  | "chip_plic_all_irqs", | 
|  | "chip_sw_example_flash", | 
|  | "chip_sw_example_rom", | 
|  | "chip_sw_example_manufacturer", | 
|  | "chip_sw_example_concurrency"] | 
|  | // TODO: add this test after enabling HW verification: "rom_e2e_smoke"] | 
|  | } | 
|  | { | 
|  | name: jitter | 
|  | tests: ["chip_sw_clkmgr_jitter", | 
|  | "chip_sw_flash_ctrl_ops_jitter_en", | 
|  | "chip_sw_flash_ctrl_access_jitter_en", | 
|  | "chip_sw_otbn_ecdsa_op_irq_jitter_en", | 
|  | "chip_sw_aes_enc_jitter_en", | 
|  | "chip_sw_hmac_enc_jitter_en", | 
|  | "chip_sw_keymgr_key_derivation_jitter_en", | 
|  | "chip_sw_kmac_mode_kmac_jitter_en", | 
|  | "chip_sw_sram_ctrl_scrambled_access_jitter_en"] | 
|  | } | 
|  | { | 
|  | name: jitter_reduced_freq | 
|  | tests: ["chip_sw_clkmgr_jitter_reduced_freq", | 
|  | "chip_sw_flash_ctrl_ops_jitter_en_reduced_freq", | 
|  | "chip_sw_flash_ctrl_access_jitter_en_reduced_freq", | 
|  | "chip_sw_otbn_ecdsa_op_irq_jitter_en_reduced_freq", | 
|  | "chip_sw_aes_enc_jitter_en_reduced_freq", | 
|  | "chip_sw_hmac_enc_jitter_en_reduced_freq", | 
|  | "chip_sw_keymgr_key_derivation_jitter_en_reduced_freq", | 
|  | "chip_sw_kmac_mode_kmac_jitter_en_reduced_freq", | 
|  | "chip_sw_sram_ctrl_scrambled_access_jitter_en_reduced_freq", | 
|  | "chip_sw_flash_init_reduced_freq", | 
|  | "chip_sw_csrng_edn_concurrency_reduced_freq"] | 
|  | } | 
|  | { | 
|  | name: xcelium_ci_0 | 
|  | tests: ["chip_plic_all_irqs", | 
|  | "chip_sw_kmac_app_rom", | 
|  | "chip_sw_rstmgr_sw_rst", | 
|  | "chip_sw_hmac_enc", | 
|  | "chip_sw_clkmgr_jitter", | 
|  | "chip_sw_rom_ctrl_integrity_check", | 
|  | "chip_tap_straps_dev", | 
|  | "chip_tap_straps_prod", | 
|  | "chip_tap_straps_rma", | 
|  | "chip_sw_aes_entropy", | 
|  | "chip_sw_kmac_idle", | 
|  | "chip_sw_kmac_mode_cshake", | 
|  | "chip_sw_kmac_mode_kmac", | 
|  | "chip_sw_kmac_mode_kmac_jitter_en", | 
|  | "chip_sw_sleep_pin_mio_dio_val", | 
|  | // TODO: uncomment when these run with Xcelium. | 
|  | // "chip_sw_lc_walkthrough_dev", | 
|  | // "chip_sw_lc_walkthrough_prod", | 
|  | // "chip_sw_lc_walkthrough_prodend", | 
|  | // "chip_sw_lc_walkthrough_rma", | 
|  | // "chip_sw_lc_walkthrough_testunlocks", | 
|  | "chip_prim_tl_access"] | 
|  | } | 
|  | { | 
|  | name: xcelium_ci_1 | 
|  | tests: ["chip_sw_rv_core_ibex_address_translation", | 
|  | "chip_sw_rv_timer_irq", | 
|  | "chip_sw_spi_device_tx_rx", | 
|  | "chip_sw_usb_ast_clk_calib", | 
|  | "chip_sw_plic_sw_irq", | 
|  | "chip_sw_aes_enc", | 
|  | "chip_sw_aes_enc_jitter_en", | 
|  | "chip_sw_sram_ctrl_scrambled_access", | 
|  | "chip_sw_sram_ctrl_scrambled_access", | 
|  | "chip_sw_all_escalation_resets", | 
|  | "chip_rv_dm_ndm_reset_req", | 
|  | "chip_sw_entropy_src_ast_rng_req", | 
|  | "chip_sw_entropy_src_kat_test", | 
|  | "chip_sw_sensor_ctrl_status", | 
|  | "chip_sw_rstmgr_sw_req", | 
|  | "chip_sw_aes_idle", | 
|  | // TODO: uncomment when these run with Xcelium. | 
|  | // "chip_sw_pwrmgr_main_power_glitch_reset", | 
|  | // "chip_sw_pwrmgr_deep_sleep_power_glitch_reset", | 
|  | // "chip_sw_pwrmgr_sleep_power_glitch_reset", | 
|  | "chip_sw_pwrmgr_sleep_disabled", | 
|  | "chip_sw_csrng_kat_test", | 
|  | "chip_sw_sysrst_ctrl_inputs"] | 
|  | } | 
|  | ] | 
|  | } |