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 #1370

Slow file compiled with OPT_FAST when --output-split is used

Added by Thomas Watts 18 days ago. Updated 16 days ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Configure/Make/Compiling
% Done:

0%


Description

Hi, I'm trying to speed up the build time of a moderately large verilator model.

So I'm verilating with --output-split 20000 and compiling with VM_PARALLEL_BUILDS=1 OPT_FAST="-O1 -fstrict-aliasing"

This combination of options results in a 'slow' file being compiled with the OPT_FAST options, which for my design causes a ~60MB C file to be compiled for ~1hour.

The problem is that verilator creates Vmydesign__Trace__Slow__1.cpp which is picked up not by this rule

$(VM_PREFIX)%__Slow.o: $(VM_PREFIX)%__Slow.cpp
    $(OBJCACHE) $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(OPT_SLOW) -c -o $@ $<
but instead by
$(VM_PREFIX)%.o: $(VM_PREFIX)%.cpp
    $(OBJCACHE) $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(OPT_FAST) -c -o $@ $<

in verilator/include/verilated.mk The adding of __1 by the --output-split is incompatible with the make rules.

(verilator-4.006, ccache and clang-6.0)

History

#1 Updated by Wilson Snyder 17 days ago

  • Category set to Configure/Make/Compiling
  • Status changed from New to Resolved
  • Assignee set to Wilson Snyder

Good catch, the tests weren't checking the right options were used and of course what isn't tested is broken ;)

Fixed in git towards 4.008.

#2 Updated by Wilson Snyder 16 days ago

  • Status changed from Resolved to Closed

In 4.008.

Also available in: Atom