chipsalliance / chipsalliance/chisel

Warnings occurs when using the VCS backend for simulation in SVSIM

Open
#4,848 0 comments 2 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.