Wilson Snyder
5ded80cf79
Fix MacOs Homebrew by removing default LIBS, #2298 .
2020-04-30 19:53:21 -04:00
Geza Lore
c52f3349d1
Initial implementation of generic multithreaded tracing ( #2269 )
...
The --trace-threads option can now be used to perform tracing on a
thread separate from the main thread when using VCD tracing (with
--trace-threads 1). For FST tracing --trace-threads can be 1 or 2, and
--trace-fst --trace-threads 1 is the same a what --trace-fst-threads
used to be (which is now deprecated).
Performance numbers on SweRV EH1 CoreMark, clang 6.0.0, Intel i7-3770 @
3.40GHz, IO to ramdisk, with numactl set to schedule threads on different
physical cores. Relative speedup:
--trace -> --trace --trace-threads 1 +22%
--trace-fst -> --trace-fst --trace-threads 1 +38% (as --trace-fst-thread)
--trace-fst -> --trace-fst --trace-threads 2 +93%
Speed relative to --trace with no threaded tracing:
--trace 1.00 x
--trace --trace-threads 1 0.82 x
--trace-fst 1.79 x
--trace-fst --trace-threads 1 1.23 x
--trace-fst --trace-threads 2 0.87 x
This means FST tracing with 2 extra threads is now faster than single
threaded VCD tracing, and is on par with threaded VCD tracing. You do
pay for it in total compute though as --trace-fst --trace-threads 2 uses
about 240% CPU vs 150% for --trace-fst --trace-threads 1, and 155% for
--trace --trace threads 1. Still for interactive use it should be
helpful with large designs.
2020-04-21 23:49:07 +01:00
Geza Lore
0f617988d4
Compile fast tracing code with OPT_FAST in single compile mode. ( #2245 )
...
When using the __ALL*.cpp based single compile mode (i.e.: without
VM_PARALLEL_BUILDS), the fast path tracing code used to be included in
__Allsup.cpp, which was compiled with OPT_SLOW, severely harming tracing
performance. We now have __ALLfast.cpp and __ALLslow.cpp instead of
__ALLcls.cpp and __ALLsup.cpp, so we can compile the fast support code
with OPT_FAST as well.
2020-04-08 21:05:43 -04:00
Wilson Snyder
efaf375887
Configuring with ccache present now defaults to using it; see OBJCACHE in the manual.
2020-04-05 16:10:33 -04:00
Wilson Snyder
9fdb026e95
Add VM_C11 for future need of C++11
2020-04-04 20:48:03 -04:00
Wilson Snyder
1ce360ed5b
Add SPDX license identifiers. No functional change.
2020-03-21 11:24:24 -04:00
Wilson Snyder
991d81cd0a
Recommend -Os.
2020-02-27 07:46:34 -05:00
Wilson Snyder
f23fe8fd84
Update copyright year.
2020-01-06 18:05:53 -05:00
Wilson Snyder
fe684e8733
Allow redefining VL_PRINTF, bug1598.
2019-12-03 19:12:18 -05:00
Wilson Snyder
2bbb9dccb1
Less verbose ar messages
2019-10-27 11:30:25 -04:00
Wilson Snyder
58a42834a6
Tests: Remove some old makefile rules.
2019-10-08 19:12:33 -04:00
Wilson Snyder
55a25674a2
Add --trace-fst-thread.
2019-05-02 20:33:05 -04:00
Wilson Snyder
8a4aeddbb0
Copyright year update.
2019-01-03 19:17:22 -05:00
Wilson Snyder
49353784fd
Fix __Slow files getting compiled with OPT_FAST, bug1370.
2018-11-29 20:35:21 -05:00
Wilson Snyder
4abf5be9ce
Detect linker requirements for multithreaded runtime.
2018-05-13 19:47:35 -04:00
Wilson Snyder
8b954dc381
Additional debug prints
2018-04-12 22:00:34 -04:00
Wilson Snyder
8e65d93d6d
Copyright year update. No functional change.
2018-01-02 18:05:06 -05:00
Wilson Snyder
f91bac7b31
Rewrite include libraries to support VL_THREADED towards future threading
2017-10-26 21:51:51 -04:00
Wilson Snyder
f9fd634fae
Internals: Fix VL_DBG_MSGF va_list corruption in last commit.
2017-10-25 23:01:45 -04:00
Wilson Snyder
b90f383cfe
Add --threads option through to makefiles, unadvertised for now.
2017-10-21 16:41:43 -04:00
Wilson Snyder
3c1b82255e
Change VL_THREADED to use C++11, and compute and test related GCC flags automatically
2017-10-07 21:29:57 -04:00
Wilson Snyder
778564e63b
Compling: Turn on -Wextra when using --enable-ccwarn
2017-09-14 23:28:02 -04:00
Wilson Snyder
074689b5de
SystemPerl mode (-sp-deprecated) has been removed.
2017-09-07 21:08:49 -04:00
Wilson Snyder
e6d7e7e329
Version bump
2017-01-15 12:13:13 -05:00
Wilson Snyder
5b6f47cd0f
If VM_PARALLEL_BUILDS=1, use OPT_FAST and OPT_SLOW.
2016-09-19 19:31:09 -04:00
Wilson Snyder
6789d247e2
Fix SystemC compiles with VPI, bug1081.
2016-08-23 18:05:29 -04:00
Wilson Snyder
b738d1960a
Copyright year update
2016-01-06 20:36:41 -05:00
Wilson Snyder
5e41350588
Fix makefile with --coverage, bug953.
2015-08-12 19:06:15 -04:00
Wilson Snyder
a36b7afba5
Fix VM_PARALLEL_BUILDS broke in 3.868, bug870.
2015-01-17 13:31:27 -05:00
Wilson Snyder
4c91ade61d
Copyright year update
2015-01-07 18:25:53 -05:00
Wilson Snyder
68c6f0ff07
Inline C functions that are used only once, msg1525.
2014-11-27 10:52:38 -05:00
Wilson Snyder
27af9b6b06
Fix clang warnings, bug818.
2014-09-11 21:28:53 -04:00
Wilson Snyder
4422de0c6c
Copyright year update.
2014-01-06 19:28:57 -05:00
Wilson Snyder
a8bbf7231b
Copyright year update.
2013-01-01 09:42:59 -05:00
Wilson Snyder
2396181bc5
Add SYSTEMC_INCLUDE and SYSTEMC_LIBDIR
2012-01-19 20:30:41 -05:00
Wilson Snyder
c2c7c7bd9a
Copyright year update
2012-01-15 10:26:28 -05:00
Wilson Snyder
86e3c78776
configure: Test for compiler flags, and remove old config checks
2011-10-12 19:04:57 -04:00
Wilson Snyder
194825f78e
Add configure options for cc warnings and extended tests.
2011-10-07 06:48:40 -04:00
Wilson Snyder
bc8c85668a
Support coverage in -cc and -sc output modes.
2011-07-28 19:41:05 -04:00
Wilson Snyder
71c1f00ec2
Copyright year update
2011-01-01 18:21:19 -05:00
Wilson Snyder
56c7c1bcc8
Add warning when directory contains spaces, msg378
2010-10-28 09:51:36 -04:00
Wilson Snyder
c4f306c145
Create vltstd to isolate duplicated headers
2010-02-01 21:39:50 -05:00
Wilson Snyder
a15633053b
Fix recent verilated.mk.in changes lost by editing non .in
2010-01-30 10:05:21 -05:00
Wilson Snyder
729dfdfed7
Copyright year update
2010-01-05 21:15:06 -05:00
Wilson Snyder
f8cb6979d7
Add Makefile VM_GLOBAL_FAST, listing objects needed to link executables.
...
Add additional commentary to makefiles and other output files.
2009-12-02 21:15:56 -05:00
Wilson Snyder
7df730cedd
Verilator is now licensed under LGPL v3 and/or Artistic v2.0.
2009-05-04 17:07:57 -04:00
Wilson Snyder
38669d0a10
Add SYSTEMPERL_INCLUDE envvar to assist RPM builds.
2009-03-28 10:18:53 -04:00
Wilson Snyder
3d06720628
Copyright year update
2009-01-02 11:47:39 -05:00
Wilson Snyder
82a934d6fb
Fix missing define to pass coverage down
2008-09-17 11:11:24 -04:00
Wilson Snyder
52912c6329
Convert repository to git from svn.
...
- Change .cvsignore to .gitignore
- Remove Id metacomments
- Cleanup whitespace at end of lines
2008-06-09 21:25:10 -04:00