// Copyright lowRISC contributors.
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0
{
  build_cmd:  "{job_prefix} vcs"
  build_ex:   "{build_dir}/simv"
  run_cmd:    "{job_prefix} {build_ex}"

  build_opts: ["-sverilog -full64 -licqueue -kdb -ntb_opts uvm-1.2",
               "-timescale=1ns/1ps",
               "-Mdir={build_ex}.csrc",
               "-o {build_ex}",
               "-f {sv_flist}",
               // List multiple tops for the simulation. Prepend each top level with `-top`.
               "{eval_cmd} echo {sim_tops} | sed -E 's/(\\S+)/-top \\1/g'",
               "+incdir+{build_dir}",
               // Turn on warnings for non-void functions called with return values ignored
               "+warn=SV-NFIVC",
               "+warn=noUII-L",
               // Below option required for $error/$fatal system calls
               "-assert svaext",
               // Force unique and priority to evaluate compliance checking only on the stable
               // and final value of the selection input at the end of a simulation timestep.
               // See https://github.com/lowRISC/ibex/issues/845.
               "-xlrm uniq_prior_final",
               // Force DPI-C compilation in C99 mode. The -fno-extended-identifiers flag tells g++
               // not to worry about unicode. For some bizarre reason, the VCS DPI code contains
               // preprocessor macros with smart quotes, which causes GCC 10.2 and later to choke
               // otherwise. The double-escaped quotes are because this needs to go inside a string
               // that gets passed to Make (stripping one level of quotes), and then needs to
               // result in an argument with an embedded space (the other one).
               "-CFLAGS \\\"--std=c99 -fno-extended-identifiers\\\"",
               // C++11 standard is enforced for all sources, including the DPI-C constructs.
               // TODO, may need to update to c++14 to meet our requirements
               // Refer to https://docs.opentitan.org/doc/ug/install_instructions
               "-CFLAGS --std=c++11",
               // Without this magic LDFLAGS argument below, we get compile time errors with
               // VCS on Google Linux machines that look like this:
               // .../libvcsnew.so: undefined reference to `snpsReallocFunc'
               // .../libvcsnew.so: undefined reference to `snpsCheckStrdupFunc'
               // .../libvcsnew.so: undefined reference to `snpsGetMemBytes'
               "-LDFLAGS -Wl,--no-as-needed",
               // This option enables the following: (needed for uvm_hdl_*)
               //  - Read capability on registers, variables, and nets
               //  - Write (deposit) capability on registers and variables
               //  - Force capability on registers, variables, and nets
               "-debug_access+f",
               // Use this to conditionally compile for VCS (example: LRM interpretations differ
               // across tools).
               "+define+VCS",
               // Upgrade below warnings to errors to make VCS more strict on syntax to avoid
               // having issue with other simulators but passing with VCS
               //
               // Identifier previously declared
               "-error=IPDW",
               // Input Supply Port with no driver
               "-error=UPF_ISPND",
               // Invalid generic or parameter assignment
               "-error=IGPA",
               // Class scope used outside of class
               "-error=PCSRMIO",
               // Attempt to override undefined parameter
               "-error=AOUP",
               // Unbound component
               "-error=ELW_UNBOUND",
               // Illegal Use of Wildcard Index
               "-error=IUWI",
               // Index into non-array variable
               "-error=INAV",
               // Illegal Static Cast
               "-error=SV-ISC",
               // Obsolete System Verilog feature
               "-error=OSVF-NPVIUFPI",
               // Duplicate port in module instantiation
               "-error=DPIMI",
               // Identifier in ANSI port declaration
               "-error=IPDASP",
               // File not found
               "-error=CM-HIER-FNF",
               // Concatenations with unsized constants
               "-error=CWUC",
               // More arguments than needed
               "-error=MATN",
               // Specifying negative delays is invalid
               "-error=STASKW_NDTAZ1",
               // Too many parameter overrides
               "-error=TMPO",
               // Class objects must not hide other class members due to same name
               "-error=SV-OHCM",
               ]

  run_opts:   ["-licqueue",
               "-ucli -do {run_script}",
               "+ntb_random_seed={seed}",
               // Disable the display of the SystemVerilog assert and cover statement summary
               // at the end of simulation. This summary is list of assertions that started but
               // did not finish because the simulation terminated, or assertions that did not
               // fire at all. The latter is analyzed anyway in the collected coverage. Neither
               // of these is useful in regular simulations.
               "-assert nopostproc",
               "+UVM_TESTNAME={uvm_test}",
               "+UVM_TEST_SEQ={uvm_test_seq}"]

  // Supported wave dumping formats (in order of preference).
  supported_wave_formats: ["fsdb", "vpd"]

  // Default tcl script used when running the sim. Override if needed.
  run_script: "{dv_root}/tools/sim.tcl"

  // Coverage related.
  cov_db_dir: "{scratch_path}/coverage/{build_mode}.vdb"

  // Individual test specific coverage data - this will be deleted if the test fails
  // so that coverage from failiing tests is not included in the final report.
  cov_db_test_dir_name: "{run_dir_name}.{seed}"
  cov_db_test_dir: "{cov_db_dir}/snps/coverage/db/testdata/{cov_db_test_dir_name}"

  // Merging coverage.
  // "cov_db_dirs" is a special variable that appends all build directories in use.
  // It is constructed by the tool itself.
  cov_merge_dir:    "{scratch_path}/cov_merge"
  cov_merge_db_dir: "{cov_merge_dir}/merged.vdb"
  cov_merge_cmd:    "{job_prefix} urg"
  cov_merge_opts:   ["-full64",
                     "+urg+lic+wait",
                     "-nocheck",
                     "-noreport",
                     "-flex_merge drop",
                     "-group merge_across_scopes",
                     "-parallel",
                     "-parallel_split 20",
                     // Use cov_db_dirs var for dir args; append -dir in front of each
                     "{eval_cmd} echo {cov_db_dirs} | sed -E 's/(\\S+)/-dir \\1/g'",
                     "-dbname {cov_merge_db_dir}"]

  // Generate coverage reports in text as well as html.
  cov_report_dir:       "{scratch_path}/cov_report"
  cov_report_cmd:       "{job_prefix} urg"
  cov_report_opts:      ["-full64",
                        "+urg+lic+wait",
                        "-dir {cov_merge_db_dir}",
                        "-group instcov_for_score",
                        "-line nocasedef",
                        "-format both",
                        "-elfile {vcs_cov_excl_files}",
                        "-report {cov_report_dir}"]
  cov_report_txt:       "{cov_report_dir}/dashboard.txt"
  cov_report_page:      "dashboard.html"

  // UNR related.
  // All code coverage, assert isn't supported
  cov_unr_metrics: "line+cond+fsm+tgl+branch"
  cov_unr_dir:     "{scratch_path}/cov_unr"

  cov_unr_common_build_opts: ["-sverilog -full64 -licqueue -ntb_opts uvm-1.2",
                              "-timescale=1ns/1ps"]

  // Use recommended UUM (Unified usage model) 3 steps flow. The other flow defines macro
  // "SYNTHESIS", which we have used in design
  cov_unr_build_cmd: [// Step 1
                      "{job_prefix} vlogan {cov_unr_common_build_opts} &&",
                      // Step 2
                      "{job_prefix} vlogan {cov_unr_common_build_opts}",
                      // grep all defines from {build_opts} from step 2
                      '''{eval_cmd} opts=`echo {build_opts}`; defines=; d=; \
                      for o in $opts; \
                      do \
                        d=`echo $o | grep -o '+define+.*'`; \
                        defines="$defines $d"; \
                      done; \
                      echo $defines
                      ''',
                      "-f {sv_flist} &&",
                      // Step 3
                      "{job_prefix} vcs {cov_unr_common_build_opts}"]
  cov_unr_build_opts: ["-cm {cov_unr_metrics}",
                       "{vcs_cov_cfg_file}",
                       "-unr={vcs_unr_cfg_file}",
                       "{dut}"]

  cov_unr_run_cmd:   ["{job_prefix} ./unrSimv"]
  cov_unr_run_opts:  ["-unr"]

  // Analyzing coverage - this is done by invoking --cov-analyze switch. It opens up the
  // GUI for visual analysis.
  cov_analyze_dir:  "{scratch_path}/cov_analyze"
  cov_analyze_cmd:  "{job_prefix} verdi"
  cov_analyze_opts: ["-cov",
                     "-covdir {cov_merge_db_dir}",
                     "-line nocasedef"
                     "-elfile {vcs_cov_excl_files}"]

  // Vars that need to exported to the env.
  exports: [
    { VCS_ARCH_OVERRIDE: "linux" },
    { VCS_LIC_EXPIRE_WARNING: 1 }
  ]

  // Defaults for VCS
  // By default, collect all coverage metrics.
  cov_metrics: "line+cond+fsm+tgl+branch+assert"

  // Supply the cov configuration file.
  // Note that this needs to be set as -cm_hier <file>.
  vcs_cov_cfg_file: ""

  // Supply the cov configuration file for assertions.
  // Note that this needs to be set as -cm_assert_hier <file>.
  vcs_cov_assert_cfg_file: ""

  // Supply the cov exclusion files.
  vcs_cov_excl_files: []

  // pass and fail patterns
  build_fail_patterns: ["^Error-.*$"]
  run_fail_patterns:   ["^Error-.*$"] // Null pointer error

  build_modes: [
    {
      name: vcs_waves
      is_sim_mode: 1
      build_opts: ["-debug_access+all"]
    }
    {
      name: vcs_cov
      is_sim_mode: 1
      build_opts: [// Enable the required cov metrics
                   "-cm {cov_metrics}",
                   // Set the coverage hierarchy
                   "{vcs_cov_cfg_file}",
                   // Set the assert coverage hierarchy
                   "{vcs_cov_assert_cfg_file}",
                   // Cover all continuous assignments
                   "-cm_line contassign",
                   // Dump toggle coverage on mdas, array of structs and on ports only
                   "-cm_tgl mda+structarr+portsonly",
                   // Ignore initial blocks for coverage
                   "-cm_report noinitial",
                   // Filter unreachable/statically constant blocks
                   "-cm_noconst",
                   // Don't count coverage that's coming from zero-time glitches
                   "-cm_glitch 0",
                   // Ignore warnings about not applying cm_glitch to path and FSM
                   "+warn=noVCM-OPTIGN",
                   // Coverage database output location
                   "-cm_dir {cov_db_dir}"]

      run_opts:   [// Enable the required cov metrics
                   "-cm {cov_metrics}",
                   // Same directory as build
                   "-cm_dir {cov_db_dir}",
                   // Don't output cm.log which can be quite large
                   "-cm_log /dev/null",
                   // Provide a name to the coverage collected for this test
                   "-cm_name {cov_db_test_dir_name}"]
    }
    {
      name: vcs_xprop
      is_sim_mode: 1
      build_opts: ["-xprop={dv_root}/tools/vcs/xprop.cfg"]
    }
    {
      name: vcs_profile
      is_sim_mode: 1
      build_opts: ["-simprofile"]
      run_opts:   ["-simprofile {profile}"]
    }
    {
      name: vcs_loopdetect
      is_sim_mode: 1
      build_opts: ["+vcs+loopreport", "+vcs+loopdetect"]
      run_opts:   ["+vcs+loopreport", "+vcs+loopdetect"]
    }
  ]
}
