blob: bcfe497e9392fe208a71b2d36378aa6e2ca07c09 [file] [log] [blame]
// Copyright lowRISC contributors.
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0
{
project: opentitan
doc_server: docs.opentitan.org
results_server: reports.opentitan.org
flow: sim
flow_makefile: "{proj_root}/hw/dv/data/sim.mk"
import_cfgs: ["{proj_root}/hw/dv/data/common_modes.hjson",
"{proj_root}/hw/dv/data/fusesoc.hjson",
"{proj_root}/hw/dv/data/gen_ral_pkg.hjson",
"{proj_root}/hw/dv/data/{simulator}/{simulator}.hjson"]
// Default directory structure for the output
scratch_base_path: "{scratch_root}/{dut}.{flow}.{simulator}"
scratch_path: "{scratch_base_path}/{branch}"
simulator_srcs_dir: "{scratch_path}/{simulator}"
build_dir: "{scratch_path}/{build_mode}"
run_dir_name: "{index}.{test}"
run_dir: "{scratch_path}/{run_dir_name}/out"
sw_build_dir: "{run_dir}/sw_build"
// pass and fail patterns
pass_patterns: ["^TEST PASSED (UVM_)?CHECKS$"]
fail_patterns: ["^UVM_ERROR\\s[^:].*$",
"^Assert failed: ",
"^\\s*Offending '.*'",
"^TEST FAILED (UVM_)?CHECKS$"]
// Default TileLink widths
tl_aw: 32
tl_dw: 32
tl_dbw: 4
// Default UVM verbosity settings
n: UVM_NONE
l: UVM_LOW
m: UVM_MEDIUM
h: UVM_HIGH
d: UVM_DEBUG
// Default waves dump settings
dump_file: waves.{dump}
// Top level simulation entities.
sim_tops: ["-top {tb}"]
// Default build and run opts
build_opts: [// List multiple tops for the simulation
"{sim_tops}",
// Standard UVM defines
"+define+UVM_NO_DEPRECATED",
"+define+UVM_REGEX_NO_DPI",
"+define+UVM_REG_ADDR_WIDTH={tl_aw}",
"+define+UVM_REG_DATA_WIDTH={tl_dw}",
"+define+UVM_REG_BYTENABLE_WIDTH={tl_dbw}"]
run_opts: ["+UVM_NO_RELNOTES",
"+UVM_VERBOSITY={verbosity}"]
// Default list of things to export to shell
exports: [
DUMP_FILE: {dump_file}
WAVES: {waves}
DUT_TOP: {dut}
TB_TOP: {tb}
]
// Build modes are collection of build_opts and run_opts
// A test can enable a specific build mode by setting 'use_build_mode' key
build_modes: [
{
name: foo
build_opts: ["+define+bx",
"+define+by",
"+define+bz"]
run_opts: ["+rx=1",
"+ry=2",
"+rz=3"]
}
{
name: bar
build_opts: ["+define+bbaru1",
"+define+bbaru2",
"+define+bbaru3"]
run_opts: ["+rbar1u=1",
"+rbar2u=2",
"+rbar3u=3"]
}
]
// Regressions are tests that can be grouped together and run in one shot
// By default, two regressions are made available - "all" and "nightly". Both
// run all available tests for the DUT. "nightly" enables coverage as well.
// The 'tests' key is set to an empty list, which indicates "run everything".
// Test sets can enable sim modes, which are a set of build_opts and run_opts
// that are grouped together. These are appended to the build modes used by the
// tests.
regressions: [
{
name: sanity
reseed: 1
}
{
name: all
tests: []
}
{
name: all_once
reseed: 1
tests: []
}
{
name: nightly
tests: []
en_sim_modes: ["cov"]
}
]
// Project defaults for VCS
vcs_cov_hier: "-cm_hier {simulator_srcs_dir}/cover.cfg"
vcs_cov_excl_files: ["{simulator_srcs_dir}/common_cov_excl.el"]
// Results server stuff - indicate what command to use to copy over the results.
// Workaround for gsutil to fall back to using python2.7.
results_server_prefix: "gs://"
results_server_url_prefix: "https://"
results_server_cmd: "CLOUDSDK_PYTHON=/usr/bin/python2.7 /usr/bin/gsutil"
results_server_path: "{results_server_prefix}{results_server}/{rel_path}"
results_server_dir: "{results_server_path}/latest"
}