Wilson Snyder
d218f1746c
Add warning on genvar in normal for loop, #2143 .
2020-01-29 21:16:44 -05:00
Wilson Snyder
d4614c290e
Fix WIDTH warning on </<= of narrower value, #2141 .
2020-01-28 20:10:10 -05:00
Tobias Rosenkranz
027cce35c0
Support enum.next(k) with constant k > 1, #2125 .
2020-01-27 17:25:25 -05:00
Wilson Snyder
9fd81b2c6b
Support string character access via indexing.
2020-01-26 16:38:22 -05:00
Wilson Snyder
68fa82fb14
Support $typename, and use to cleanup error messages.
2020-01-26 13:21:25 -05:00
Wilson Snyder
8a8f1135b7
Support type(expression) operator, #1650 .
2020-01-26 10:28:13 -05:00
Geza Lore
ef5250f0ca
Internals: Further performance improvement of AstNode type tests, #2138 . No functional change intended.
...
Replace the virtual type() method on AstNode with a non-virtual, inlined
accessor to a const member variable m_type. This means that in order to be
able to use this for type testing, it needs to be initialized based on the
final type of the node. This is achieved by passing the relevant AstType
value back through the constructor call chain. Most of the boilerplate
involved is auto generated by first feeding V3AstNodes.h through astgen to
get V3AstNodes__gen.h, which is then included in V3Ast.h. No client code
needs to be aware and there is no functional change intended.
Eliminating the virtual function call to fetch the node type identifier
results in measured compilation speed improvement of 5-10% as it
eliminates up to 20% of all mispredicted branches from the execution.
2020-01-25 15:29:44 -05:00
Wilson Snyder
8f0e8e0696
Fix FST tracing of enums inside structs.
2020-01-24 19:46:46 -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
Stefan Wallentowitz
8e26bdd098
Fix vpi scope naming ( #2130 )
...
Dedot and shorten the name so that public modules and interface cells
are accessible too via VPI.
Fixes #2109
2020-01-21 17:03:21 +01:00
Stefan Wallentowitz
22088c907f
Set maximum number width ( #2128 )
...
Adjust the maximum number width to 64K. Add --max-num-width option to
adjust this setting.
Closes #2082
2020-01-21 12:17:31 +01:00
Pieter Kapsenberg
4a122fd0f2
Add detailed location to XML output ( #2122 )
...
* Add detailed location to XML output
* Fixing build failures
* less cryptic regulary expressions
* correcting typo in test
* Adding file letter to the location attribute, and cleaning up the regular expression in the tests.
* Add remaining test expected output files for XML changes
* spacing fix, adding documentation on changes
2020-01-20 14:08:13 -05:00
Pieter Kapsenberg
4443ab34fd
Support left justified . Closes #2101 .
2020-01-15 07:32:45 -05:00
Wilson Snyder
81e8127168
Add parameter values in XML. #2110 .
2020-01-14 18:51:20 -05:00
Wilson Snyder
918df2e618
Support / with assoc arrarys. Closes #2100 .
2020-01-14 07:01:17 -05:00
Stefan Wallentowitz
fad465abf1
Add lint_off -match waivers ( #2102 )
...
* Add more directives to configuration files
Allow to set the same directives in configuration files that can also
be set by comment attributes (such as /* verilator public */ etc).
* Add support for lint messsage waivers
Add configuration file switch '-match' for lint_off. It takes a string
with wildcards allowed and warnings will be matched against it (if
rule and file also match). If it matches, the warning is waived.
Fixes #1649 and #1514
Closes #2072
2020-01-12 10:03:17 +01:00
Wilson Snyder
fe94f9891b
Add error on misused define.
2020-01-11 09:16:26 -05:00
Wilson Snyder
fe9cf9bd42
devel release
2020-01-11 09:08:33 -05:00
Wilson Snyder
0c99bee4b1
Version bump
2020-01-11 06:54:36 -05:00
Wilson Snyder
87d126de49
Commentary
2020-01-09 20:09:50 -05:00
Wilson Snyder
a2911ed933
Fix shebang breaking some shells. Closes #2067 .
2020-01-09 20:01:12 -05:00
Wilson Snyder
2a50fafef2
Fix %{number}s with strings. #2093 .
2020-01-09 19:39:27 -05:00
Wilson Snyder
aac02c1ed1
Fix expand optimization slowing --lint-only. Closes #2091 .
2020-01-09 18:04:49 -05:00
Wilson Snyder
9978cbfa5c
Fix tracing -1 index arrays. Closes #2090 .
2020-01-08 07:32:31 -05:00
Wilson Snyder
f23fe8fd84
Update copyright year.
2020-01-06 18:05:53 -05:00
Peter Monsson
9b998cf6b3
Support implication operator "|->" in assertions, #2069 .
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-12-23 16:49:18 -05:00
Julien Margetts
c1fb938a61
Fix huge case statement performance. Closes #1644 .
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-12-23 07:47:57 -05:00
Peter Monsson
ea979c8f83
Fix disable iff in assertions. Closes #1404 .
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-12-22 15:49:10 -05:00
Wilson Snyder
3a70bbc70c
Update Changes to reflect github issue numbers.
2019-12-22 15:33:45 -05:00
Kuba Ober
ee184f3f39
Fix strcasecmp for windows, bug1651.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-12-20 06:58:05 -05:00
Stefan Wallentowitz
9a54b2144b
Fix queue issues, bug1643.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-12-18 18:17:18 -05:00
Stefan Wallentowitz
d738501c01
Fix queues as statements, bug1641.
2019-12-17 06:08:41 -05:00
Wilson Snyder
f514049c04
Add cleaner error on version control conflicts in sources.
2019-12-16 21:54:20 -05:00
Wilson Snyder
83a1bd0675
Support immediate cover statements & refactor coverage internals.
2019-12-16 21:44:20 -05:00
Yutetsu TAKATSUKASA
8cdc0c4e00
Support string putc, getc, substr, bug1606.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-12-15 08:09:52 -05:00
Wilson Snyder
460e0541f3
Add error when `resetall inside module
2019-12-14 22:04:58 -05:00
Wilson Snyder
2408de16a0
Support bounded queues.
2019-12-14 21:39:47 -05:00
Stefan Wallentowitz
3ac6745658
Add vpiTimeUnit and allow to specify time as string, bug1636.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-12-13 19:11:37 -05:00
Wilson Snyder
39950d16d0
Ignore `uselib to end-of-line, bug1634.
2019-12-12 20:57:48 -05:00
Julien Margetts
f7a06cb54a
Fix little endian cell ranges, bug1631.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-12-11 17:15:45 -05:00
Wilson Snyder
521418d832
Update FST trace API for better performance.
2019-12-10 18:55:09 -05:00
Yutetsu TAKATSUKASA
c2037ddbc5
Support string compare, icompare, ato* methods, bug1606.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-12-09 19:17:52 -05:00
Wilson Snyder
cda5c53cf9
Add BOUNDED warning and promote bounded queues to unbounded.
2019-12-08 15:56:49 -05:00
Wilson Snyder
3be0eea995
devel release
2019-12-08 13:50:14 -05:00
Wilson Snyder
44ce83cd8e
Version bump
2019-12-08 07:58:47 -05:00
Wilson Snyder
c199930943
Commentary
2019-12-08 07:34:47 -05:00
Wilson Snyder
81fc1d48a6
Fix gate lvalue optimization error, bug831.
2019-12-07 16:49:11 -05:00
Wilson Snyder
10a6b566ef
Fix error on unpacked concatenations, bug1627.
2019-12-07 15:53:34 -05:00
Todd Strader
4480938b25
Fix interface reference tracing, bug1595.
2019-12-07 12:28:19 -05:00
Wilson Snyder
5c6d74cd80
Fix assertion on dotted parameter arrayed function, bug1620.
2019-12-04 19:25:45 -05:00
Garrett Smith
96f8bbd023
Support float and shorts, bug1592, bug1619.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-12-03 18:26:22 -05:00
Wilson Snyder
b0669f3aca
Fix false unused message on __Vemumtab, msg3180.
2019-12-02 19:03:33 -05:00
Wilson Snyder
2076b0219d
Fix labels on functions with returns, bug1614.
2019-12-01 17:19:03 -05:00
Wilson Snyder
e28175108f
Support queues (excluding {} notation and pattern assignments), bug545.
2019-12-01 12:35:49 -05:00
Wilson Snyder
b81295230a
Support associative arrays.
2019-12-01 11:52:48 -05:00
Wilson Snyder
3d6e8e9eb0
Add -Wno-context.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-11-23 10:40:32 -05:00
Wilson Snyder
17ad59394f
Support shortreal as real, with a SHORTREAL warning.
2019-11-23 08:34:40 -05:00
Wilson Snyder
682c2a610f
Fix $display("%p") to be closer to IEEE.
2019-11-21 19:29:46 -05:00
Wilson Snyder
99455a16bf
Fix // in filenames, bug1610.
2019-11-20 21:23:03 -05:00
Matthew Ballance
f63dfd7028
Fix VPI timed callbacks to be one-shot, pull5.
...
Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-11-19 22:44:33 -05:00
Wilson Snyder
0f6b625db8
Fix hang on concat error, bug1608.
2019-11-19 19:23:40 -05:00
Wilson Snyder
0c0198cf55
Support string.toupper and string.tolower.
2019-11-17 05:05:09 -05:00
Wilson Snyder
d480c2f033
Add +verilator+error+limit to see more assertion errors.
2019-11-16 18:25:47 -05:00
Wilson Snyder
8ebe86e54b
Fix color assertion on empty if, bug1604.
2019-11-16 17:23:51 -05:00
Wilson Snyder
c36d9a68f5
Support $ungetc.
2019-11-16 12:55:10 -05:00
Wilson Snyder
8c5aa21a11
Support $rewind.
2019-11-16 12:21:35 -05:00
Wilson Snyder
47b5e36e60
Add -Wpedantic for compliance testing.
2019-11-16 11:59:21 -05:00
Wilson Snyder
a481638edb
Add error on redefining preprocessor directives.
2019-11-16 10:19:43 -05:00
Wilson Snyder
e9c4ffa04e
Fix for loop missing initializer, bug1605.
2019-11-15 18:24:55 -05:00
Wilson Snyder
6ce81698e7
devel release
2019-11-10 14:25:54 -05:00
Wilson Snyder
30be381aa8
Version bump
2019-11-10 14:13:46 -05:00
Wilson Snyder
2b26ca2c07
Optimize mask/and above conditionals.
2019-11-10 13:17:29 -05:00
Wilson Snyder
ce178ec987
Optimize modulus by power-of-two constants.
2019-11-10 12:12:57 -05:00
Wilson Snyder
28cbf39995
Support some unpacked arrays in parameters, bug1315.
2019-11-09 18:31:24 -05:00
Todd Strader
abe95f3ab3
Add interface port visibility in traces, bug1594.
2019-11-08 08:26:48 -05:00
Wilson Snyder
2aed499e00
Fix detecting missing reg types, bug1570.
2019-11-05 21:15:44 -05:00
Wilson Snyder
8a3227697e
Fix bad-syntax crashes, bug1579.
2019-11-04 22:00:20 -05:00
Wilson Snyder
530ab17c8b
Fix bad-syntax crashes, bug1586, bug1587.
2019-11-04 21:51:20 -05:00
Wilson Snyder
ca8da1f54f
Fix bad-syntax crashes, bug1589.
2019-11-04 21:16:07 -05:00
Wilson Snyder
e40ad4a095
Commentary; part of last commit.
2019-11-04 19:33:21 -05:00
Wilson Snyder
67a0ad02d2
Fix bad-syntax crasses, bug1591.
2019-11-04 19:27:31 -05:00
Wilson Snyder
055a978866
Fix bad-syntax crasses, bug1583, bug1585.
2019-11-04 19:06:55 -05:00
Wilson Snyder
67d52372e5
Fix bad-syntax crashes, bug1582.
2019-11-04 18:48:47 -05:00
Wilson Snyder
9ff5ef4ad5
Fix false CMPCONST/UNSIGNED warnings on inside, bug1581.
2019-11-02 16:56:37 -04:00
Wilson Snyder
f781085755
Add --xml-output option.
2019-10-31 21:17:05 -04:00
Wilson Snyder
bcb766b4ce
Fix bad-syntax crashes, bug1577.
2019-10-30 21:49:25 -04:00
Wilson Snyder
63373f6f4c
Fix missing error when parameter assigned to type, bug1576.
2019-10-30 18:18:29 -04:00
Wilson Snyder
8ce60e955f
Fix missing error when parameter assigned to type, bug1575.
2019-10-29 18:38:59 -04:00
Wilson Snyder
171960635e
Add recursive define detection, bug1574.
2019-10-28 22:35:31 -04:00
Wilson Snyder
2ab819aef0
Fix bad-syntax crashes, bug1573
2019-10-28 18:46:13 -04:00
Wilson Snyder
647c321437
Suppress 'command failed' on normal errors.
2019-10-27 17:34:04 -04:00
Wilson Snyder
f852ba8a33
Add --trace-coverage.
2019-10-27 09:27:18 -04:00
Yves Mathieu
baa6a2c31a
Support quoted arguments in -f files, bug1535.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-10-24 07:33:19 -04:00
Todd Strader
3b33438e91
Benchmark --protect-lib runtime, bug1519.
2019-10-23 10:03:37 -04:00
Wilson Snyder
71fa09a25b
Fix bad-syntax crashes, bug1563.
2019-10-18 21:30:34 -04:00
Patrick Stewart
1e4f471049
Add cmake support, bug1363.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-10-17 19:44:10 -04:00
Wilson Snyder
6081c262f2
Fix misc bad-syntax crashes, bug1557-1560.
2019-10-16 20:05:29 -04:00
Wilson Snyder
c73336f8f5
Fix misc bad-syntax crashes, bug1548, bug1550-1553.
2019-10-15 19:06:00 -04:00
Todd Strader
9b09309f51
Commentary: Fix Changes
2019-10-09 08:28:53 -04:00
Todd Strader
da0da9e258
Add --protect-lib to create protected libraries, bug1490.
2019-10-09 06:47:26 -04:00