blob: fb0d69c12fbce66ec7ddd1d2dd6ed524bb5d9a8b [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: prim_lfsr
// Top level dut name (sv module).
dut: prim_lfsr
// Top level testbench name (sv module).
tb: prim_lfsr_tb
// Simulator used to sign off this block
tool: vcs
// Fusesoc core file used for building the file list.
fusesoc_core: lowrisc:dv:prim_lfsr_sim:0.1
// Import additional common sim cfg files.
import_cfgs: ["{proj_root}/hw/dv/tools/dvsim/common_sim_cfg.hjson"]
// Default iterations for all tests - each test entry can override this.
reseed: 50
// Add PRIM_LSFR specific exclusion files.
vcs_cov_excl_files: ["{proj_root}/hw/ip/prim/dv/prim_lfsr/data/prim_lfsr_cov_excl.el"]
build_modes: [
{
name: prim_lfsr_dw_8
build_opts: ["+define+MAX_LFSR_DW=8"]
}
{
name: prim_lfsr_dw_24
build_opts: ["+define+MAX_LFSR_DW=24"]
}
]
// Since none of the tests use the "default" build mode, we need to indicate which build is the
// main build mode. See commit lowrisc/opentitan#51000a8 for more details.
primary_build_mode: prim_lfsr_dw_24
// Always randomize the initial seed of the LFSR.
//
// For this block level, the DefaultSeed is ignored and a random value is picked instead. This is
// facilitated by the plusarg below. At the chip level, this plusarg is not set, so prim_lfsr
// randomly picks between the DefaultSeed value and a random value.
run_opts: ["+prim_lfsr_use_default_seed=0"]
// dw_8 is only used for "smoke" sims, so coverage collection is not needed.
prim_lfsr_dw_8_vcs_cov_cfg_file: ""
prim_lfsr_dw_24_vcs_cov_cfg_file: "-cm_hier {proj_root}/hw/ip/prim/dv/prim_lfsr/data/prim_lfsr_cover.cfg"
prim_lfsr_dw_8_xcelium_cov_cfg_file: ""
prim_lfsr_dw_24_xcelium_cov_cfg_file: ""
// List of test specifications.
tests: [
{
name: prim_lfsr_smoke
// limit max lfsr length to reduce private CI runtime.
build_mode: prim_lfsr_dw_8
}
{
name: prim_lfsr_test
build_mode: prim_lfsr_dw_24
run_timeout_mins: 120
}
]
// List of regressions.
regressions: [
{
name: smoke
tests: ["prim_lfsr_smoke"]
}
{
name: nightly
tests:["prim_lfsr_test"]
}
]
}