Wilson Snyder
2517bfd0af
Fix argparse difference on ubuntu 18.04
2021-01-16 13:57:56 -05:00
Wilson Snyder
1f105edf69
Internals: Convert astgen to python.
2021-01-16 13:24:14 -05:00
Wilson Snyder
bd551a7444
Internals: Convert bisonpre to python3
2021-01-10 22:53:59 -05:00
Wilson Snyder
bd602d0e2d
Copyright year update
2021-01-01 10:29:54 -05:00
Wilson Snyder
922eab5f93
Internals: Convert config_rev, cppcheck_filtered, flexfix to python3
2020-12-23 15:41:14 -05:00
Krzysztof Bieganski
cf7ea06b5d
Support randomize() class method and rand
2020-12-07 17:55:22 -05:00
Wilson Snyder
f94fcaa8e4
Move YYDEBUG into header. No functional change intended.
2020-11-14 10:20:27 -05:00
Yutetsu TAKATSUKASA
953a442827
Support hierarchical verilation using protect lib ( #2206 )
2020-08-15 09:43:53 -04:00
Geza Lore
5a4cc333fb
Travis: Add OS X build ( #2440 )
2020-06-22 10:13:54 +01:00
Geza Lore
fe306a36b8
Add MergeCond pass to combine assignments with ?: on rhs ( #2376 )
...
This provides minor simulation performance benefit, but can provide
large C++ compilation time improvement, notably with Clang (4x).
This patch implements #2366 .
2020-05-30 21:09:05 +01:00
Maciej Sobkowski
9d48ff7745
Support pre/postifx incrementation/decrementation in array index ( #2223 )
2020-05-28 18:08:15 -04:00
Maarten De Braekeleer
e8f27be200
Fix Visual Studio compiler issues ( #2375 )
...
* Make sure compiler creates same object file as target of rule
* MSVC requires a string return
* Case ranges are a gnu extension which MSVC does not understand
* _dupenv_s also returns 0 if the var could not be found
See https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/dupenv-s-wdupenv-s?view=vs-2019
2020-05-28 17:39:20 -04:00
Stefan Wallentowitz
dc90e6c3c3
Generate file with waivers ( #2354 )
...
This adds the flag --generate-waivefile <filename>. This will generate
a verilator config file with the proper lint_off statemens to turn off
warnings emitted during this particular run.
This feature can be used to start with using Verilator as linter and
systematically capture all known lint warning for further
elimination. It hopefully helps people turning of -Wno-fatal or
-Wno-lint and gradually improve their code base.
Signed-off-by: Stefan Wallentowitz <stefan.wallentowitz@hm.edu>
2020-05-26 20:38:14 +02:00
Wilson Snyder
77915f78db
Add experimental-only option.
2020-04-21 20:45:23 -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
6eadb8e771
Add simplistic class support with many restrictions, see manual, #377 .
2020-04-05 09:30:23 -04:00
Wilson Snyder
1ce360ed5b
Add SPDX license identifiers. No functional change.
2020-03-21 11:24:24 -04:00
Wilson Snyder
4878fe3a1f
Add split_var metacomment to assist UNOPTFLAT fixes, #2066 .
2020-02-28 19:15:08 -05:00
Wilson Snyder
119162912a
Internals: Determine emit forward declaraions in new pass, towards classes.
2020-02-01 16:51:05 -05:00
Geza Lore
f00ff61559
Link Verilator binary partially statically, Closes #2146 .
...
The build is now by default configured to link performance critical
libraries (libgcc, libstdc++, libtcmalloc) statically. This improves
Verilation speed by between 4.5-7% based on my measurements as it
eliminates approx 20% of the mispredicted branches from the execution.
With partial static linking, the size of the .text section in
verilator_bin is increased by about 14%, and the binary is itself only
about 800KB bigger on disk, so hopefully this is not a big issue in
exchange for the faster compilation speed. A configure option
"--disable-partial-static" is provided to restore the old behaviour of
linking everything dynamically.
Note: This patch also changes to use libtcmalloc_minimal, which is all
we really need and itself has fewer dependencies.
2020-01-31 19:13:55 -05:00
Geza Lore
7ab2bdb6bb
Support libgoogle-perftools-dev's libtcmalloc if available. #2137 .
...
As Verilator continuously allocates and releases small objects (e.g.:
AstNode, V3GraphVertex, V3GraphEdge), it spends a significant amount of
time in malloc/free and friends. This patch adds the --enable-tcmalloc
configure option to link Verilator against the high performance malloc
implementation library libtcmalloc. The default is to use libtcmalloc if
available on the system. Note that there are no source code change, we
are simply replacing the standard library memory allocation functions.
Measured major compilation speed improvement of 27% when running
Verilator with -O3 on a large design.
2020-01-23 17:32:19 -05:00
Pieter Kapsenberg
1dd9a74b6c
Internals: Move V3Global function definitions to their own files. No functional change intended. Closes #2120 .
2020-01-19 07:23:26 -05:00
Wilson Snyder
f23fe8fd84
Update copyright year.
2020-01-06 18:05:53 -05:00
Wilson Snyder
5811ec07e6
Update URLs to https://verilator.org
2019-11-07 22:33:59 -05:00
Patrick Stewart
1e4f471049
Add cmake support, bug1363.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-10-17 19:44:10 -04:00
Todd Strader
da0da9e258
Add --protect-lib to create protected libraries, bug1490.
2019-10-09 06:47:26 -04:00
Wilson Snyder
e1e4bde125
Remove old V3ClkGater code
2019-08-27 17:51:06 -04:00
Gianfranco Costamagna
07ae7146e3
Honour system flags, this makes debug flags being injected correctly.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-07-06 13:02:36 -04:00
Wilson Snyder
8a4aeddbb0
Copyright year update.
2019-01-03 19:17:22 -05:00
Wilson Snyder
f7b93c8718
Fix install test.
2018-08-25 07:55:48 -04:00
Wilson Snyder
ec8dbbffed
MAJOR: Add multithreaded model generation.
2018-07-22 20:54:28 -04:00
Wilson Snyder
e37dce9d85
Internals: Add new graph algs for future partitioning.
2018-07-15 22:09:27 -04:00
Wilson Snyder
81ef9b5dd2
Internals: Add V3InstrCount, for threads branch.
2018-07-04 21:52:15 -04:00
Wilson Snyder
ad4c8ee955
Add new reloop optimization for repetitive assignment compression.
2018-06-23 17:07:22 -04:00
Wilson Snyder
1fad055286
Internals: Add TSP solver, for future threads branch.
2018-06-17 21:06:41 -04:00
Wilson Snyder
aed3307214
Enable GCC debug when in debug build
2018-03-03 20:43:14 -05:00
Wilson Snyder
8e65d93d6d
Copyright year update. No functional change.
2018-01-02 18:05:06 -05:00
John Coiner
f63e946f04
Internals: Add consts. No functional change.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2017-11-02 18:02:11 -04:00
Wilson Snyder
103b956581
Default to -O2 for Verilator itself, for 20%+
2017-09-17 23:25:20 -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
498f19a6a1
Use VERILATOR_INCLUDE in generated files to allow relocation.
2016-11-18 21:13:56 -05:00
Wilson Snyder
f74ef650ac
Honor --output-split on coverage constructors, bug1098.
2016-10-23 14:27:57 -04:00
Wilson Snyder
2c9716c64c
Try 2. Fix core dump on Arch Linux/GCC 6.1.1, bug1058.
2016-05-16 21:40:49 -04:00
Johan Bjork
8c4aa8517e
Fix --output-split of constructors, bug1035.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2016-05-12 07:19:02 -04:00
Wilson Snyder
b738d1960a
Copyright year update
2016-01-06 20:36:41 -05:00
Wilson Snyder
d39ce17dea
Makefiles: Turn off make built-in suffixes.
2015-11-28 17:33:01 -05:00
Wilson Snyder
751384cb5c
Fix compile error on MinGW, bug887.
2015-02-26 20:40:45 -05:00
Wilson Snyder
32a76c5255
Fix clang warnings.
2015-02-10 22:38:05 -05:00
Wilson Snyder
4c91ade61d
Copyright year update
2015-01-07 18:25:53 -05:00
Wilson Snyder
9ec35a2348
New verilator_coverage and infrastructure to replace SystemPerl's vcoverage.
2014-11-23 21:06:10 -05:00
Wilson Snyder
6da13c6486
Internals: Split V3Error into V3FileLine. No functional change.
2014-11-22 11:48:39 -05: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
9c00fd10de
Add --savable to support model save/restore.
2012-08-26 21:19:43 -04:00
Wilson Snyder
8b9b7178a2
Internals: MAJOR CHANGE. Combine V3Link and V3LinkDot stages for structures.
...
Functionality should be similar, but may introduce instability in resolving variables/cells.
Final merge from dot.
2012-07-21 17:12:42 -04:00
Wilson Snyder
204fb82975
Add very experimental --xml option
2012-03-20 16:13:10 -04:00
Wilson Snyder
7e9dda3c5e
Fix false command not found warning in Makefiles.
2012-02-16 07:17:08 -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
194825f78e
Add configure options for cc warnings and extended tests.
2011-10-07 06:48:40 -04:00
Wilson Snyder
55bd765ea0
Find config_rev when under git in remote config dir
2011-10-05 18:36:44 -04:00
Wilson Snyder
b03d61e2cf
Use EXEEXT to fix make warning
2011-10-05 17:07:10 -04:00
Wilson Snyder
15b8819136
Avoid warning on older flex/gcc systems (lion)
2011-09-12 20:26:34 -04:00
Wilson Snyder
3fae8ade05
Fix PowerPC runtime error, bug288
2011-08-22 21:02:09 -04:00
Wilson Snyder
55906486d8
Support 'real' numbers and related functions.
2011-07-24 15:01:51 -04:00
Wilson Snyder
71c1f00ec2
Copyright year update
2011-01-01 18:21:19 -05:00
Wilson Snyder
c33299d542
Add UNUSED and UNDRIVEN warnings
2010-12-29 08:06:05 -05:00
Wilson Snyder
381972c923
Fix Mac OS-X compile issues, bug217.
2010-02-26 19:50:44 -05:00
Wilson Snyder
cdd06e7236
Support "break", "continue", "return".
2010-02-14 10:01:21 -05:00
Wilson Snyder
fc2834cf04
Link: -lfl not needed, upsets cygwin
2010-02-01 06:37:39 -05:00
Wilson Snyder
c695af31b8
Add experimental config files to filter warnings outside of the source.
2010-01-21 06:11:30 -05:00
Wilson Snyder
89e03a86b7
Support assignments of multidimensional slices, bug170
2010-01-19 10:52:11 -05:00
Wilson Snyder
bf860b21d7
Clock domain crossing checks
2010-01-07 16:41:19 -05:00
Wilson Snyder
729dfdfed7
Copyright year update
2010-01-05 21:15:06 -05:00
Wilson Snyder
5a502d451d
Fix running configure outside of kit, and update README, bug193
2009-11-25 17:20:28 -05:00
Wilson Snyder
f7efae93d5
Internals: Clean up the main flex/bison files to have some sanity.
...
(Hopefully) no functional change.
. V3Parse.h External consumer interface to V3ParseImp
. V3ParseImp Internals to parser, common to across flex & bison
... V3ParseGrammar Wrapper that includes V3ParseBison
..... V3ParseBison Bison output
... V3ParseLex Wrapper that includes lex output
..... V3Lexer.yy.cpp Flex output
2009-10-31 10:08:38 -04:00
Wilson Snyder
39444d83c5
Support little endian bit vectors ("reg [0:2] x;").
2009-10-25 16:53:55 -04:00
Wilson Snyder
2aa618ce98
Add 'See the manual' to unsupported+internal errors
2009-06-21 19:37:15 -04:00
Wilson Snyder
4569278c53
Reconsile parser with Verilog-Perl version, to enable more SV features
2009-05-07 18:28:05 -04:00
Wilson Snyder
0985f675e3
Update bisonpre to match Verilog-Perl version
2009-05-04 21:54:44 -04: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
4a1697a1b5
Fix GCC format warning
2009-04-08 21:47:48 -04:00
Wilson Snyder
38669d0a10
Add SYSTEMPERL_INCLUDE envvar to assist RPM builds.
2009-03-28 10:18:53 -04:00
Wilson Snyder
59159b4811
Clock gating optimization, currently disabled. Merge from branch
2009-01-07 09:37:59 -05:00
Lane Brooks
0e4f9170fa
Tristate support; merge from branch.
2009-01-06 11:03:57 -05:00
Wilson Snyder
3d06720628
Copyright year update
2009-01-02 11:47:39 -05:00
Wilson Snyder
77405ddded
Add toggle coverage
2008-12-12 15:34:02 -05:00
Wilson Snyder
b07dd622fa
Commentary: Debugging and some astgen code cleanup.
...
No functional change.
2008-11-22 17:37:20 -05:00
Wilson Snyder
a76ae67a81
Add bisonpre for simplifing grammar and cleaning output
2008-08-06 12:35:34 -04:00
Wilson Snyder
23ee0342c6
Fix Makefile to find headers/libraries under prefix.
2008-06-24 14:50:34 -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
Wilson Snyder
36e84973ec
Fix parallel make running bison twice
...
git-svn-id: file://localhost/svn/verilator/trunk/verilator@1051 77ca24e4-aefa-0310-84f0-b9a241c72d87
2008-05-06 15:45:41 +00:00
Wilson Snyder
e0abd238e3
Fix compiler warnings under GCC 4.2.1/ SuSE 10.3
...
git-svn-id: file://localhost/svn/verilator/trunk/verilator@1046 77ca24e4-aefa-0310-84f0-b9a241c72d87
2008-04-29 14:14:20 +00:00
Wilson Snyder
8e812058cb
Change website references to veripool.org
...
git-svn-id: file://localhost/svn/verilator/trunk/verilator@1039 77ca24e4-aefa-0310-84f0-b9a241c72d87
2008-04-25 12:14:27 +00:00
Wilson Snyder
ebe5711b40
The --enable-defenv configure option added in 3.660 is now the default.
...
git-svn-id: file://localhost/svn/verilator/trunk/verilator@1014 77ca24e4-aefa-0310-84f0-b9a241c72d87
2008-03-28 19:42:14 +00:00
Wilson Snyder
c0a365bd34
With --enable-defenv, support for hard-coding VERILATOR_ROOT etc in the executables
...
git-svn-id: file://localhost/svn/verilator/trunk/verilator@998 77ca24e4-aefa-0310-84f0-b9a241c72d87
2008-03-18 20:26:37 +00:00
Wilson Snyder
a2ffe86a36
Copyright update
...
git-svn-id: file://localhost/svn/verilator/trunk/verilator@976 77ca24e4-aefa-0310-84f0-b9a241c72d87
2008-01-15 14:29:08 +00:00
Wilson Snyder
f23203dc96
Make __Inlines.h file so we can build VL_CONST_W_#X funcs automatically
...
git-svn-id: file://localhost/svn/verilator/trunk/verilator@974 77ca24e4-aefa-0310-84f0-b9a241c72d87
2007-11-30 22:38:21 +00:00
Wilson Snyder
6a6995187e
Add --compiler flags, and break up deep functions
...
git-svn-id: file://localhost/svn/verilator/trunk/verilator@913 77ca24e4-aefa-0310-84f0-b9a241c72d87
2007-04-19 18:20:16 +00:00
Wilson Snyder
895a3264a3
Add isolate_assignments meta comment
...
git-svn-id: file://localhost/svn/verilator/trunk/verilator@871 77ca24e4-aefa-0310-84f0-b9a241c72d87
2007-01-18 00:51:26 +00:00
Wilson Snyder
b5b1d94d4a
Copyright date update
...
git-svn-id: file://localhost/svn/verilator/trunk/verilator@864 77ca24e4-aefa-0310-84f0-b9a241c72d87
2007-01-02 22:06:40 +00:00
Wilson Snyder
58b1ad1439
Rework parser and add V3LinkParse so we can handle foo[#].foo[#].foo[#:#] etc
...
git-svn-id: file://localhost/svn/verilator/trunk/verilator@862 77ca24e4-aefa-0310-84f0-b9a241c72d87
2006-12-21 21:53:51 +00:00
Wilson Snyder
dc6a164e01
Split V3LinkResolve into V3LinkLValue, and remove lvalue determination from bison code
...
git-svn-id: file://localhost/svn/verilator/trunk/verilator@858 77ca24e4-aefa-0310-84f0-b9a241c72d87
2006-12-21 14:35:19 +00:00
Wilson Snyder
3b554f4c5b
Rename config.h to config_build.h, and add cross compile notes.
...
git-svn-id: file://localhost/svn/verilator/trunk/verilator@842 77ca24e4-aefa-0310-84f0-b9a241c72d87
2006-12-18 19:20:45 +00:00
Wilson Snyder
621ef70c31
Allow overriding PERL, YACC, LEX versions.
...
git-svn-id: file://localhost/svn/verilator/trunk/verilator@794 77ca24e4-aefa-0310-84f0-b9a241c72d87
2006-09-25 15:58:17 +00:00
Wilson Snyder
fe99abeccc
Add -MP option
...
git-svn-id: file://localhost/svn/verilator/trunk/verilator@772 77ca24e4-aefa-0310-84f0-b9a241c72d87
2006-08-31 15:29:15 +00:00
Wilson Snyder
ce10dbd11c
Version bump
...
git-svn-id: file://localhost/svn/verilator/trunk/verilator@753 77ca24e4-aefa-0310-84f0-b9a241c72d87
2006-08-26 11:35:28 +00:00