Wilson Snyder
609a5dc26d
Fix cppcheck warnings. No functional change intended.
2020-02-03 23:21:56 -05:00
Wilson Snyder
0aabe6ce00
Internals: Fix cppcheck warning including missing init.
2020-02-03 22:10:29 -05:00
Wilson Snyder
2ca9f73b31
Internals: Cleanup Emit towards constructor/destructor output.
2020-02-02 21:15:07 -05:00
Wilson Snyder
119162912a
Internals: Determine emit forward declaraions in new pass, towards classes.
2020-02-01 16:51:05 -05:00
Wilson Snyder
80d94891e1
Internals: Allow const & non-member CFuncs for class branch. No functional change.
2020-02-01 10:57:55 -05:00
Wilson Snyder
9fd81b2c6b
Support string character access via indexing.
2020-01-26 16:38:22 -05:00
Wilson Snyder
619214b48f
Support $sampled.
2020-01-26 13:38:15 -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
Geza Lore
220daa5f33
Internals: Restore AstNode naming property. #2133 .
...
The intention was that all subclasses of AstNode which are
intermediate must be abstract as well and called AstNode*. This was
violated recently by 28b9db1903 . This
patch restores that property by:
- Renaming AstFile to AstNodeFile
- Introducing AstNodeSimpleText as the common base of AstText and
AstTextBlock, rather than AstTextBlock deriving from AstText.
2020-01-21 19:54:14 -05:00
Wilson Snyder
abf3850d08
Internals: Misc cleanups for classes.
2020-01-20 16:53:27 -05:00
Wilson Snyder
18e837336a
Internals: Rename MethodCall. No functional change.
2020-01-18 14:11:05 -05:00
Wilson Snyder
835f668aaa
Internals: Refactor statement tracking. No functional change intended.
2020-01-18 13:02:42 -05:00
Wilson Snyder
023526ad4b
Internals: Minor refactoring from class branch.
2020-01-15 20:18:12 -05:00
Wilson Snyder
f23fe8fd84
Update copyright year.
2020-01-06 18:05:53 -05:00
Wilson Snyder
f540dead79
Internals: new() support code, and misc stuff.
2019-12-24 12:47:27 -05:00
Wilson Snyder
37b9f254a2
Internals: Add origNameProtect. No functional change intended.
2019-12-24 08:47:30 -05:00
Wilson Snyder
2cbfe99ad5
Parse all class constructs, as still unsupported.
2019-12-23 15:03:04 -05:00
Kuba Ober
3f0e2f7d9d
Fix argument in AstConst.m_num.width. ( #9 )
2019-12-21 10:25:05 -05:00
Wilson Snyder
53c6b7df63
Internals: Rename NodeClassDType. No functional change.
2019-12-16 22:46:09 -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
2408de16a0
Support bounded queues.
2019-12-14 21:39:47 -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
c896a76fef
Fix clang warning.
2019-12-09 18:25:59 -05:00
Wilson Snyder
700f2072c0
Framework for WDatas being vectors of 64-bit EDatas, but not supporting this at this time.
2019-12-08 21:36:38 -05:00
Todd Strader
4480938b25
Fix interface reference tracing, bug1595.
2019-12-07 12:28:19 -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
38e586fabe
Internals: Misc refectoring for assoc/queues.
2019-12-01 06:09:58 -05:00
Wilson Snyder
39eeda50c6
Internals: Rename MethodCall. No functional change.
2019-11-17 08:51:25 -05:00
Wilson Snyder
2ff22d9050
Fix earlier +verilated+error+count to do all .
2019-11-17 08:12:39 -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
c36d9a68f5
Support $ungetc.
2019-11-16 12:55:10 -05:00
Wilson Snyder
21a380def0
Rework variable emit to prep for other data types.
2019-11-12 21:52:25 -05:00
Wilson Snyder
28cbf39995
Support some unpacked arrays in parameters, bug1315.
2019-11-09 18:31:24 -05:00
Wilson Snyder
4767083a72
Internals: Rework AstInitArray to have O(1) access. No functional change intended.
2019-11-09 17:12:26 -05:00
Wilson Snyder
5811ec07e6
Update URLs to https://verilator.org
2019-11-07 22:33:59 -05:00
Wilson Snyder
8a5b8d5f38
Internals: Fix VFlagBitPacked giving 4-state types.
2019-11-01 20:10:45 -04:00
Wilson Snyder
f852ba8a33
Add --trace-coverage.
2019-10-27 09:27:18 -04:00
Wilson Snyder
17ee8579a4
Internals: Make cleanOut/sizeMatters const. No functional change intended.
2019-10-20 11:58:41 -04:00
Wilson Snyder
94f7133c6f
Internals: make dump const. No functional change intended.
2019-10-20 11:49:41 -04:00
Wilson Snyder
91f1acd85f
Add --protect-ids to obscure information in objects, bug1521.
2019-10-06 13:24:21 -04:00
Wilson Snyder
d472ef63e9
Internals: Cleanup some misnamed classes. No functional change.
2019-10-05 08:17:21 -04:00
Wilson Snyder
771a301f66
Commentary: Remove newlines, upsets some patches. No functional change.
2019-10-04 20:17:11 -04:00
Stefan Wallentowitz
045ff25f80
Support vpiModule, bug1469.
...
Add very basic support for vpiModule. Basically it allows to traverse
the module tree to find a variable etc. It does not support more than
vpi_iterate and vpi_scan for vpiModule along basic operations like
vpi_get_str on vpiModule.
The support is added non-intrusively to non-VPI verilator runs. It
essentially:
- Tracks the creation of cell instances and keeps them alive until
the emit phase. They are there converted to scopes if modules.
- Emits empty (don't add anything during construction)
VerilatedScopes for all inlined modules, only for those inlined
modules that are on the hierarchical path to public variables.
- Adds VerilatedHierarchy as abstraction to structure of the
scopes. It is only created for VPI designs. It allows to traverse
the hierarchy from the top (NULL).
Signed-off-by: Stefan Wallentowitz <stefan@wallentowitz.de>
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-10-01 21:57:45 -04:00
Todd Strader
28b9db1903
Add AstVFile and AstTextBlock, towards bug1490.
2019-09-27 04:24:38 -04:00
Wilson Snyder
8490046028
Internals: AstComment optional suppression of at. No functional change intended.
2019-09-23 18:44:45 -04:00
Wilson Snyder
fa904f386c
Commentary - Spelling fixes
2019-09-09 07:50:21 -04:00
Wilson Snyder
314cd92129
Support $fseek, $ftell, $frewind, bug1496.
2019-09-03 21:28:15 -04:00
Todd Strader
b947391662
Retain widthSized when simulating
2019-08-12 15:38:58 -04:00
Wilson Snyder
81e806e895
Fix elaboration time errors, bug1429.
2019-08-04 22:34:54 -04:00
Wilson Snyder
1a36e05cc6
Fix core dump on v3Number replace'ed assertions.
2019-08-04 14:14:28 -04:00
Wilson Snyder
71265a8ec9
Internals: Rename unsized functions. No functional change.
2019-08-04 12:39:35 -04:00
Wilson Snyder
3a720204c2
Internals: Remove m_logicMap as m_detailedMap covers it. No functional change intended.
2019-08-04 08:16:24 -04:00
Todd Strader
b045111a67
Refactor SimulateVisitor to use AstConst
2019-07-23 13:58:17 -04:00
Todd Strader
654571bd1c
V3Number cleanup
2019-07-22 15:07:08 -04:00
Wilson Snyder
ee469eedaf
Fix some errors reporting wrong objects.
2019-07-14 15:06:49 -04:00
Wilson Snyder
0f857ce423
In errors, single quote signals and other from-user data.
2019-07-11 22:09:30 -04:00
Wilson Snyder
6c5cc885a6
Internals: Cleanup FileLine constructors. No functional change intended.
2019-07-10 22:04:58 -04:00
Wilson Snyder
9af84c71f5
Internals: More UASSERT_OBJ conversions. No functional change intended.
2019-07-07 09:01:36 -04:00
Wilson Snyder
bea34d0ced
Internals: Misc enum cleanups. No functional change.
2019-07-06 15:50:25 -04:00
Wilson Snyder
8548ecfdac
Internals: Add UASSERT_OBJ macro to replace hand-done ifs. No functional change intended.
...
This makes it easier to filter out correctly zero code-coverage lines.
2019-07-06 12:57:50 -04:00
Wilson Snyder
ac43e7322b
Internals: Remove dead code.
2019-06-30 22:11:56 -04:00
Wilson Snyder
ba9af4aabf
For internal messages, use <command-line> and <built-in> to match GCC.
2019-06-29 07:39:34 -04:00
Wilson Snyder
5cb6474cc6
Fix not reporting some duplicate signals/ports, bug1462.
2019-06-22 12:43:48 -04:00
Wilson Snyder
6ffbb7cabf
Internals: Remove extra semicolons. No functional change.
2019-06-11 18:31:06 -04:00
Todd Strader
34424e70d8
Fix sameHash error on type parameters, bug1456.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-06-05 20:39:42 -04:00
Wilson Snyder
f6f8073058
Support logical equivalence operator <->.
2019-06-01 19:40:06 -04:00
Wilson Snyder
b83b606267
Internals: Detab and fix spacing style issues. No functional change.
...
When diff, recommend using "git diff --ignore-all-space"
When merging, recommend using "git merge -Xignore-all-space"
2019-05-19 16:13:13 -04:00
Wilson Snyder
59d7d9e8c3
Fix real parameter assignment, bug1427.
2019-05-17 20:50:57 -04:00
Wilson Snyder
1f714c6813
Commentary: Spelling fixes.
2019-05-11 18:42:27 -04:00
Todd Strader
eac3458647
Internals: V3Number tracks node information, part of bug1305.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-05-09 20:03:19 -04:00
Wilson Snyder
0094cd7a81
Internals: Spacing fixes. No functional change.
2019-03-13 19:47:47 -04:00
Wilson Snyder
7bf3366041
Support .
2019-03-07 20:56:53 -05:00
Wilson Snyder
60f2f176a2
Fix DPI export void compiler error, bug1391.
2019-01-16 00:38:42 -05:00
Wilson Snyder
62a7d713a7
Fix internal error on xrefs into unrolled functions, bug1387.
2019-01-06 17:38:27 -05:00
Wilson Snyder
8a4aeddbb0
Copyright year update.
2019-01-03 19:17:22 -05:00
Wilson Snyder
6a5a2a56d7
Internals: Favor AstNetlist for global thread errors, and allow 0 line number error suppression.
2018-11-16 20:49:17 -05:00
Wilson Snyder
b8098098d8
Internals: Refactor input/output to new class in prep for ref support.
2018-10-27 17:29:00 -04:00
Wilson Snyder
304a24d03a
Internals: Fix many clang-tidy issues. No functional change intended.
2018-10-14 18:39:33 -04:00
Wilson Snyder
e4d638c73d
Internals: Cleanup string casts. No functional change.
2018-10-13 22:02:39 -04:00
Wilson Snyder
8b738c0022
Compute struct/union/enum names from surrounding typedefs.
2018-10-07 18:07:42 -04:00
Wilson Snyder
d11592cadd
Support signal types in FST dumps, bug1358.
2018-10-04 20:24:41 -04:00
Wilson Snyder
8ef9ac7dba
Support in/out directions in FST dumps, bug1358.
2018-10-03 19:51:05 -04:00
Wilson Snyder
9f8dbc91f2
Support restrict, bug1350.
2018-09-23 15:20:12 -04:00
Wilson Snyder
0e37747d2c
Support $past.
2018-09-23 15:20:01 -04:00
Wilson Snyder
ef5c31b4c9
Fix first clock edge and --x-initial-edge, bug1327.
2018-08-30 20:05:13 -04:00
Wilson Snyder
75f28fd446
Internals: Fix spacing of function calls. No functional change.
2018-08-25 09:52:45 -04:00
Wilson Snyder
8f838433df
Internals: Fix spacing and style of v4 changes. No functional change.
2018-08-23 05:22:34 -04:00
Wilson Snyder
ec8dbbffed
MAJOR: Add multithreaded model generation.
2018-07-22 20:54:28 -04:00
Wilson Snyder
338ebcd6f0
Internal: Minor style cleanups for next merge. No functional change.
2018-07-14 17:27:05 -04:00
Wilson Snyder
5520759d9e
Internals: Track dpi import wrapper creation. No functional change.
2018-07-07 08:02:29 -04:00
Wilson Snyder
86d85412e1
Merge from master
2018-06-22 18:51:02 -04:00
Wilson Snyder
35a40b4930
Commentary
2018-06-22 06:35:27 -04:00
Wilson Snyder
9f5a4c9b22
Fix cppcheck warnings. No functional change intended.
2018-06-14 19:04:52 -04:00
Wilson Snyder
5988bba9fb
Merge from master
2018-06-12 21:25:26 -04:00
Wilson Snyder
1c5c9e2435
cppcheck fixes
2018-06-12 21:14:20 -04:00