| // 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} xrun" |
| run_cmd: "{job_prefix} xrun" |
| |
| // Indicate the tool specific helper sources - these are copied over to the |
| // {tool_srcs_dir} before running the simulation. |
| tool_srcs: ["{proj_root}/hw/dv/tools/xcelium/*"] |
| |
| build_opts: ["-elaborate -64bit -access +r -sv", |
| "-licqueue", |
| "-messages -errormax 50", |
| "-timescale 1ns/1ps", |
| "-f {sv_flist}", |
| "-uvmhome {UVM_HOME}", |
| "-xmlibdirname {build_dir}/xcelium.d"] |
| |
| run_opts: ["-input {tool_srcs_dir}/xcelium_{dump}.tcl", |
| "-licqueue", |
| "-64bit -xmlibdirname {build_dir}/xcelium.d -R", |
| "+SVSEED={seed}", |
| "+UVM_TESTNAME={uvm_test}", |
| "+UVM_TEST_SEQ={uvm_test_seq}"] |
| |
| // Vars that need to exported to the env. |
| exports: [ |
| // Poll for an available license in all servers. |
| CDS_LIC_QUEUE_POLL: 1 |
| // Poll for an available license every 1 min. |
| CDS_LIC_QUEUE_POLL_INT: 60 |
| ] |
| |
| // Coverage related. |
| // TODO: These options have to be filled in. |
| cov_db_dir: "" |
| |
| // 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: "" |
| |
| // 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_base_path}/cov_merge" |
| cov_merge_db_dir: "" |
| cov_merge_cmd: "" |
| cov_merge_opts: [] |
| |
| // Generate covreage reports in text as well as html. |
| cov_report_dir: "{scratch_base_path}/cov_report" |
| cov_report_cmd: "" |
| cov_report_opts: [] |
| cov_report_dashboard: "" |
| |
| // Analyzing coverage - this is done by invoking --cov-analyze switch. It opens up the |
| // GUI for visual analysis. |
| cov_analyze_dir: "{scratch_base_path}/cov_analyze" |
| cov_analyze_cmd: "" |
| cov_analyze_opts: [] |
| |
| // pass and fail patterns |
| build_fail_patterns: ["\\*E.*$"] |
| run_fail_patterns: ["\\*E.*$"] // Null pointer error |
| |
| build_modes: [ |
| { |
| name: xcelium_waves |
| is_sim_mode: 1 |
| } |
| // TODO support coverage for xcelium |
| { |
| name: xcelium_cov |
| is_sim_mode: 1 |
| build_opts: [] |
| run_opts: [] |
| } |
| // TODO support profile for xcelium |
| { |
| name: xcelium_profile |
| is_sim_mode: 1 |
| build_opts: [] |
| run_opts: [] |
| } |
| { |
| name: xcelium_xprop |
| is_sim_mode: 1 |
| # -xverbose << add to see which modules does not have xprop enabled |
| build_opts: ["-xprop F"] |
| } |
| ] |
| } |