lowRISC / lowRISC/opentitan

[dvsim ] primary_build_mode: default in <IP> cfg is invalid

Open
#23,647 2 comments 0 reactions 0 assignees View on GitHub
Component:Tooling Tool:dvsim
Dominant language
SystemVerilog
Stars
3.6k
Forks
1.1k
Avg merge
2d 22h
Merged PRs (30d)
141

Description

Greetings @rswarbrick ,

I'd like to ask if it is mandatory for a regression to contain the test case that using the `default` build mode, otherwise it will trigger a `primary_build_mode: default` error.

For example, a part of my hjson as shown below. I have several build modes regarding different defined flags' values, and a regression contains the test cases using different build modes except `default`.

```
build_opts: ["+define+ARM_PROP_DELAY=0"]

build_modes: [
{
name: s100
build_opts: ["+define+SUCCESS_100"]
is_sim_mode: 1
}

{
name: s50_cal100
build_opts: [
"+define+SUCCESS_50",
"+define+CAL_BITS_100"
]
is_sim_mode: 1
}
]

tests: [
{
name: sleep_awake
uvm_test_seq: sleep_awake_seq
uvm_test: sleep_awake_test
}

{
name: chn_random_fsm
uvm_test_seq: chn_random_fsm_seq
uvm_test: chn_random_fsm_test
build_mode: "s50_cal100"
run_opts: [
"+define+SUCCESS_50",
"+define+CAL_BITS_100"
]
}

{
name: cal_read_debug
uvm_test_seq: cs_cal_read_debug_seq
uvm_test: cs_cal_read_debug_test
build_mode: "s100"
run_opts: ["+define+SUCCESS_100"]
}
]

regressions: [
{
name: latest_failed
tests: [
"chn_random_fsm",
"cal_read_debug"
]
}
]
```

However, when I run the regression it raises the error
```
ERROR: [SimCfg] "primary_build_mode: default" in single_macro cfg is invalid. Please pick from {'s50_cal100', 's100'}
```
But it works well by adding an test case(`sleep_awake` here) using default build mode.

Thank you!

Contributor guide

Open the contributing guide

Research direction

Reproduce the regression with the HJSON configuration shown in the issue, including only the s50_cal100 and s100 build modes. Start from the reported SimCfg validation error and trace how the primary build mode is selected. Done means determining whether a default-build test is required and documenting or correcting the behavior accordingly.

Written by the indexing model from the issue text.

Assessment

Domain
testing-qa
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.