Project

General

Profile

[logo] 
 
Home
News
Activity
About/Contact
Major Tools
  Dinotrace
  Verilator
  Verilog-mode
  Verilog-Perl
Other Tools
  BugVise
  CovVise
  Force-Gate-Sim
  Gspice
  IPC::Locker
  Rsvn
  SVN::S4
  Voneline
  WFH
General Info
  Papers

Issue #1241

Signal not driven/used warning when assigning values to modports

Added by Laurens van Dam over 1 year ago. Updated over 1 year ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Lint
% Done:

0%


Description

Hi Verilator team,

I have observed certain behaviour with Verilator of which I am not sure if this intended or not.

I am using an interface with two modports to create a master/slave structure. I happen to get "Signal is not driven, nor used" warnings for signals of which I am certain that they are driven/used.

Attached is a small example where this behaviour occurs and illustrates the problem. I can suppress the warnings by adding lint_off tags, but I prefer not to do this every time. I do run verilator with the -Wwarn-style option, which also triggers these warnings.

The small design synthesizes fine and shows the correct behavior (without any non-driven signals).

I look forward to hearing your opinions about this.

Thanks,

Laurens

top.sv (343 Bytes) Laurens van Dam, 11/06/2017 07:59 AM

run.sh View (51 Bytes) Laurens van Dam, 11/06/2017 07:59 AM

example_module.sv (470 Bytes) Laurens van Dam, 11/06/2017 07:59 AM

dummy_if.sv (237 Bytes) Laurens van Dam, 11/06/2017 07:59 AM

run.sh View (51 Bytes) Laurens van Dam, 11/07/2017 01:14 PM

example_module.sv (472 Bytes) Laurens van Dam, 11/07/2017 01:14 PM

dummy_if.sv (241 Bytes) Laurens van Dam, 11/07/2017 01:14 PM

top.sv (343 Bytes) Laurens van Dam, 11/07/2017 01:14 PM

History

#1 Updated by Todd Strader over 1 year ago

Your master modport's signal is an input, yet you are assigning it in your example module. Try swapping master and slave's directions.

#2 Updated by Laurens van Dam over 1 year ago

Todd Strader wrote:

Your master modport's signal is an input, yet you are assigning it in your example module. Try swapping master and slave's directions.

Swapping directions does not get rid of the Verilator warnings. Attached are the new files. Synthesis in Vivado does not mention anything about non-driven/used signals.

%Warning-UNUSED: example_module.sv:11: Signal is not driven, nor used: dummy_in
%Warning-UNUSED: Use "/* verilator lint_off UNUSED */" and lint_on around source to disable this message.
%Warning-UNUSED: example_module.sv:12: Signal is not driven, nor used: dummy_out
%Error: Exiting due to 2 warning(s)

#3 Updated by Wilson Snyder over 1 year ago

  • Category set to Lint
  • Status changed from New to Resolved
  • Assignee set to Wilson Snyder

Fixed in git towards 3.915.

Also added error when modport inputs are assigned to.

#4 Updated by Wilson Snyder over 1 year ago

  • Status changed from Resolved to Closed

In 3.916.

Also available in: Atom