// Copyright lowRISC contributors.
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0
{
  // Sim modes are collection of build_opts and run_opts
  // These are only set on the command line
  // These are different from the build modes in the sense that these collection of
  // options are appended to actual build_modes
  build_modes: [
    {
      name: gui
      is_sim_mode: 1
      en_build_modes: ["{tool}_gui"]
    }
    {
      name: waves
      is_sim_mode: 1
      en_build_modes: ["{tool}_waves"]
    }
    {
      name: waves_off
      is_sim_mode: 1
      en_build_modes: ["{tool}_waves_off"]
    }
    {
      name: cov
      is_sim_mode: 1
      en_build_modes: ["{tool}_cov"]
      // This plusarg is retrieved in `hw/dv/sv/dv_lib/dv_base_test.sv`. If not set, the coverage
      // collection components are not created.
      run_opts: ["+en_cov=1"]
    }
    {
      name: profile
      is_sim_mode: 1
      en_build_modes: ["{tool}_profile"]
    }
    {
      name: xprop
      is_sim_mode: 1
      en_build_modes: ["{tool}_xprop"]
    }
    {
      name: loopdetect
      is_sim_mode: 1
      en_build_modes: ["{tool}_loopdetect"]
    }
  ]

  run_modes: [
    {
      name: uvm_trace
      run_opts: ["+UVM_PHASE_TRACE", "+UVM_CONFIG_DB_TRACE", "+UVM_OBJECTION_TRACE"]
    }
  ]
}
