Wilson Snyder
2c30aecc5b
Merge from master
2018-03-10 16:51:34 -05:00
Wilson Snyder
770045676f
Internals: Split some extremely long lines. No functional change.
2018-03-10 16:32:04 -05:00
Wilson Snyder
54a101acbe
Internals: Fix -DLEAK_CHECKS failing due to visitor destructor being too late.
2018-03-10 12:57:50 -05:00
Wilson Snyder
597d28b505
Fix internals to make null-pointer-check clean. Also add more const's. No functional change intended, but likely something will break.
2018-02-01 21:32:58 -05:00
Wilson Snyder
94e8cf1de9
Internals: Use explicit std:: instead of using namespace std. No functional change intended.
2018-02-01 21:24:41 -05:00
Wilson Snyder
8e65d93d6d
Copyright year update. No functional change.
2018-01-02 18:05:06 -05:00
Wilson Snyder
4901668f13
Add INFINITELOOP warning, bug1254.
2017-12-26 21:35:08 -05:00
Wilson Snyder
cb422a9a02
Internals: Number astgen from 1 as 0p looks like Op. No functional change.
2017-10-28 08:48:24 -04:00
Wilson Snyder
eb65984368
Tests: Additional display merge tests. No functional change.
2017-10-21 13:50:31 -04:00
Wilson Snyder
8281ee1520
Optimize arrayed if assignments
2017-10-04 22:10:44 -04:00
Wilson Snyder
c132d0e1fe
Fix extra duplicate multiclk blocks when dtypes differ
2017-10-02 22:58:34 -04:00
Wilson Snyder
1a6348f113
Optimize display+display statements.
2017-10-02 20:25:10 -04:00
Wilson Snyder
04ca6a4307
Fix compiler warning when WIDTH warning ignored on large compare.
2017-10-01 10:21:27 -04:00
Wilson Snyder
47e13cfdf4
Optimize concat/replicate+replicate.
2017-09-21 21:05:42 -04:00
Wilson Snyder
393b5d48b2
Better optimize Shift-And constructs.
2017-09-19 20:56:17 -04:00
Wilson Snyder
63361fc56e
Add performance information to --stats file.
2017-09-17 22:52:57 -04:00
Wilson Snyder
fee4aba9ec
Internals: Fix GCC constant warnings.
2017-09-15 18:26:09 -04:00
Wilson Snyder
70daadf987
Fix cpp-check warnings; support XML format 2
2017-07-06 20:25:59 -04:00
Wilson Snyder
9dc01cf540
Support arrayed parameter overrides, bug1153.
2017-05-02 19:16:54 -04:00
Wilson Snyder
8943ad5966
internals: Remove extra newlines on v3fatalSrc. No functional change.
2017-04-28 20:09:27 -04:00
Wilson Snyder
e6d7e7e329
Version bump
2017-01-15 12:13:13 -05:00
Wilson Snyder
2f34132275
Fix bad code when tracing array of structs, bug1122.
2017-01-06 18:44:37 -05:00
Wilson Snyder
a1e4d676c3
Fix parsing sensitivity with &&, bug934.
2016-12-21 18:23:14 -05:00
Wilson Snyder
7efa40966a
Internals: Remove second argument to visitors. No functional change intended.
2016-11-27 08:11:38 -05:00
Wilson Snyder
ad39931e87
Internals: Cleanup uses of accept in V3Width. No functional change.
2016-11-07 19:14:45 -05:00
Wilson Snyder
e52f5f1b63
Internals: Remove extraneous castNode() calls. No functional change.
2016-11-05 10:06:43 -04:00
Wilson Snyder
891214fa72
Fix enum values of 11-16 bits wide using .next/.prev, bug1062.
2016-06-15 22:46:34 -04:00
Wilson Snyder
9ae40d64f0
Support parameter type, bug376.
2016-03-14 21:51:31 -04:00
Wilson Snyder
a509b6a21c
Internals: Fix compares to null, ongoing part of bug1030. No functional change intended.
2016-02-08 22:15:44 -05:00
Johan Bjork
cb2d8259f2
Fix stats and debug print, bug1029
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2016-01-28 22:20:31 -05:00
Wilson Snyder
b738d1960a
Copyright year update
2016-01-06 20:36:41 -05:00
Wilson Snyder
b0a249f338
Fix display %u, %v, %p, %z, bug989.
2015-11-10 21:12:15 -05:00
Wilson Snyder
4475060268
Ignore %l in , bug983.
2015-10-27 20:37:52 -04:00
Wilson Snyder
040b1b06d5
Support genvar indexes into arrayed cells, bug517.
2015-10-22 20:13:49 -04:00
Wilson Snyder
4fc9a906f6
Internals: Fix cppcheck warnings; add VL_DANGLING. No functional change.
2015-10-04 13:16:35 -04:00
Wilson Snyder
318ded4198
Internals: Cleanup cppcheck warnings.
2015-10-03 22:33:06 -04:00
Wilson Snyder
d0ec991bb2
Fix mis-optimizing public DPI functions, bug963.
2015-09-18 19:06:15 -04:00
Wilson Snyder
0ee5743853
Add --dump-treei-<srcfile>, bug894.
2015-03-12 19:48:04 -04:00
Wilson Snyder
4c91ade61d
Copyright year update
2015-01-07 18:25:53 -05:00
Wilson Snyder
ce4dfb4296
Fix misc string handling issues.
2014-11-28 20:24:42 -05:00
Wilson Snyder
43be4cf2b5
Add 'string' printing and comparisons, bug746, bug747, etc.
2014-11-28 15:01:50 -05:00
Wilson Snyder
62eb247c1e
Optimize SUB/ADD together.
2014-11-09 18:33:54 -05:00
Jie Xu
4e2884b509
Optimize e.g. {(b<<4)[7:4], (b<<4)[3:0]}. From assignmerge tree.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2014-11-05 20:58:36 -05:00
Wilson Snyder
8bfb5cc5e9
Internals: Add sameGateTree.
2014-11-02 19:52:49 -05:00
Wilson Snyder
cf6d07aafa
Add optimization of operators between concats, msg1447.
2014-10-22 21:44:41 -04:00
Wilson Snyder
6cf50e6579
Fix string corruption, bug780.
2014-06-08 21:36:18 -04:00
Wilson Snyder
5f8f474c0c
Fix shift with XOR mis-optimization, bug776.
2014-05-26 18:16:52 -04:00
Wilson Snyder
91e706ec1f
Fix X shift issue, bug772.
2014-05-24 07:05:23 -04:00
Wilson Snyder
6ce2a52c5f
Fix shift-right optmiization, bug763.
2014-05-10 16:38:20 -04:00
Wilson Snyder
621c51589a
Fix shift by x, bug760.
2014-05-04 08:50:44 -04:00
Glen Gibb
d34275150c
Support streaming operators, bug649.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2014-04-09 20:29:35 -04:00
Wilson Snyder
ff19dd94f9
Fix power operator calculation, bug730.
2014-04-05 15:44:49 -04:00
Wilson Snyder
28e35a64ea
Support parameter arrays, bug683.
2014-04-01 23:16:16 -04:00
Wilson Snyder
9e76078939
Fix signed shift right optimization, bug715.
2014-03-09 21:28:28 -04:00
Wilson Snyder
dce4519995
Optimizer: Put constants on left side of compares to match other AstBiOps and extend optimizations. No runtime result change intended.
2014-03-09 17:13:37 -04:00
Wilson Snyder
4422de0c6c
Copyright year update.
2014-01-06 19:28:57 -05:00
Wilson Snyder
bcba5075e8
Fix ordering of , msg1229.
2013-09-07 16:43:43 -04:00
Wilson Snyder
c24f7b1391
Support named function and task arguments.
2013-08-17 20:34:49 -04:00
Wilson Snyder
23bb045a72
Support interfaces and modports, bug102.
2013-05-27 21:39:19 -04:00
Wilson Snyder
175d59ecba
Fix GCC version runtime changes, bug651.
2013-05-23 20:19:51 -04:00
Wilson Snyder
f07f6a26a8
cppcheck fixes
2013-02-03 13:27:37 -05:00
Wilson Snyder
ffb187ae15
Fix enums in sensitivity lists
2013-02-02 14:37:18 -05:00
Wilson Snyder
bbeb382cbb
Internals: Rename range lo/hi to match IEEE.
2013-01-17 20:29:20 -05:00
Wilson Snyder
8127a79cb1
Fix nested packed arrays and structs, bug600.
...
IMPORTANT: Packed arrays are now represented as a single linear vector in
Verilated models this may affect packed arrays that are public or accessed via the VPI.
2013-01-14 21:49:22 -05:00
Wilson Snyder
13bf2f19ac
Internals: Have V3Unknown/Const use only dtypes for selects.
2013-01-13 14:54:12 -05:00
Wilson Snyder
a8bbf7231b
Copyright year update.
2013-01-01 09:42:59 -05:00
Wilson Snyder
c7a088faa5
Fix mis-optimized identical submodule subtract, bug581. Take 2.
2012-11-28 20:18:41 -05:00
Wilson Snyder
30f6c0e105
Fix mis-optimized identical submodule subtract, bug581.
2012-11-28 07:36:47 -05:00
Wilson Snyder
33e6a17747
Internals: Look at tree state instead of back for AstAttr. No functional change.
2012-07-28 10:52:29 -04:00
Wilson Snyder
1b439703ff
Fix leak issues, bug521
2012-05-30 23:17:55 -04:00
Wilson Snyder
c6e7d87960
Commentary - Remove author lines as amany contributors now
2012-05-24 19:19:48 -04:00
Wilson Snyder
53f50463bc
Internals: Add warnMore() for all continued messages.
2012-05-21 21:24:17 -04:00
Wilson Snyder
ac61548e6a
Optimize tristate structure OR(AND(x,y),AND(z,y)).
2012-05-08 19:20:23 -04:00
Wilson Snyder
87e8736823
IMPORTANT: Major internal changes for supporting complex data types.
...
Adds dtype() to every node, keep global table of dtypes and remove duplicates.
Final merge from dtype branch.
2012-04-29 10:14:13 -04:00
Wilson Snyder
c0da16bfcd
Internals: Create dtypeFrom. Merge from dtype. No functional change.
2012-04-29 09:42:17 -04:00
Wilson Snyder
5b532a1812
Fix generate if, broke in earlier committ, bug492. Merge from Bennett.
2012-04-25 18:17:10 -04:00
Wilson Snyder
2d8feabe54
Fix generate operators not short circuiting, bug413. Merge from Jeremy Bennett.
2012-04-19 22:53:52 -04:00
Wilson Snyder
50edef4ab2
Add Emacs indentation line. No functional change
2012-04-12 21:08:20 -04:00
Wilson Snyder
6a38d3bcf3
Add SELRANGE as warning instead of error, bug477.
2012-04-04 21:55:20 -04:00
Wilson Snyder
61cbdd1a19
Internals: Merge VFlag rename. No functional change.
2012-03-31 11:10:34 -04:00
Wilson Snyder
37839e2709
Cleanup trailing whitespace. No functional change
2012-03-20 16:01:53 -04:00
Wilson Snyder
8687dcbce1
Internals: Add isRanged, more debug. No functional change.
2012-03-04 16:18:41 -05:00
Wilson Snyder
d699247269
Internals: In AstBasicDType avoid use of Range for constants. No functional change.
2012-02-20 11:48:31 -05:00
Wilson Snyder
c2c7c7bd9a
Copyright year update
2012-01-15 10:26:28 -05:00
Wilson Snyder
fdeb6bcae0
Internals: Progress towards proper short-circuit evaluation
2011-12-22 08:33:16 -05:00
Wilson Snyder
df1da3dda9
Internals: Fix cppcheck warnings; no functional change intended
2011-08-04 21:58:45 -04:00
Wilson Snyder
55906486d8
Support 'real' numbers and related functions.
2011-07-24 15:01:51 -04:00
Wilson Snyder
ae4a261463
Internals: Rename UnaryMin to Negate. No functional change.
2011-07-08 06:03:07 -04:00
Wilson Snyder
a9ba4a9fcd
Internals: Cleanups in V3Signed towards reals; no functional change
2011-07-05 21:05:35 -04:00
Wilson Snyder
2923893d34
Support loop unrolling on width mismatches, bug 333
2011-03-12 07:45:04 -05:00
Wilson Snyder
9a697dc5f5
Accelerate bit-selected inversions.
2011-02-23 21:36:38 -05:00
Wilson Snyder
cfdb852843
Fix concatenates and vectored bufif1, bug326.
2011-02-23 21:21:59 -05:00
Wilson Snyder
71c1f00ec2
Copyright year update
2011-01-01 18:21:19 -05:00
Wilson Snyder
b43299c8da
Fix suppression of messages under debug
2010-12-30 08:41:23 -05:00
Wilson Snyder
2cb97f7475
For UNUSED, ignore black boxed sys calls
2010-12-30 07:55:31 -05:00
Wilson Snyder
ebdf8a5f3c
Internals: Constify tristates with ConstLive, unused so no functional change
2010-12-29 07:56:22 -05:00
Wilson Snyder
c8852d183f
Internals: Add V3Const preserving liveness, no functional change
2010-12-28 21:23:16 -05:00
Wilson Snyder
9f161b20ef
Internals: Avoid passing vars from V3Const visitor; no functional change
2010-12-28 20:46:13 -05:00
Wilson Snyder
3e4e8feb29
With --Wall, add DECLFILENAME warning on modules not matching filename.
2010-12-25 16:31:22 -05:00
Wilson Snyder
55da4fdbf6
Typo fixes.
2010-09-25 07:46:09 -04:00
Wilson Snyder
cdd06e7236
Support "break", "continue", "return".
2010-02-14 10:01:21 -05:00
Wilson Snyder
b1872a8e21
Internals: Add enum prefixes to reduce MSVC macro conflicts
2010-02-01 20:15:48 -05:00
Wilson Snyder
2da9d46ca6
Internals: Rename AstVar::initp to valuep as it's a constant, not initial value
2010-01-21 18:20:47 -05:00
Wilson Snyder
27e4503dc6
DPI: Constify new $sformatf
2010-01-17 20:06:08 -05:00
Wilson Snyder
0d1de96dbc
Internals: Add AstSFormatF
2010-01-17 15:53:12 -05:00
Wilson Snyder
788f69a8c9
DPI: Support strings in DPI Imports
2010-01-17 15:10:37 -05:00
Wilson Snyder
ab2702070b
Remove extra warning newlines
2010-01-15 20:07:16 -05:00
Wilson Snyder
43e1b27d16
CDC: 'posedge a or posedge b or edge a' should optimize to 'edge a or posedge b'
2010-01-14 14:17:11 -05:00
Wilson Snyder
729dfdfed7
Copyright year update
2010-01-05 21:15:06 -05:00
Wilson Snyder
dbce06500d
Support enums
2009-12-27 08:29:55 -05:00
Wilson Snyder
c7d8eb126f
Support and .
2009-11-23 21:24:55 -05:00
Wilson Snyder
8e6846d9da
Internals: Remove AstVar methods in preference of going via dtype
2009-11-15 08:52:19 -05:00
Wilson Snyder
e0bca07e06
Internals: Create AstNodeModule in prep for packages
2009-11-07 06:20:20 -05:00
Wilson Snyder
700c1f836d
Internals: Move array definitions to AstArrayDType instead of under AstVars.
...
Prep work for more complicated data types.
2009-11-04 22:31:53 -05:00
Wilson Snyder
4c26792c9b
Internals: Create data types and attach to AstVars, in prep for typedefs.
...
Added AstNodeDType and AstBasicDType and associated enums.
2009-11-02 08:06:04 -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
dd4059beb8
Internals: Rework V3Param, V3Width and V3Const to return a AstNode* representing
...
any replacement edit they made to the passed in node. Assure all callers use it
and/or comment on non-use. Hopefully no function changed.
2009-10-14 20:13:04 -04:00
Wilson Snyder
03c5d06107
Visitors that just accept netlists should say so. No functional change
2009-10-01 22:33:11 -04:00
Wilson Snyder
b798f4fe71
Detect selection index unknown instead of internal erroring
2009-09-16 20:52:52 -04:00
Wilson Snyder
15b3c9797b
Fix constant functions with and begin/end
2009-07-21 14:31:16 -04:00
Wilson Snyder
aeeaaa53d4
Support constant function calls for parameters.
2009-07-17 14:13:11 -04:00
Wilson Snyder
510fe8e634
Explicitly size all parameters, even if not used for module cells
2009-07-16 14:49:34 -04:00
Wilson Snyder
6835aecdce
On WIDTH warnings, show variable name causing error.
2009-07-09 17:39:24 -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
7df730cedd
Verilator is now licensed under LGPL v3 and/or Artistic v2.0.
2009-05-04 17:07:57 -04:00
Wilson Snyder
cbb3351d97
Fix GCC 4.3.2 compile warnings.
2009-04-23 09:16:25 -04:00
Wilson Snyder
21b5a4e9e4
Add --debugi-<srcfile> option.
2009-01-21 16:56:50 -05:00
Wilson Snyder
13e8176884
Fix compile issues with GCC 4.3, bug47.
2009-01-09 11:28:50 -05:00
Wilson Snyder
59159b4811
Clock gating optimization, currently disabled. Merge from branch
2009-01-07 09:37:59 -05:00
Wilson Snyder
3d06720628
Copyright year update
2009-01-02 11:47:39 -05:00
Wilson Snyder
5bdb8674ed
Internals: Rename AstNode::userp to user1p for easier searching
...
and to disambiguate from the vertex/edge-> userp.
2008-11-25 09:03:49 -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
6ad21b3b3b
Internals: Move V3Const to user4 to reduce future collisions
2008-11-22 17:27:55 -05:00
Wilson Snyder
8b77379e2c
Internal coding: Assert that user#() don't overlap.
...
Any use of a user() must now be declared, generally in the Visitor class with
AstUser#InUse arbitrary_object
This lets the code track if there's another request for the same user(),
preventing nasty hard to debug cases where they overlap. This will also
call user#ClearTree(), so a bunch of those were removed, though many
extranious ones still remain.
2008-11-21 15:50:33 -05:00
Wilson Snyder
ab668b066f
Internal cleanup: no functional change.
...
Add cloneTree to each node type so cast not required after use.
Standardize declaring common AstNode functions via a macro.
2008-11-19 20:15:05 -05:00
Wilson Snyder
b75ff3652c
Fix internal signal names containing control characters (broke in 3.680).
...
Internally this means for signal names use __0{xdigit}{xdigit} and avoid
__0 in other cases.
2008-11-17 21:02:10 -05:00
Wilson Snyder
2e0f6e2b13
Optimize two-level shift and and/or trees.
2008-11-17 11:36:01 -05:00
Wilson Snyder
c5d41ee2d9
Optimize constants up across sub expressions
2008-11-17 10:40:58 -05:00
Wilson Snyder
e46e7bbf99
Fix 'bad select range' warning missing some cases, bug43.
2008-11-12 20:54:58 -05:00
Wilson Snyder
3b1929259a
Support negative bit indexes.
...
Allow arbitrary characters in symbols (to make '-' work.)
Final merge from negative_lsb branch.
2008-10-06 09:59:22 -04:00
Wilson Snyder
ef69f36403
More renames of asInt/toUInt where deemed correct
2008-09-04 11:03:46 -04:00
Wilson Snyder
fc7a449f6d
Rename asInt/asQuad to indicate signed/unsigned.
...
Internal code rename, no function change.
2008-09-03 17:40:01 -04:00
Wilson Snyder
b7fafdafaa
Fix never-true compiler warning [John Sanguinetti]
2008-08-22 17:32:29 -04:00
Wilson Snyder
20aa21d4b6
Replace stdio.h and stdarg.h with C++ versions
2008-06-30 13:11:25 -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
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
b4d9ccd9af
Fix assignments of {a,b,c} = {c,b,a}
...
git-svn-id: file://localhost/svn/verilator/trunk/verilator@988 77ca24e4-aefa-0310-84f0-b9a241c72d87
2008-02-20 16:54:41 +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
a94f1c779b
Spelling fixes
...
git-svn-id: file://localhost/svn/verilator/trunk/verilator@973 77ca24e4-aefa-0310-84f0-b9a241c72d87
2007-11-30 22:12:53 +00:00