blob: d0f53a2770167275dc52ae4919a0b27ae19f6f0a [file] [log] [blame]
// 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: keymgr
// Top level dut name (sv module).
dut: keymgr
// Top level testbench name (sv module).
tb: tb
// Simulator used to sign off this block
tool: vcs
// Fusesoc core file used for building the file list.
fusesoc_core: lowrisc:dv:keymgr_sim:0.1
// Testplan hjson file.
testplan: "{proj_root}/hw/ip/keymgr/data/keymgr_testplan.hjson"
// RAL spec - used to generate the RAL model.
ral_spec: "{proj_root}/hw/ip/keymgr/data/keymgr.hjson"
// Import additional common sim cfg files.
// TODO: remove imported cfgs that do not apply.
import_cfgs: [// Project wide common sim cfg file
"{proj_root}/hw/dv/tools/dvsim/common_sim_cfg.hjson",
// Common CIP test lists
"{proj_root}/hw/dv/tools/dvsim/tests/csr_tests.hjson",
"{proj_root}/hw/dv/tools/dvsim/tests/intr_test.hjson",
"{proj_root}/hw/dv/tools/dvsim/tests/alert_test.hjson",
"{proj_root}/hw/dv/tools/dvsim/tests/tl_access_tests.hjson",
"{proj_root}/hw/dv/tools/dvsim/tests/shadow_reg_errors_tests.hjson",
"{proj_root}/hw/dv/tools/dvsim/tests/sec_cm_tests.hjson",
"{proj_root}/hw/dv/tools/dvsim/tests/stress_tests.hjson"
]
// Add additional tops for simulation.
sim_tops: ["keymgr_bind", "keymgr_cov_bind", "sec_cm_prim_count_bind",
"sec_cm_prim_sparse_fsm_flop_bind", "sec_cm_prim_onehot_check_bind"]
// Default iterations for all tests - each test entry can override this.
reseed: 50
// Add UART specific exclusion files.
vcs_cov_excl_files: ["{proj_root}/hw/ip/keymgr/dv/cov/keymgr_cov_excl.el"]
// Default UVM test and seq class name.
uvm_test: keymgr_base_test
uvm_test_seq: keymgr_base_vseq
// List of test specifications.
tests: [
{
name: keymgr_smoke
uvm_test_seq: keymgr_smoke_vseq
}
{
name: keymgr_sideload
uvm_test_seq: keymgr_sideload_vseq
}
{
name: keymgr_sideload_kmac
uvm_test_seq: keymgr_sideload_one_intf_vseq
run_opts: ["+sideload_dest=Kmac"]
}
{
name: keymgr_sideload_aes
uvm_test_seq: keymgr_sideload_one_intf_vseq
run_opts: ["+sideload_dest=Aes"]
}
{
name: keymgr_sideload_otbn
uvm_test_seq: keymgr_sideload_one_intf_vseq
run_opts: ["+sideload_dest=Otbn"]
}
{
name: keymgr_random
uvm_test_seq: keymgr_random_vseq
}
{
name: keymgr_cfg_regwen
uvm_test_seq: keymgr_cfg_regwen_vseq
// This test is to check reg programming is gated when cfg_regwen=0, it's timing sensitive
run_opts: ["+zero_delays=1"]
}
{
name: keymgr_direct_to_disabled
uvm_test_seq: keymgr_direct_to_disabled_vseq
}
{
name: keymgr_lc_disable
uvm_test_seq: keymgr_lc_disable_vseq
}
{
name: keymgr_sw_invalid_input
uvm_test_seq: keymgr_sw_invalid_input_vseq
}
{
name: keymgr_hwsw_invalid_input
uvm_test_seq: keymgr_hwsw_invalid_input_vseq
}
{
name: keymgr_kmac_rsp_err
uvm_test_seq: keymgr_kmac_rsp_err_vseq
}
{
name: keymgr_custom_cm
uvm_test_seq: keymgr_custom_cm_vseq
}
{
name: keymgr_sideload_protect
uvm_test_seq: keymgr_sideload_protect_vseq
}
{
name: keymgr_sync_async_fault_cross
uvm_test_seq: keymgr_sync_async_fault_cross_vseq
}
{
name: keymgr_stress_all
uvm_test_seq: keymgr_stress_all_vseq
}
]
// List of regressions.
regressions: [
{
name: smoke
tests: ["keymgr_smoke"]
}
]
}