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

Multiple top modules for lint

Added by Kris Jeon 5 months ago

Hi,

How can I easily modify codes to repeat multiple modules for --lint-only mode ? Instead of repeating outside with --top-module option.

Best Regards, Kris


Replies (8)

RE: Multiple top modules for lint - Added by Wilson Snyder 5 months ago

At present there must be a single top module, multiple ones are not supported even in lint-only.

Or if I misunderstood the question please reword.

RE: Multiple top modules for lint - Added by Kris Jeon 5 months ago

But it is possible to call separately like this ...
verilator ..--lint-only a.v --top-modules a
verilator ..--lint-only a.v --top-modules b
verilator ..--lint-only a.v --top-modules c
...

What I am saying, I wonder if I can put the loop inside of main().

RE: Multiple top modules for lint - Added by Wilson Snyder 5 months ago

Yes.

Probably the easiest fix would be to inside the generated top wrapper instead instantiate every module found at top. Patches welcome.

RE: Multiple top modules for lint - Added by Wilson Snyder 5 months ago

P.S. Looping in main() would be a mess and cause other problems. Looping outside by calling verilator many times is fine, but of course takes longer and you need to know the appropriate modules.

RE: Multiple top modules for lint - Added by Kris Jeon 5 months ago

It is good idea to use a top wrapper. I'll have to try it.

Thanks!

RE: Multiple top modules for lint - Added by Kris Jeon 5 months ago

I've done. Thanks again.

RE: Multiple top modules for lint - Added by Wilson Snyder 5 months ago

Nice. Can you post the contributed patches back (including some test cases) please? Thanks

RE: Multiple top modules for lint - Added by Kris Jeon 5 months ago

I didn't patch the codes inside for it. A temporary wrapper file is made outside of verilator and thrown with original verilog file after extracting module information. It is performed inside of editor plugin.

    (1-8/8)