chipsalliance / chipsalliance/chisel
Warnings occurs when using the VCS backend for simulation in SVSIM
- Dominant language
- Scala
- Stars
- 4.8k
- Forks
- 658
- Avg merge
- 18h 59m
- Merged PRs (30d)
- 14
Description
In the generated Makefile, the VCS command uses the `-P` option to specify `novas.tab` and `pli.a`, but also uses the `debug_access` option, which can cause conflicts and result in the following warning:
```
Warning-[UFTMD] User function/task multiply defined
/a/b/c/verdi3_2023.12-SP2-3/share/PLI/VCS/LINUX64/verdi.tab, 27
The function/task '$paa_sync' has mismatching multiple definitions in PLI
table(s):
call=novas_call_paa_sync vs call=novas_call_phaseout_paa_sync
This definition is ignored.
The previous definition is in:
/a/b/c/verdi3_2023.12-SP2-3/share/PLI/VCS/LINUX64/novas.tab, 28
```
It is recommended to remove the `-P` option, and provided operands to `-debug_access`.
Contributor guide
Research direction
Start by locating the generated Makefile for the SVSIM VCS backend and inspect how the VCS command combines the -P option, novas.tab, pli.a, and debug_access. Reproduce the simulation warning if possible, then verify that the generated command uses compatible options and no longer emits the multiply-defined PLI warning.
Written by the indexing model from the issue text.
Assessment
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100