Udi Finkelstein
23c243bb82
Add support for null ports ( #2875 )
2021-04-09 10:39:46 -04:00
Wilson Snyder
e2c11cceb8
Fix select of with index variable ( #2880 ).
2021-04-08 19:35:03 -04:00
github action
52fc134272
Apply clang-format
2021-04-07 13:56:12 +00:00
Àlex Torregrosa
2b2680770b
Improve scope types in FST and VCD traces ( #2805 ).
2021-04-07 09:55:11 -04:00
Wilson Snyder
cb95a7294f
Fix backtrace on bisonpre error
2021-04-06 18:07:28 -04:00
Àlex Torregrosa
a29ac44af9
Add FST SystemC tracing ( #2806 )
2021-04-06 16:18:58 -04:00
Wilson Snyder
961a2fef61
Some minor preliminary docs reorg
2021-04-04 22:05:44 -04:00
Geza Lore
4f36e3e6c9
Fix incorrect condition in varNotReferenced ( #2873 )
...
The intention was to not merge impure assignments, but the actual
predicate failed if the assignment was indeed pure.
This fix gains 1.5% speed on SweRV EH1.
2021-04-03 12:57:06 -04:00
Wilson Snyder
273fcce095
Fix test error in last commit
2021-04-01 19:51:22 -04:00
Udi Finkelstein
0ea5af40c5
Add PINNOTFOUND warning in place of "Pin not found" error ( #2868 )
2021-04-01 18:17:42 -04:00
Wilson Snyder
c62546c761
Add --coverage-max-width ( #2853 ).
2021-03-29 18:54:51 -04:00
Wilson Snyder
f26a7c2a5d
Fix --comp-limit-parens with real data types
2021-03-28 20:18:18 -04:00
Wilson Snyder
2ca21c01d2
Internal coverage improvements
2021-03-28 20:03:08 -04:00
Rupert Swarbrick
d6c2e2faf6
Allow overlaps in priority case statements ( #2864 )
...
This will still warn if a case item is completely covered by previous
items, but will no longer complain about overlaps like this:
priority casez (foo_i)
2'b ?1: bar_o = 3'd0;
2'b 1?: bar_o = 3'd1;
Before, there was a warning for the second statement because the first
two patterns match 2'b11.
2021-03-28 19:57:36 -04:00
Wilson Snyder
05db4e41cd
Add better suggestions on some bad options.
2021-03-27 13:14:43 -04:00
Wilson Snyder
5b4448de23
Internals: Add some std::'s. No functional change intended.
2021-03-26 23:22:52 -04:00
Wilson Snyder
ca01d6f18d
Internals: Add some std::'s. No functional change intended.
2021-03-26 21:23:18 -04:00
Todd Strader
ee25114a00
interface localparam access ( #2859 )
2021-03-26 18:27:38 -04:00
Todd Strader
87728a9ee3
Fix --public-flat-rw / DPI issue ( #2858 )
2021-03-26 18:24:31 -04:00
Yutetsu TAKATSUKASA
4e41c13501
Structurize option parser ( #2809 )
...
Add V3OptionsParser that can suggest correct option.
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
Co-authored-by: github action <action@example.com>
2021-03-26 22:48:24 +09:00
Wilson Snyder
7ea014dab5
Fix false WIDTHCONCAT on casted constant ( #2849 ).
2021-03-23 19:49:57 -04:00
Wilson Snyder
93eabb83b2
Cleanup some python warnings. No functional change.
2021-03-20 17:37:24 -04:00
Wilson Snyder
29505ef013
Support arrayed parameter functions partial ( #2846 )
2021-03-19 18:44:26 -04:00
Wilson Snyder
a159c41219
Fix USERINFO etc to show message with no arguments
2021-03-18 18:46:07 -04:00
Wilson Snyder
334e42b38e
Cleanup REDEFMACRO to not show two separate warnings
2021-03-17 20:33:31 -04:00
Wilson Snyder
96f9f8558b
Mark --no-relative-cfuncs as scheduled for deprecation.
2021-03-17 18:59:45 -04:00
Wilson Snyder
c20bced485
Fix --output-split with class extends ( #2839 ).
2021-03-17 18:25:54 -04:00
Wilson Snyder
dfab80fab1
Fix false TIMESCALEMOD on generate-ignored instances ( #2838 ).
2021-03-16 22:52:29 -04:00
Wilson Snyder
26c0fa0a6a
Fix --timescale-override not suppressing TIMESCALEMOD ( #2838 ).
2021-03-16 22:42:28 -04:00
Wilson Snyder
12eb4e85ac
Changed TIMESCALEMOD from error into a warning. ( #2838 )
2021-03-16 21:58:15 -04:00
Wilson Snyder
8350c381c2
Add EOFNEWLINE warning when missing a newline at EOF.
2021-03-14 21:23:48 -04:00
Wilson Snyder
ba1f53a070
Improve DEFPARAM warning text.
2021-03-14 20:37:50 -04:00
Wilson Snyder
e6b19d557e
Fix false $dumpfile warning on model save ( #2834 ).
2021-03-14 09:08:17 -04:00
Wilson Snyder
9dcda6947d
Fix unpacked-in-class pattern assignment
2021-03-13 13:39:29 -05:00
Wilson Snyder
e3788e871e
Fix unpacked-in-class array reference assignments
2021-03-13 13:04:13 -05:00
Wilson Snyder
1b4a82acde
Verilated signals now use VlUnpacked in place of C arrays. ( #2774 ) partial.
2021-03-13 12:37:19 -05:00
Wilson Snyder
689d5b5090
Internals: Add std:: to make_pair. No functional change.
2021-03-12 18:17:49 -05:00
Wilson Snyder
3a55600913
Internals: Restyle with C++11 using replacing typedef
2021-03-12 18:10:45 -05:00
Wilson Snyder
404b323f8c
Internals: Remove some unnecessary typedefs. No functional change.
2021-03-12 17:26:53 -05:00
Wilson Snyder
29ed866061
Fix range inheritance on port without data type ( #2753 ).
2021-03-11 19:22:19 -05:00
Wilson Snyder
7469166c38
Fix or-reduction on different scopes broken in 4.110 ( #2828 ).
2021-03-10 18:08:11 -05:00
Wilson Snyder
5a4e4b2dcd
Add -Oo to disable const bit tree ( #2830 ).
2021-03-10 17:47:31 -05:00
Wilson Snyder
9483ebefae
Internal code coverage cleanups.
2021-03-07 21:05:15 -05:00
Wilson Snyder
6ff1911110
Tests: Cover some internal code coverage issues
2021-03-07 13:52:37 -05:00
Wilson Snyder
2cad22a22a
Add simulation context (VerilatedContext) ( #2660 ). ( #2813 )
...
** Add simulation context (VerilatedContext) to allow multiple fully independent
models to be in the same process. Please see the updated examples.
** Add context->time() and context->timeInc() API calls, to set simulation time.
These now are recommended in place of the legacy sc_time_stamp().
2021-03-07 11:01:54 -05:00
Wilson Snyder
47dcbd4b8a
Internal: Remove deprecated/insecure functions. No functional change intended.
2021-03-06 10:34:03 -05:00
Yutetsu TAKATSUKASA
cf9ac8270b
Internals: Remove duplicated entry of -quiet-exit. No functional change is intended. ( #2821 )
2021-03-05 23:11:54 -05:00
Wilson Snyder
de774ac4d8
Cleanup python code style issues. No functional change intended.
2021-03-05 22:52:39 -05:00
Wilson Snyder
81ef8fb201
Cleanup python code style issues. No functional change intended.
2021-03-05 21:59:00 -05:00
Yutetsu TAKATSUKASA
97b869e5d8
Internals: Mark some functions of VSpellCheck 'const'. No functional change is intended. ( #2817 )
2021-03-04 22:08:44 +09:00
Wilson Snyder
ed2f8dc097
Internals: Rename some internal functions etc to avoid _V
2021-03-03 22:53:50 -05:00
Wilson Snyder
be31fdcfe4
Use Google-style-guide header guard naming, to avoid __ prefix.
2021-03-03 21:57:07 -05:00
David Turner
e81abdb616
Fix slice-assign overflow bug ( #2803 ) ( #2811 )
2021-03-01 18:20:56 -05:00
Wilson Snyder
fec5e69ec5
--inhibit-sim is planned for deprecation, file a bug if this is still being used.
2021-02-28 09:26:06 -05:00
Wilson Snyder
05e5fb04ed
Fix formatting vars in protect-lib wrapper
2021-02-27 20:06:48 -05:00
Wilson Snyder
ce78d6e438
Fix flexfix to directly run with python.
2021-02-25 21:19:37 -05:00
Wilson Snyder
dad86b9a84
Tests: Fix leak found by previous commit
2021-02-25 20:38:38 -05:00
Wilson Snyder
e1a48dcb07
Fix spacing
2021-02-25 20:13:13 -05:00
Wilson Snyder
c95e606c0a
Fix range inheritance on port without data type ( #2753 ).
2021-02-24 18:21:13 -05:00
Wilson Snyder
9650aefa42
Internals: Cleanup unneeded {}. No functional change
2021-02-21 21:25:21 -05:00
Wilson Snyder
3ae75926e4
Inline old VL_CTOR macros.
2021-02-21 12:12:11 -05:00
Wilson Snyder
18f3df438e
For generated --main, use unique_ptr. No functional change intended.
2021-02-21 11:02:02 -05:00
Yutetsu TAKATSUKASA
bb5384bc50
Optimize bit op tree #2186 , #2632 , and #2633 ( #2751 )
...
* Tests:Add some more signals to t_const_opt_red.v
* Optimize bit op trees such as ~a[2] & a[1] & ~a[0] to 3'b010 == (3'111 & a)
* Update src/V3Const.cpp
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
* Update src/V3Const.cpp
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
* Update src/V3Const.cpp
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
* Apply clang-format
* Don't edit and-or tree.
* Call matchBitOpTree() after V3Expand does its job.
* Internals: Rename newNodep -> newp. No functional change is intended.
* Internals: Remove m_sels. No functional change is intended.
* Internals: Remove stringstream. No functional change is intended.
* Internals: Use V3Number::bitIs1(). No functional change is intended.
* Internals: Use V3Number instead of std::map. Resolved laek. Result should be same.
* Internals: Resolve overload of setPolarity. No functional change is intended.
* Internals: Pass failure reason. No functional change is intended.
* Internals: Add VNUser::toPtr(). No functional change is intended.
* Internals: Use user4 instead of std::map. No functional change is intended.
* Catch up with the AST style aftre V3Expand
* Internals: Rename Context to VarInfo. No functional change is intended.
* Add some more test case
* tests:Add stats to tests
Update stats in t_merge_cond.pl as matchBitopTree does some of them.
* insert CCast if necessary
* small optimization to remove redundant bit mask
* No quick exit even when unoptimizable node is found.
* Simplify removing redundant And
* simplify
* Revert "Internals: Add VNUser::toPtr(). No functional change is intended."
This reverts commit f98dce10db .
* Consider AstWordSel and cleanup
* Update test
* Update src/V3Const.cpp
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
* Update src/V3Const.cpp
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
* Update src/V3Const.cpp
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
* Update src/V3Const.cpp
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
* Update src/V3Const.cpp
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
* Update src/V3Const.cpp
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
* Apply clang-format
* Internals: rename variables. No functional change is intended.
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
Co-authored-by: github action <action@example.com>
2021-02-21 18:11:33 +09:00
Wilson Snyder
fd6edd90bc
Fix little endian interface pin swizzling ( #2475 ).
2021-02-20 22:11:20 -05:00
Wilson Snyder
191f76dd90
Increase LINE_TOKEN_MAX ( #2752 ).
2021-02-20 20:55:38 -05:00
Wilson Snyder
975c1b39a9
Fix little endian packed array pattern assignment ( #2795 ).
2021-02-20 20:29:28 -05:00
Yutetsu TAKATSUKASA
62e877ebf0
Add transformation of '^(const ^ a)' -> '(^const) ^ (^a)' ( #2800 )
...
* Add transformation of '^(const ^ a)' -> '(^const) ^ (^a)'
* Use TREEOP instead of TREEOPC
2021-02-20 23:16:55 +09:00
Yutetsu TAKATSUKASA
120322df3e
Remove redundant AND with 1 ( #2791 )
2021-02-18 19:28:49 +09:00
Wilson Snyder
22e299e78e
Support concat selection ( #2721 ).
2021-02-17 23:03:47 -05:00
Wilson Snyder
2b2fe13e79
Tests: Add unsupported test for interface typedef ( #2783 )
2021-02-16 22:31:30 -05:00
Wilson Snyder
64887bd92d
Commentary
2021-02-16 20:40:16 -05:00
Wilson Snyder
43cf5693d1
Fix shifts by > 32 bit values ( #2785 ).
2021-02-14 11:15:12 -05:00
Wilson Snyder
20b3f0efa0
Fix class extends with VM_PARALLEL_BUILDS ( #2775 ).
2021-02-13 17:29:34 -05:00
Àlex Torregrosa
e77e4e1fe6
Improve struct scopes when dumping structs to VCD ( #2776 )
2021-02-03 14:40:21 -05:00
Samuel Riedel
483516ce4e
Fix build to execute vlcovgen with python3. ( #2773 )
2021-01-28 15:01:33 -05:00
Wilson Snyder
05bb24df6c
Fix $fread extra semicolon inside statements.
2021-01-26 22:20:16 -05:00
Wilson Snyder
31223d4058
Fix $ in filenames ( #2768 ).
2021-01-26 20:10:38 -05:00
Paul Wright
d891e5ac3a
Fix to exclude strings from toggle coverage ( #2766 ) ( #2767 )
2021-01-25 07:33:38 -05:00
github action
555269f791
Apply clang-format
2021-01-23 15:32:52 +00:00
Wilson Snyder
64941538b7
Fix TIMESCALE warnings on primitives ( #2763 ).
2021-01-23 10:31:41 -05:00
James Hanlon
fadc6776ec
For --flatten, override inlining of public and no_inline modules ( #2761 )
2021-01-18 08:03:18 -05:00
Yutetsu TAKATSUKASA
878a252437
Internals: Add TREEOPC() that executes only when m_doCpp==true ( #2759 )
2021-01-17 13:53:49 +09:00
Wilson Snyder
5cadabeb2d
Fix argparse difference on ubuntu 18.04
2021-01-16 14:14:39 -05:00
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
Yutetsu TAKATSUKASA
cea8b65f8c
Internals: Make some accessors in V3Number public ( #2756 ). No functional change.
2021-01-16 09:47:04 -05:00
Wilson Snyder
22260c6b85
Internals: Rename V3Const TREEOPC to TREEOPA.
2021-01-15 22:13:06 -05:00
Pierre-Henri Horrein
3c849d7ce0
Generate SELRANGE instead of errors for potentially unreachable code ( #2625 ) ( #2754 )
...
When using a "if" statement inside an always block, part of the code may
be unreachable. This can be used to avoid errors, but it generated an
error, this commit demotes this to a warning. Partly fixes #2625 .
2021-01-15 07:31:48 -05:00
Wilson Snyder
bcf9abf490
Internals: Var rename. No functional change.
2021-01-11 22:42:14 -05:00
Philipp Wagner
b7c26dbea9
Fix to include limits header for std::numeric_limits ( #2747 )
...
Code using `std::numeric_limits` wasn't including the limits header,
leading to a compilation error in Fedora Rawhide (GCC 11.0).
2021-01-11 11:23:54 -05:00
github action
4f1867a4f8
Apply clang-format
2021-01-11 03:55:27 +00:00
Wilson Snyder
bd551a7444
Internals: Convert bisonpre to python3
2021-01-10 22:53:59 -05:00
Paul Wright
769c0fa318
Fix to ignore coverage on real ports ( #2741 ) ( #2745 )
2021-01-10 12:40:03 -05:00
Julien Margetts
a11700271f
Add LATCH and NOLATCH warnings ( #1609 ) ( #2740 ).
2021-01-05 14:26:01 -05:00
Yutetsu TAKATSUKASA
5b280c1911
Fix hierarchical verilation with explicit setting of default parameter value ( #2738 )
...
* Test hierarchical block that is explicitly set its default parameter value.
* Fix hierarchical verilation when a hierarchical block is instantiated with explicit setting of the default value.
Parameterized hierarchical block must have mangled name even when all parameters have default value,
otherwise the parameterized module will be hidden by protect-lib wrapper.
* rename variable names. No functional change is intended.
2021-01-03 12:19:37 +09:00
Wilson Snyder
1a073fbf5e
Fix vpiLeftRange on little-endian memories ( #2696 ).
2021-01-02 22:00:13 -05:00
Wilson Snyder
83d978c2cd
Fix generate for unrolling to be signed ( #2730 ).
2021-01-02 21:43:13 -05:00
Yutetsu TAKATSUKASA
c0a6858c42
Refactor V3Param ( #2736 )
...
* Use unique_ptr to manage lifetime. Slightly changed variable name. No functional change is intended.
* Let ParameterizedHierBlocks::areSame() public. No functional change is intended.
2021-01-03 07:21:45 +09:00
Yutetsu TAKATSUKASA
7a18adc716
Emit timescale in hierarchical block only when timescale is specified ( #2735 )
...
* Add a test for hierarchical verilation without timescale
* Emit timeunit in hierarchical wrapper only when it is specified in the input design or command line option.
* Update src/V3AstNodes.h
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
2021-01-02 08:31:27 +09:00
Wilson Snyder
bd602d0e2d
Copyright year update
2021-01-01 10:29:54 -05:00
Wilson Snyder
72b2df30f8
Fix tracing empty sc module ( #2729 ).
2020-12-28 11:13:58 -05:00
Wilson Snyder
84c323188e
Internals: yapf reformat vlcovgen. No functional change.
2020-12-23 19:17:46 -05:00
Wilson Snyder
9f8b17230a
Cleanup extra space on 'VlWide<...>>'
2020-12-23 18:09:12 -05:00
Wilson Snyder
93476a7372
Internals: Convert vlcovgen to python3. No functional change.
2020-12-23 16:54:05 -05:00
Wilson Snyder
922eab5f93
Internals: Convert config_rev, cppcheck_filtered, flexfix to python3
2020-12-23 15:41:14 -05:00
Wilson Snyder
b7a533109d
Fix cppcheck warnings. No functional change intended.
2020-12-23 15:22:02 -05:00
Wilson Snyder
28ff71b1bf
Internals: Misc refactoring from dcache branch. No functional change.
2020-12-19 20:46:10 -05:00
Wilson Snyder
b93e409f0e
Optimize additional display statements ( #2702 ).
2020-12-19 11:12:47 -05:00
Wilson Snyder
ec4e408b2b
Add yapf and reformat python code
2020-12-18 22:34:14 -05:00
Wilson Snyder
a16ebaf79c
Remove some stale and unsupported maintainer utilities
2020-12-18 21:57:48 -05:00
Wilson Snyder
c39a8b439a
Internals: Use emplace instead of insert(make_pair(...)). No functional change intended.
2020-12-18 18:24:47 -05:00
Todd Strader
a88965a124
Fix scope map for multiple construction ( #2710 )
2020-12-17 12:21:40 -05:00
James Hanlon
c18cbca813
Add support for package imports preceeding parameters in interfaces ( #2714 )
...
Co-authored-by: James Hanlon <mail@jameswhanlon.com>
2020-12-17 11:26:53 -05:00
Wilson Snyder
0abf18f618
Fix supporting begin_keywords 1364-2001-noconfig
2020-12-16 18:40:45 -05:00
Wilson Snyder
6adda241c9
Fix $urandom_range with no second argument
2020-12-16 18:34:49 -05:00
Todd Strader
b75901b3eb
Fix VPI module tree ( #2704 )
2020-12-16 11:46:57 -05:00
Wilson Snyder
c00c26c705
Remove some comments emitted in output.
...
* Comments were disabling some optimizations.
* Suspect rarely referred to.
* Sometimes incorrectly placed due to other optimizations.
2020-12-15 22:55:17 -05:00
Yutetsu TAKATSUKASA
7821da6ad5
Fix DPI-C and protect-lib if port is implicit logic ( #2699 )
2020-12-15 09:51:14 -05:00
Wilson Snyder
5ee30e271e
When combine functions, favor keeping non-slow name.
2020-12-13 21:53:55 -05:00
Wilson Snyder
4ce48788c5
Always use verilated_heavy ( #2701 ).
...
On test suite adds ~7% runtime but will simplify logic and enable some
future changes.
Most large designs I saw were already using verilated_heavy as were using
strings, queues, associative arrays, classes, $readmem, $writemem, or
$valueplusargs.
2020-12-13 19:40:05 -05:00
Wilson Snyder
882b310897
Fix little endian packed array counting ( #2499 ).
2020-12-13 16:23:59 -05:00
Wilson Snyder
82fc142c1c
Add error on real to non-real output pins ( #2690 ).
2020-12-13 13:33:48 -05:00
Wilson Snyder
5898c22b3b
Internals: Cleanup variables for pin interconnection
2020-12-13 13:22:42 -05:00
Yutetsu TAKATSUKASA
13e88106da
Internals:Cleanup dpiTypesToStringConverter. No functional change is intended. ( #2698 )
2020-12-13 16:05:06 +09:00
Wilson Snyder
b04a1caeac
In warnings, rename cells to instances to match IEEE
2020-12-12 22:43:55 -05:00
Wilson Snyder
53c4c7d540
Fix error format ( #2095 ).
2020-12-12 22:26:50 -05:00
Wilson Snyder
fb689bbb19
Fix clang warning, recent change
2020-12-12 22:16:10 -05:00
Wilson Snyder
e2e3cc8463
Better error on inside on unpacked, queues, etc ( #2566 )
2020-12-12 21:20:42 -05:00
Wilson Snyder
18f8c8a14f
Fix error when dotted refers to missing module ( #2095 ).
2020-12-12 20:25:00 -05:00
Wilson Snyder
44765e03a3
Internals: clang-format
2020-12-12 20:22:28 -05:00
Wilson Snyder
3f119f5647
Fix --no-decoration to turn off DPI import/export locations
2020-12-12 19:33:18 -05:00
Wilson Snyder
517fdb7587
Support queue of arrays
2020-12-12 19:19:32 -05:00
Wilson Snyder
0ca72f8098
For debug build, mv to prevent text busy error durring regression
2020-12-12 19:19:32 -05:00
Wilson Snyder
81ce2cbc05
Internals: Params cleanups in prep for dedot.
2020-12-12 15:48:10 -05:00
Wilson Snyder
d7af6436a2
Fix genblk naming to match IEEE ( #2686 ).
2020-12-12 12:57:11 -05:00
Wilson Snyder
82d8fe0c27
Internal coverage fixes
2020-12-10 22:01:56 -05:00
Wilson Snyder
a5fa468343
Fix cast from packed structs, broke with $cast ( #2684 )
2020-12-10 18:36:06 -05:00
Unai Martinez-Corral
d94a8a28fa
Fix Windows msys2, define WEXITSTATUS ( #2685 )
2020-12-10 12:20:54 -05:00
Wilson Snyder
af0e535015
Internals: Remove Xnor node type.
...
Convert to Not(Xor(x)) up front, to help code coverage and optimize out extra nots sooner.
2020-12-10 00:04:10 -05:00
Wilson Snyder
5b2844e1be
Fix instability in last commit from dangling deletes.
2020-12-09 23:57:40 -05:00
Wilson Snyder
53ce708294
Fix showing reference locations for BLKANDNBLK ( #2170 ).
2020-12-09 23:07:11 -05:00
Wilson Snyder
a1322635fd
Internal coverage improvements
2020-12-09 22:32:09 -05:00
Wilson Snyder
7d05be802d
Misc internal coverage hole and related bug fixes
2020-12-09 19:18:12 -05:00
Krzysztof Bieganski
5e7b0d526d
Support 'randc' as alias to 'rand' ( #2680 )
...
* Add alias 'randc' to 'rand'
* Make the 'RANDC' warning; add tests
2020-12-09 19:17:30 -05:00
Yutetsu TAKATSUKASA
ff3d35ca61
Support unpacked array port in protect-lib and hierarchical verilation ( #2672 )
...
* Add a test to use unpacked array port in hierarchical verilation and protect-lib.
* V3EmitV supports unpacked array variables
* Can Emit local unpacked array properly
* Update golden of t_debug_emitv
* Support unpacked array port in protect-lib
* Remove t_prot_lib_unpacked_bad test as unpacked array is supported now.
2020-12-09 08:29:45 +09:00
Wilson Snyder
c23de458ed
Misc internal coverage cleanups
2020-12-08 08:40:22 -05:00
Wilson Snyder
8e06b1e925
Misc internal coverage cleanups
2020-12-07 23:15:29 -05:00
Wilson Snyder
47eeef485d
Report UNUSED on parameters, localparam and genvars ( #2627 ).
2020-12-07 19:49:50 -05:00
Wilson Snyder
251812638d
Internals: Rename accessor. No functional change.
2020-12-07 18:50:31 -05:00
Krzysztof Bieganski
cf7ea06b5d
Support randomize() class method and rand
2020-12-07 17:55:22 -05:00
Wilson Snyder
cd248f6bd7
Internals: Make consistent left/right/lo/hi accessors to ranges.
...
Change order of Range to store always left:right.
XML output changes to now show left:right (previously info was lost), no other change intended.
2020-12-06 21:13:56 -05:00
Wilson Snyder
b32d530000
Error message cleanup
2020-12-06 20:33:08 -05:00
Wilson Snyder
570631380b
Internal: Misc cleanups. No functional change intended.
2020-12-06 13:49:44 -05:00
Wilson Snyder
74ef35d3b3
Support $cast and new CASTCONST warning.
2020-12-05 22:58:36 -05:00
Wilson Snyder
8b8ebb0e43
Internals: Use restorer. No functional change.
2020-12-05 22:21:30 -05:00
Yutetsu TAKATSUKASA
301b4ff1ad
Internals: Introduce TaskDpiUtils in V3Task ( #2670 )
...
* Internals:Simplify V3Task.cpp. no functional change intended
* Internals:Introduce TaskDpiUtils in V3Task.cpp. No functional change intended
2020-12-06 12:09:48 +09:00
Wilson Snyder
9c2785b49b
Internals: Swap lhs/rhs $cast args.
2020-12-05 17:11:00 -05:00
Wilson Snyder
8582aed66a
Add --top option as alias of --top-module.
2020-12-05 16:58:17 -05:00
Wilson Snyder
9bd5cd4ef3
Internals: Track null separately from '0
2020-12-05 16:49:10 -05:00
Wilson Snyder
f858dd44ac
Fix :: references to forward classes
2020-12-05 16:23:20 -05:00
Wilson Snyder
e69736124f
Debug: Less verbose link.
2020-12-05 16:16:37 -05:00
Wilson Snyder
f0e691a1b8
Handle unsupported parameters through link phase
2020-12-05 11:30:14 -05:00
Wilson Snyder
5fb834e41e
Fix passing parameter type instantiations by position number.
2020-12-05 11:00:30 -05:00
Yuri Victorovich
016611021d
Fix the default GNU Make executable name on FreeBSD ( #2553 )
2020-12-02 19:27:53 -05:00
Wilson Snyder
fa20614277
Fix Ubuntu 16.04 LTS warning
2020-12-02 19:20:03 -05:00
Wilson Snyder
1e69167191
Internals: Move function in V3Width. No functional change.
2020-12-02 18:51:29 -05:00
Wilson Snyder
faa5edc068
Add TspStateBase destructor ( #2620 ).
2020-12-02 07:37:34 -05:00
Wilson Snyder
b054d937cb
Rename static/thread misnamed variables. No functional change.
2020-12-01 19:01:20 -05:00
Wilson Snyder
212e8fb14b
Internals: Cleanup some inlines, use constexpr. No functional change intended.
2020-12-01 18:49:03 -05:00
Wilson Snyder
d21b4e3fc7
Internal cast preparatory cleanups.
2020-11-29 18:26:06 -05:00
Wilson Snyder
665e8edaff
Support $monitor and $strobe.
2020-11-29 11:31:38 -05:00
Wilson Snyder
67103d346b
Fix $fwriteh/$fwriteo
2020-11-29 10:53:44 -05:00
Wilson Snyder
aebb54444e
Internals: Favor NodeProcedure. No functional change intended.
2020-11-29 09:50:30 -05:00
Wilson Snyder
a54ac52a35
Internals: Use 'Bit' where mean 2-state type. No functional change.
2020-11-29 08:23:36 -05:00
Wilson Snyder
aa360052a8
Internals: Code movement, no functional change.
2020-11-28 22:01:11 -05:00
Wilson Snyder
e09f039a36
Internals: Remove dead code. No functional change.
2020-11-28 21:43:37 -05:00
Wilson Snyder
ff262fc4fb
Support type(t) static casting
2020-11-28 17:29:21 -05:00
Wilson Snyder
9a9931fb9d
Support complex function arguments.
2020-11-28 13:46:14 -05:00
Wilson Snyder
30686d8550
Support passing of objects to functions
2020-11-28 12:43:24 -05:00
Wilson Snyder
05f3fd7c6e
Fix class new with math.
2020-11-28 12:26:44 -05:00
Wilson Snyder
e14319b401
Internals: Refactor V3Param through code movement only. No functional change intended.
2020-11-28 12:04:29 -05:00
Wilson Snyder
1299b70945
Internals: Pass class parameters through link.
2020-11-27 22:48:42 -05:00
Wilson Snyder
cf2810db8b
Change -sv option to select 1800-2017 instead of 1800-2005.
2020-11-27 21:49:47 -05:00
Wilson Snyder
d77beecc6e
Fix $countbits(..., 'z)
2020-11-27 21:34:40 -05:00
Wilson Snyder
0c6bd42da3
Fix $countbits(..., 'x)
2020-11-27 20:51:32 -05:00
Wilson Snyder
5091298fae
Internals: Cleanup V3Unknown. No functional change intended.
2020-11-27 20:25:02 -05:00
Wilson Snyder
cef7610b14
Fix crash on virtual interfaces.
2020-11-27 20:02:17 -05:00
Wilson Snyder
ed268805ce
Lint check for pure virtual in non-virtual class.
2020-11-27 19:53:04 -05:00
Wilson Snyder
123d1af29d
Fix crash on non-class static function
2020-11-27 14:58:50 -05:00
Wilson Snyder
963fd0664d
Fix class-in-module issues
2020-11-27 09:42:51 -05:00
Wilson Snyder
4643d6e883
Internals: Refactor V3Param through code movement only. No functional change intended.
2020-11-27 09:17:44 -05:00
Wilson Snyder
d89fc05da1
Internals: Refactor V3Param through code movement only. No functional change intended.
2020-11-27 09:04:56 -05:00
Wilson Snyder
84d7380588
Internals: Param immediate delete, in prep for next commit. No functional change intended.
2020-11-27 08:50:29 -05:00
Wilson Snyder
04febb1944
Internals: Move V3Param code. No functional change.
2020-11-26 15:03:55 -05:00
Wilson Snyder
d56b923eaa
Fix 'randomize() with {}' crash
2020-11-26 11:50:50 -05:00
Wilson Snyder
a37866ee92
Support 'super'.
2020-11-26 11:06:59 -05:00
Wilson Snyder
1a92a44c7d
Internals: Assert on misexpected 'new'.
2020-11-26 09:38:47 -05:00
Wilson Snyder
60a1d25a96
Fix extern function member references.
2020-11-26 08:55:32 -05:00
Wilson Snyder
ad21f2e850
Fix 'this' in extern functions.
2020-11-26 08:28:53 -05:00
Wilson Snyder
380137a402
Fix internal pointer shown on CLKDATA warnings
2020-11-25 21:34:56 -05:00
Wilson Snyder
de931d6a97
Fix LHS is not a lvalue when using tristate with -Oi.
2020-11-25 21:09:25 -05:00
Wilson Snyder
f2d8e45d72
For performance, use unordered_set/map where possible. No functional change intended.
2020-11-25 20:57:30 -05:00
Wilson Snyder
085ef5fc05
Fix extern function var refs getting errors.
2020-11-25 20:05:44 -05:00
Wilson Snyder
6095efd84e
Check for proper 'local' and 'protected' ( #2228 ).
2020-11-25 07:03:01 -05:00
Wilson Snyder
114ab1378f
Internals: Track class package on membersels
2020-11-24 23:36:09 -05:00
Wilson Snyder
8622c754b7
Fix unstable statistic
2020-11-24 23:35:44 -05:00
Wilson Snyder
bf24fa9478
Fix access to non-overridden base class variable ( #2654 ).
2020-11-24 22:46:02 -05:00
Wilson Snyder
e1c45440fc
Internals: Rename packagep(). No functional change.
2020-11-24 21:56:03 -05:00
Wilson Snyder
b0cb43b2f2
Fix not iterating some extended classes depending on declaration order.
2020-11-24 21:41:32 -05:00
Wilson Snyder
dc1f44840d
Internals: Fix not clearing packagep on some assignments. Should affect assertions only.
2020-11-24 21:34:11 -05:00
Wilson Snyder
fd21a41acd
Internals: Minor cleanups before class fix ( #2654 ). No functional change intended.
2020-11-24 21:28:26 -05:00
Wilson Snyder
dc306cf371
Internal debug: avoid segflt with gdb "pnt"
2020-11-24 18:35:12 -05:00
Wilson Snyder
35374f09b4
Add error on class extending itself
2020-11-24 18:15:49 -05:00
Wilson Snyder
e85a2e860e
Support 'with item.index'.
2020-11-23 23:18:58 -05:00
Wilson Snyder
b684995292
Support $random and $urandom seeds.
2020-11-19 21:32:33 -05:00
Wilson Snyder
c371a63d41
Internals: Fix missing final. No functional change.
2020-11-19 08:23:15 -05:00
Yutetsu TAKATSUKASA
0102efd4ea
Support unpacked array in DPI-C ( #2648 )
...
* Add tests for unpacked array in DPI-C
* Add more generic parameter generator to AstNodes
* Supports multi dimensional array in DPI ( DPI argmuments <=> Verilator internal type conversion)
consider typedef in V3Task
fix export test
fix inout for scalar
support export func of time
* V3Premit does not show an error for wide words nor ArraySel
* Unnecessary pack func for unapcked array does not appear anymore
* Support unpacked array in runtime header
- Add an overload for lvalue VL_CVT_PACK_STR_NN
- Allow conversion from void *
* touch up tests for codacy advices
* resolve free functions. no functional change intended.
2020-11-19 22:02:58 +09:00
Wilson Snyder
abfee1270f
Improve internal code coverage
2020-11-18 22:21:48 -05:00
Wilson Snyder
5992d678be
Fix clang error, broke last commit.
2020-11-18 22:18:29 -05:00
Wilson Snyder
b6ded59c2b
Internals: Use and enforce class final for ~5% performance boost.
2020-11-18 21:32:16 -05:00
Wilson Snyder
c0888c1b0f
Internals: Use newline instead of endl to avoid unneeded flush.
2020-11-18 21:03:23 -05:00
Wilson Snyder
fa77141519
Fix unpacked array parameters near functions ( #2639 ).
2020-11-18 20:12:14 -05:00
Wilson Snyder
b3760911e7
Internals: Param minor cleanups. No functional change intended.
2020-11-18 19:50:47 -05:00
Wilson Snyder
e6f7510895
Add check for rand_mode/constraint_mode.
2020-11-17 22:14:18 -05:00
Wilson Snyder
2f718b9ea0
Show IEEE reference in array port message, plus internal cleanups.
2020-11-17 21:10:50 -05:00
Wilson Snyder
1e7c61b23e
Internals: Refactor huge func in V3Param. No functional change intended.
2020-11-16 22:35:51 -05:00
Wilson Snyder
1b0a48ea02
Internals: Use C++11 = default where obvious. No functional change intended.
2020-11-16 19:56:16 -05:00
Wilson Snyder
70b3a599ce
Fix trace signal names getting hashed ( #2643 ).
2020-11-16 18:11:27 -05:00
Wilson Snyder
26c0e6ba00
Fix missing array include.
2020-11-16 07:31:12 -05:00
Wilson Snyder
efc6fb7fc3
Internals: Better pack AstNode. No functional change.
2020-11-15 22:03:06 -05:00
Wilson Snyder
b68038a73f
clang-tidy fix. No functional change.
2020-11-15 17:23:02 -05:00
Wilson Snyder
f4ef4ad9f3
Internals: Favor std::array where easy. No functional change intended.
2020-11-15 16:21:26 -05:00
Wilson Snyder
f6f7684ccd
Internal member initialization. No functional change intended.
2020-11-15 15:40:35 -05:00
Wilson Snyder
e74cc32f2d
Add internal assertion that VarScopes properly formed.
2020-11-14 16:13:06 -05:00
Wilson Snyder
f94fcaa8e4
Move YYDEBUG into header. No functional change intended.
2020-11-14 10:20:27 -05:00
Wilson Snyder
3e7013af31
Internal scope cleanup. No functional change.
2020-11-13 21:12:18 -05:00
Wilson Snyder
f7a5883205
Internals: assert not double adding. No functional change intended.
2020-11-13 21:12:03 -05:00
Yutetsu TAKATSUKASA
e8c03650ae
Fix internal error if always block without begin-end has concat ( #2640 ) ( #2641 )
2020-11-13 09:50:09 -05:00
Wilson Snyder
7eac788306
Add error on using :: with module
2020-11-12 19:45:26 -05:00
Wilson Snyder
b84c9bb4c0
Internals: Show scope debug information.
2020-11-11 19:00:10 -05:00
Wilson Snyder
6dfce882a1
Support $exit as alias of $finish
2020-11-10 22:49:48 -05:00
Wilson Snyder
79d33bf1ee
Use C++11 for loops, from clang-migrate. No functional change intended
2020-11-10 22:10:38 -05:00
Wilson Snyder
44eb362a18
clang-tidy cleanups. No functional change intended.
2020-11-10 21:40:14 -05:00
Wilson Snyder
8664aac225
Fix missing newlines in emit.
2020-11-09 18:29:09 -05:00
Wilson Snyder
6965e138aa
Add clearer unsupported message for inside on array ( #2566 )
2020-11-08 23:26:58 -05:00
Wilson Snyder
fc52fb9093
Fix arrays of modport interfaces ( #2614 ).
2020-11-08 22:43:32 -05:00
Wilson Snyder
cef7708f38
Internals: Fix missed access change. No functional change intended.
2020-11-08 22:02:35 -05:00
Dan Petrisko
438fb01665
Fix exited typo ( #2634 )
2020-11-08 21:55:33 -05:00
Wilson Snyder
67d5b1a11a
Internals: Preserve arrays of modports. Part of #2614 .
2020-11-08 19:15:53 -05:00
Wilson Snyder
d78941885b
Fix cast width propagation ( #2597 ).
2020-11-08 19:07:33 -05:00
Wilson Snyder
6e7b07c794
Internals: Prep for #2597 . No functional change intended
2020-11-08 18:58:31 -05:00
Wilson Snyder
152689776d
Report error on typedef referencing self ( #2539 ).
2020-11-07 15:41:37 -05:00
Wilson Snyder
778f133118
Fix dynamic new with init argument ( #2325 ).
2020-11-07 14:28:05 -05:00
Wilson Snyder
ff5465308b
Internals: Tree dump DEFAULT pattern. No functional change.
2020-11-07 11:56:24 -05:00
Wilson Snyder
2a24bb4759
Fix queue poping wrong value when otherwise unused ( #2512 ).
2020-11-07 10:37:55 -05:00
Krzysztof Bieganski
7c4259bc0a
Support static methods and typedefs in classes ( #2615 )
2020-11-06 19:51:21 -05:00
Yutetsu TAKATSUKASA
75881754a9
Fix dangling reference (Issue #2622 ) ( #2623 )
...
* collect multiple string literals of "__Vcvt". No functional change is intended.
* temporary variable for DPI-C should be static if its type is string
* Update src/V3EmitC.cpp
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
2020-11-04 06:08:03 +09:00
Wilson Snyder
48bcf66ac7
Fix C++14 deprecated random_shuffle.
2020-11-02 20:07:58 -05:00
Wilson Snyder
0145d9d514
Fix C++14 deprecated random_shuffle.
2020-11-02 19:55:01 -05:00
Wilson Snyder
2ce86eddfa
Internal debug. No functional change.
2020-11-01 22:27:27 -05:00
Wilson Snyder
b663d1a230
Rename internal interface references, part of #2614 .
2020-11-01 20:52:21 -05:00
Wilson Snyder
5821048df7
Fix clang warning.
2020-11-01 17:18:06 -05:00
Wilson Snyder
80284c437e
Internals: Refactor some VAssign printing. No functional change.
2020-11-01 16:59:23 -05:00
Wilson Snyder
2aedc91151
Support queue and associative array 'with' statements. ( #2616 )
2020-11-01 10:56:07 -05:00
Wilson Snyder
c1e8337fc1
Support pattern assignment to dynamic arrays.
2020-11-01 10:18:32 -05:00
Wilson Snyder
726e78fdda
Add 'with' syntax checks.
2020-10-31 10:33:36 -04:00
Wilson Snyder
085e8454b8
Support 'with' into elaboration (only).
2020-10-31 10:00:55 -04:00
Wilson Snyder
85b05366bc
Internals: Misc prep work for 'with' support.
2020-10-31 09:24:16 -04:00
Wilson Snyder
e6b0479b80
Internals: CFunc VL_RESTORER. No functional change intended.
2020-10-31 09:14:47 -04:00
Wilson Snyder
cf7b5c091a
Internals: Track some VAccess that can be ReadOnly. No functional change.
2020-10-30 22:28:51 -04:00
Wilson Snyder
51b0963e61
Internals: Favor const for map keys. No functional change intended.
2020-10-30 18:00:40 -04:00
Wilson Snyder
0c949ceba2
Internals: classOrPackage is a module, from #2615 .
2020-10-30 08:43:20 -04:00
Wilson Snyder
5c070558ae
Internals: Misc cleanups in prep for interface bugfix. No functional change intended.
2020-10-29 21:27:19 -04:00
Wilson Snyder
23140aeff0
Internals: V3Begin code cleanup. No functional change.
2020-10-27 22:39:45 -04:00
Wilson Snyder
d44426b3f3
clang-format. No functional change.
2020-10-27 20:33:45 -04:00
Yutetsu TAKATSUKASA
05ff96bea3
Fix SEGV when $fgets, $sscanf, or $fscanf is used with string ( #2604 )
...
* Add a test to use string for $fgets
* Use dedicated function for $fgets to std::string
* share the implementation of $fgets
* Pass -1 for bitwidth of std::string to distinguish from POD
* add checks for scanf with string
* apply clang-format
2020-10-28 08:37:12 +09:00
Jean Berniolles
77ac9bfcc6
Fix WIFEXITED missing from MinGW/MSYS2 ( #2609 )
...
* WIFEXITED missing from MinGW/MSYS2, added defines
* Found source of the WIFEXITED macro in the binutils-gdb repo. Now with less pointer manipulation.
2020-10-27 13:33:25 -04:00
Wilson Snyder
95d1272269
Support associative array pattern assignments and defaults.
2020-10-25 21:05:22 -04:00
Wilson Snyder
835905bdae
Convert cast tasks to assertions
2020-10-24 20:30:52 -04:00
Wilson Snyder
9d0a7d5e70
Commentary ( #2606 ).
2020-10-23 18:30:10 -04:00
Wilson Snyder
4cec3ff2a0
Fix WIDTH warnings on comparisons with nullptr ( #2602 ).
2020-10-22 17:27:23 -04:00
Wilson Snyder
25593c0ee2
Fix capitalization
2020-10-22 17:13:42 -04:00
Wilson Snyder
5d3dd52f13
Support queue slicing ( #2326 ).
2020-10-18 13:23:39 -04:00
Wilson Snyder
ec36d0d772
Internals: When resolving assignments pass dtype to children.
2020-10-18 12:30:33 -04:00
Wilson Snyder
4576644591
Prep for future queue slicing.
2020-10-17 21:09:10 -04:00
Wilson Snyder
d8df216a8d
Fix emit indent of VL_TO_STRING
2020-10-17 20:05:21 -04:00
Wilson Snyder
964dcd5b7c
Tests: Add additional array method tests and error
2020-10-17 19:23:27 -04:00
Wilson Snyder
f62c070d06
Internals: Concat strings only when final; prep for queues.
2020-10-17 18:56:38 -04:00
Wilson Snyder
a56e0a6e89
Internals: Prep for type method. No functional change intended.
2020-10-17 16:48:11 -04:00
Wilson Snyder
451e961e03
Internals: Prep for type method. No functional change intended.
2020-10-17 16:04:29 -04:00
Wilson Snyder
cb550e5357
Remove old MSVC 6 workarounds
2020-10-17 14:21:27 -04:00
Wilson Snyder
829db3eefa
Fix tick style on %p formats.
2020-10-16 19:26:04 -04:00
Wilson Snyder
44f938e507
Use static const for emitted parameter declarations.
2020-10-16 19:05:28 -04:00
Wilson Snyder
4849c0530b
Fix class extends with typedef.
2020-10-16 18:25:32 -04:00
Wilson Snyder
d4df94d866
Internals: Move static resolution to LinkParse.
2020-10-15 21:08:24 -04:00
Wilson Snyder
5d8019f941
Internals: Only need to applyFTask once. No functional change intended.
2020-10-15 21:02:24 -04:00
Wilson Snyder
e3cf5c07e4
Internal coverage improvements. No functional change.
2020-10-13 21:13:52 -04:00
Wilson Snyder
3d8dc2774b
Fix clang 11 warning. No functional change intended.
2020-10-13 19:22:49 -04:00
Markus Krause
0a9ae154be
introduce define for FST tracing ( #2592 )
...
This is to allow C++ verilator toplevel to support
multiple modes of waveform tracing
VM_TRACE_FST can be used inside a #if VM_TRACE
section to switch between classic .vcd tracing and the
more compact .fst format supported by GTKWAVE
2020-10-10 21:17:39 -04:00
Wilson Snyder
e25a6334cf
Support repeated forward typedefs.
2020-10-10 11:29:10 -04:00
Wilson Snyder
070bead9f9
Internals: Refector typedef call. No functional change intended.
2020-10-10 11:25:44 -04:00
Wilson Snyder
215d3614c0
Fix preprocessor stringify of undefined macro.
2020-10-09 18:53:09 -04:00
Wilson Snyder
1ebf937a6c
Internals: Favor std method. No functional change intended.
2020-10-09 17:55:58 -04:00
Rafal Kapuscik
7be343fd7c
Support 'this' ( #2585 ).
2020-10-08 07:54:01 -04:00
Wilson Snyder
fb2d78520f
Internals: Remove redundant initial clears. No functional change intended.
2020-10-07 19:43:08 -04:00
Yutetsu TAKATSUKASA
c5da072ff6
Fix performance degradation when --threads is used with --hierarchical (Issue #2562 ) #2581
2020-10-05 08:20:49 +09:00
James Pallister
e3a1954e20
Fix hierarchical references used inside a function ( #2267 ) ( #2572 )
2020-09-27 10:10:44 -04:00
Wilson Snyder
4ba2637360
Fix class wide member display ( #2567 ).
2020-09-25 07:37:38 -04:00
Wilson Snyder
6430743b6f
Fix method calls to package class functions ( #2565 ). [Peter Monsson]
2020-09-22 09:09:10 -04:00
Wilson Snyder
0c49cca527
Fix $urandom_range passed variable ( #2563 ).
2020-09-22 08:44:51 -04:00
Wilson Snyder
7a9e79ea79
Fix -G dropping public indication ( #2561 ).
2020-09-21 08:29:57 -04:00
Yutetsu TAKATSUKASA
157948c552
Fix cmake build with --hierarchical option ( #2560 )
...
* hier_block with cmake test doesn't assume prefix now.
* Add space between files
* don't set -Mdir on cmake build as it will be set by DIRECTORY option
* Use top target name instead of prefix
2020-09-20 07:48:05 +09:00
Yutetsu TAKATSUKASA
1c1b95161b
Load source file of the hier_block explicitly ( #2559 )
...
* Add a test to make sure that lib modules (loaded via -y option) can be a hier_block.
* Add HDL file of the hier_block to the source list if the module is loaded via -y option.
(Each hier_block is treated as a top module when processing the hier_block.)
* Use "\n" for delimiter as the other files
2020-09-19 08:13:49 +09:00
Wilson Snyder
66d1754d19
Fix constant x propagation of xor.
2020-09-18 17:47:22 -04:00
Piotr Binkowski
57a53c014d
Internals: Add proper delegation to dump methods ( #2555 )
2020-09-16 21:52:24 -04:00
Yutetsu TAKATSUKASA
e48a859b86
Add timescale directive for hier_block if the original design has it ( #2554 )
...
* add timescale directive to a test to reproduce #2544
* add timescale directive to hierarchy blocks
2020-09-17 06:09:29 +09:00
Wilson Snyder
430238a6b4
Support # as a comment in -f files ( #2497 ).
2020-09-15 20:12:08 -04:00
Wilson Snyder
9a4c5509fc
Internals: Allow make clang-format in src
2020-09-15 07:39:50 -04:00
Wilson Snyder
0765443353
Internals: Remove unneeded constructor.
2020-09-15 07:35:53 -04:00
Wilson Snyder
fac04521db
Internals: Fix VL_LEAK_CHECK ( #2542 ).
2020-09-11 11:52:30 -04:00
Peter Monsson
d0819f156f
Add support for |=> inside properties ( #1292 ).
2020-09-10 06:49:04 -04:00
Wilson Snyder
b77eab3f83
Fix crash when mismatching queue types.
2020-09-07 21:13:38 -04:00
Wilson Snyder
30f3774134
Support const object new() assignments.
2020-09-07 17:26:53 -04:00
Wilson Snyder
1899a875a4
Internals: Create VAccess class. No functional change intended.
2020-09-07 17:09:25 -04:00
Wilson Snyder
cc134b38ee
Internal coverage: Misc cleanups
2020-09-07 13:11:44 -04:00
Wilson Snyder
993115d30a
Cleanup and test EmitV for internal coverage
2020-09-07 12:58:30 -04:00
Peter Monsson
627d83e807
Add support for assume property ( #2531 )
2020-09-03 12:38:48 -04:00
Yutetsu TAKATSUKASA
70eb99b050
Fix double-free on shared protect-lib ( #2526 )
...
* Add a test to use shared object of protect-lib
* Add a guard to call ctor/dtor just once even when a protec-lib is shared object.
* Pass .a to linker in leaf-last order for older ld.
* Add -flat_namespace for mac
2020-08-31 08:22:31 -04:00
Wilson Snyder
ba5779c69e
Fix queues as class members ( #2525 ).
2020-08-29 12:56:43 -04:00
Wilson Snyder
069eb97eca
SystemC 2.3.0 or newer (SYSTEMC_VERSION >= 20111121) is now required.
2020-08-29 10:45:47 -04:00
Yutetsu TAKATSUKASA
4f88ec3518
Fix hier test failure on mac ( #2524 )
...
* No need to link the intermediate .so in hierarchical verilation
* apply clang-format
* run all tests in ci instead of cron. DONT_MERGE
* Add -undefined dynamic_lookup for mac environment when linking a shared protect-lib.
* Let's just check on mac for now. DONT_MERGE
* Revert "Let's just check on mac for now. DONT_MERGE"
This reverts commit 533fac6f9f .
* Revert "run all tests in ci instead of cron. DONT_MERGE"
This reverts commit fb4ac1fb42 .
2020-08-29 07:56:06 -04:00
Wilson Snyder
45eccaecaf
Fix Travis/GCC warnings.
2020-08-27 18:48:26 -04:00
Wilson Snyder
bed3101dfc
Internals: Use VL_RESTORER class to save/restore vars. No functional change intended.
2020-08-24 21:13:28 -04:00
Wilson Snyder
4265f9499d
Support dotted references in foreach in early parsing (for UVM)
2020-08-24 19:33:26 -04:00
Yutetsu TAKATSUKASA
6acd5847e7
Fix range check in V3SplitVar to be consistent with #2507 ( #2511 )
...
* test:Add more tests for checking split_var for unpacked array.
* Fix range calculation of SliceSel and change to UASSERT_OBJ because the range check is done in V3Width beforehand.
2020-08-24 19:11:20 -04:00
Wilson Snyder
f7f3d3fd43
Fix splitting eval functions with --output-split-cfuncs ( #2368 ).
2020-08-23 22:21:40 -04:00
Wilson Snyder
917d3b0fb3
Support virtual class
2020-08-23 20:27:25 -04:00
Wilson Snyder
3d073c9534
Fix class extends to use virtual destruction
2020-08-23 20:00:39 -04:00
Wilson Snyder
20206b1e2e
Support simple class extends.
2020-08-23 19:37:56 -04:00
Wilson Snyder
1dce6b2500
Support $stable
2020-08-23 11:34:19 -04:00
Wilson Snyder
d2fac4aa2f
Internals: Add --debug-exit-uvm
2020-08-23 09:05:18 -04:00
Wilson Snyder
132cc1d068
Parser: Move timing control unsupported message
2020-08-23 08:56:35 -04:00
Wilson Snyder
f4a72946eb
Support $urandom, $urandom_range without stability.
2020-08-23 08:42:50 -04:00
Wilson Snyder
e10156548d
Fix GCC warnings
2020-08-23 07:19:20 -04:00
Wilson Snyder
4e6d2cfe38
Fix class constructor error on assignments to const.
2020-08-22 22:44:00 -04:00
Wilson Snyder
7f3a73e314
Fix naming of "id : begin" blocks.
2020-08-22 22:21:37 -04:00
Wilson Snyder
8455ee7091
Optimize one-statement fork/join into begin
2020-08-22 20:04:02 -04:00
Wilson Snyder
9702d11657
Support class extern.
2020-08-22 19:46:21 -04:00
Wilson Snyder
decbf79f39
Convert unnamed error to new PKGNODECL error.
2020-08-22 19:42:21 -04:00
Wilson Snyder
2d7d2c5992
Fix false DECLFILENAME on black-boxed modules ( #2430 ).
2020-08-22 16:56:21 -04:00
Wilson Snyder
2abbd5c145
Convert unnamed error to new PKGNODECL error.
2020-08-22 16:37:49 -04:00
Wilson Snyder
583605b218
Parser: Move extern decl unsupported message
2020-08-22 16:24:29 -04:00
Wilson Snyder
67fab0b4fc
Internals: Add missing package null test. No functional change intended.
2020-08-22 10:22:56 -04:00
Wilson Snyder
43213fcdc2
Fix GCC warnings
2020-08-22 07:44:22 -04:00
Yutetsu TAKATSUKASA
f632ea500c
Fix slice of unpacked array calculation (Issue #2506 ) ( #2507 )
...
Fixes Issue #2506 by shifting index as ArraySel does
2020-08-22 15:23:26 +09:00
Wilson Snyder
d7bc0ff5e5
Fix GCC warnings
2020-08-21 08:30:12 -04:00
Wilson Snyder
14604a24d6
Fix GCC warnings
2020-08-20 08:12:06 -04:00
Wilson Snyder
816c5e0dc9
Fix GCC warnings
2020-08-19 08:20:06 -04:00
Rupert Swarbrick
aa39d020d8
Fix build with Bison 3.7 and newer ( #2505 )
2020-08-18 12:12:52 -04:00
Wilson Snyder
b67f1f0e94
Fix GCC warnings
2020-08-18 08:10:44 -04:00
Wilson Snyder
f5546febe8
Fix OSX GCC register warning.
2020-08-18 08:02:50 -04:00
Wilson Snyder
ea9b65fe6d
Hardcode VM_C11 as always need C++11 now
2020-08-16 15:10:43 -04:00
Wilson Snyder
6013b54f7b
clang-tidy cleanups. No functional change intended.
2020-08-16 14:55:46 -04:00
Wilson Snyder
d75a8624c1
C++11: constexpr replacing defines. No functional change intended.
2020-08-16 14:19:12 -04:00
Wilson Snyder
ac04e85a1c
C++11: More range for. No functional change intended.
2020-08-16 12:54:32 -04:00
Wilson Snyder
78aee6f4e7
C++11: Use sized enums (+4% performance).
2020-08-16 12:05:35 -04:00
Wilson Snyder
ee9d6dd63f
C++11: Favor auto, range for. No functional change intended.
2020-08-16 11:44:06 -04:00
Wilson Snyder
034737d2a8
C++11: Use member declaration initalizations (in nodes). No functional change intended.
2020-08-16 11:44:06 -04:00
Wilson Snyder
72d2cff0a1
C++11: Use member declaration initalizations. No functional change intended.
2020-08-16 11:44:06 -04:00
Wilson Snyder
033e7ac020
C++11: Use member declaration initalizations. No functional change intended.
2020-08-16 11:44:06 -04:00
Wilson Snyder
042d3eed23
C++11: Use override where possible. No functional change.
2020-08-16 11:44:05 -04:00
Wilson Snyder
ea4031cbd3
C++11: Use delegating constructors. No functional change.
2020-08-16 11:44:05 -04:00
Wilson Snyder
c0127599df
C++11: Use nullptr. No functional change.
2020-08-16 11:44:05 -04:00
Wilson Snyder
7c54a451a9
C++11: Remove pre-c11 VL_OVERRIDE etc. No functional change.
2020-08-16 11:44:05 -04:00
Wilson Snyder
9927e8b3ee
clang-format uses C++11 style. No functional change.
2020-08-15 09:48:08 -04:00
Yutetsu TAKATSUKASA
953a442827
Support hierarchical verilation using protect lib ( #2206 )
2020-08-15 09:43:53 -04:00
Peter Monsson
4a5e4b04f3
Support $rose and $fell. ( #2148 ) ( #2501 )
2020-08-14 07:37:10 -04:00
Edgar E. Iglesias
5d98035170
Fix sc names ( #2500 )
...
cint.mainInt(nodep) walks the tree and populates m_ctorVarsVec.
Reuse EmitCImp cint for the slow mainImp() emition steps to make sure
we emit constructor calls to setup SystemC sc_module names.
2020-08-13 08:23:02 -04:00
Wilson Snyder
20c906261b
Fix casting non-self-determined subexpressions ( #2493 ).
2020-08-09 20:59:06 -04:00
Wilson Snyder
98cd925fda
Fix non-32 bit conversion to float ( #2495 ).
2020-08-06 21:56:43 -04:00
Julien Margetts
e53a522662
Fix protect lib VCS warning ( #2479 )
2020-08-04 17:07:40 -04:00
Wilson Snyder
2bc813da4a
Refactor and test VL_MULS_MAX_WORDS
2020-08-03 22:12:24 -04:00
James Hanlon
555408b5d3
Fix V3Unknown from running with flat XML output ( #2494 )
...
* Prevent V3Unknown pass from being run
Co-authored-by: James Hanlon <mail@jameswhanlon.com>
2020-08-03 11:44:47 -04:00
Yutetsu TAKATSUKASA
c85589371a
Fix protect-lib without sequential logic ( #2492 )
...
* add a test for protect-lib without sequential logic that cause the follwoing error.
%Error: obj_vlt/t_prot_lib_comb/secret/secret.sv:78:14: syntax error, unexpected ')'
78 | always @() begin
| ^
* protect-lib wrapper must contain sequential signal related statements
only if the protected design is a sequential logic.
Diff looks big, but actually just add "if (m_hasClk)" condition.
Signed-off-by: Yutetsu TAKATSUKASA <y.takatsukasa@gmail.com>
2020-08-01 07:16:15 -04:00
Peter Monsson
1280070abb
Support $stable ( #2488 )
2020-07-28 18:26:24 -04:00
Wilson Snyder
a52f975bd7
Fix combining different-width parameters ( #2484 ).
2020-07-26 17:54:23 -04:00
Wilson Snyder
0c70f0c786
clang-format
2020-07-26 17:50:31 -04:00
Piotr Binkowski
58739a0a99
Internals: add isProgram to AstModule ( #2470 )
...
This allows to check which AstModules were created from `program` keyword
2020-07-16 07:31:16 -04:00
Wilson Snyder
1488f9130d
Enable simple function localparams ( #2461 )
2020-07-15 19:31:19 -04:00
Wilson Snyder
bfea4b7f99
Fix arrayed interfaces, broke in 4.038 ( #2468 ).
2020-07-15 17:58:26 -04:00
Wilson Snyder
ce340658d6
Internals: revert ( #2467 )
2020-07-15 07:50:17 -04:00
Piotr Binkowski
a02c420064
Internals: separate AST class for program ( #2467 )
2020-07-15 07:39:58 -04:00
Wilson Snyder
fdb4d3a145
Fix coredump with UVM parse, caused by recent commit.
2020-07-11 20:32:27 -04:00
Wilson Snyder
ced1af8cb8
Parser: Move extends param class unsupported message
2020-07-11 19:53:41 -04:00
Wilson Snyder
f0a6e4c2b2
Parser: Move scoped id unsupported messages down out of parser
2020-07-11 19:11:58 -04:00
Wilson Snyder
9e5cd463e5
Parser: Move class parameter unsupported messages down out of parser
2020-07-11 18:39:01 -04:00
Wilson Snyder
bb8899f307
Internals: Rename AstPackageRef as may point to class.
2020-07-11 10:29:15 -04:00
Wilson Snyder
a500140f1d
Fix Bison 3.6 error messages
2020-07-10 21:54:58 -04:00
Wilson Snyder
75d255a3bf
Internals: clang-format
2020-07-10 18:08:04 -04:00
Wilson Snyder
0674267333
Parser: Test and handle semaphore, mailbox and process.
2020-07-09 20:04:22 -04:00
Geza Lore
1632160fb1
Internals: Remove redunand SenItem nodes ( #2457 )
2020-07-05 13:13:03 -04:00
Geza Lore
e609328ebb
Ensure VarRef inherits dtype when varp is set.
...
Inlining used to set some VarRefs to point to new Var nodes, without
updating the dtype of the VarRef to the dtype of the new Var.
AstNode::sameTree does identity comparison on the dtype, so some trees
that were semantically the same did not compare as such with sameTree
because of the dtype. This in turn results in some missed opportunities
for combining equivalent SenTree sensitivities when the clock came from
outside.
2020-07-05 16:09:22 +01:00
Yutetsu TAKATSUKASA
8291ef6537
Internals: Pass FileLine to findDotted() for error location ( #2455 )
...
* Pass FileLine so that findDotted() will be able to tell the error location though it is not used yet.
* reorder the parameter order. No functional change is intended.
2020-07-04 09:35:04 -04:00
Yutetsu TAKATSUKASA
30600bf1a3
Internals: Add const
2020-07-03 14:16:43 -04:00
Wilson Snyder
b968f57711
Suppress unsupported constraint, as implied by unsupported randomize.
2020-07-02 21:10:05 -04:00
Wilson Snyder
ee7b399bf5
Parser: Move 'static' unsupported messages down out of parser.
2020-07-02 21:02:49 -04:00
Wilson Snyder
50c28fa9d3
Parser: Move 'pure virtual' and 'extern' unsupported messages down out of parser.
2020-07-02 08:24:50 -04:00
Geza Lore
a17f51eac0
Improve V3MergeCond
...
- Do try to merge after assignment to condition when possible.
- Do not try to merge reduced form if not the expected statement.
This used to cause a crash.
2020-07-02 13:13:51 +01:00
Yutetsu TAKATSUKASA
cc50126ad3
Internals: Generalize V3Config to be able to set any module pragma. No functional change intended. ( #2451 )
2020-07-02 07:54:37 -04:00
Wilson Snyder
9d1a39a5e4
Parser: Move 'with' block unsupported messages down out of parser
2020-07-02 07:36:15 -04:00
Yutetsu TAKATSUKASA
82cc1a319f
Internals: Simplify condition in V3Dead.cpp. No functional change intended. ( #2454 )
2020-07-02 07:35:55 -04:00
Yutetsu TAKATSUKASA
2fd23458ce
Internals: Factor out making a make cmd string in Verilator.cpp. No functional change intended. ( #2453 )
2020-07-02 07:30:40 -04:00
Yutetsu TAKATSUKASA
271fa5fe3c
Internals: move parseParamLiteral() to AstConst . No functional change intended. ( #2452 )
2020-07-02 07:29:52 -04:00
Fan Shupei
04c96694e6
Add $writememb support ( #2450 )
2020-07-01 17:32:15 -04:00
Wilson Snyder
e7bd44561c
Parse dotted new
2020-07-01 07:39:37 -04:00
Wilson Snyder
4d5e448664
Parser: Move member qualifier unsupporteds out of parser.
2020-07-01 07:31:53 -04:00
Wilson Snyder
236c2141e3
Parser: Move 'with' block unsupported messages down out of parser
2020-06-30 21:37:11 -04:00
Wilson Snyder
0b09636c58
Support for-loop increments with commas.
2020-06-29 21:18:41 -04:00
Wilson Snyder
af197f2ceb
Parser: Move 'virtual class' block unsupported messages down out of parser
2020-06-29 21:03:14 -04:00
Wilson Snyder
748c818ccb
Parser: Move 'wait' block unsupported messages down out of parser
2020-06-29 20:39:39 -04:00
Wilson Snyder
ad55564905
Parser: Move disable fork and wait fork down into elaborate stage
2020-06-29 20:22:39 -04:00
Wilson Snyder
ad2cb45a14
Parser: Move unsupported error detection of 'this'/'super' down into link stage
2020-06-29 20:02:15 -04:00
Geza Lore
7342cf278a
Travis: Add 32-bit build on focal
2020-06-28 20:11:22 +01:00
Geza Lore
378d947702
Travis: Add FreeBSD build + portability fixes
2020-06-28 15:37:24 +01:00
Wilson Snyder
0af971292e
Commentary ( #2437 )
2020-06-27 22:35:31 -04:00
Geza Lore
5a4cc333fb
Travis: Add OS X build ( #2440 )
2020-06-22 10:13:54 +01:00
Ludwig Rogiers
f13fd4478c
Init params in constructor to support pre-c++11 compilers
2020-06-22 09:01:39 +01:00
Geza Lore
aa595d40de
Do not fold IF with 'bx condition before V3Unknown ( #2438 )
...
Fixes #2425
2020-06-20 04:16:07 +01:00
Yutetsu TAKATSUKASA
19c2906a64
Improve code coverage of V3SplitVar.cpp ( #2418 )
2020-06-13 04:45:47 -04:00
Ludwig Rogiers
c367b671b6
Support VPI parameter and localparam ( #2370 )
2020-06-12 18:38:01 -04:00
Geza Lore
fac89c5d62
Close trace on vl_fatal/vl_finish ( #2414 )
...
This is required to get the last bit of FST trace and close the FST file
properly on $stop or assertion failure.
2020-06-12 07:15:42 +01:00
Conor McCullough
f40f0464e2
Fix replaceMulShift optimization ( #2413 )
2020-06-11 07:42:25 -04:00
Yutetsu TAKATSUKASA
a7edf13d62
Fix V3SplitVar test stability ( #2408 )
2020-06-09 22:39:10 -04:00
Wilson Snyder
6e57076726
Support --bbox-unsup parsing of nested foreach.
2020-06-09 22:05:06 -04:00
Wilson Snyder
cef56c6fca
Support --bbox-unsup parsing of class extend typedefs
2020-06-09 20:59:45 -04:00
Wilson Snyder
91f30af01f
Fix --bbox-unsup crash from earlier commit.
2020-06-09 19:49:11 -04:00
Wilson Snyder
3c8953fec2
Fix $sformat with non-constant string first argument
2020-06-09 19:40:49 -04:00
Wilson Snyder
6de78d58fa
Add new UNSUPPORTED error code to replace most previous Unsupported: messages.
2020-06-09 19:20:16 -04:00
Wilson Snyder
d42f9c095b
Delay parsing of associative arrays until dtypes known.
2020-06-09 07:13:40 -04:00
Wilson Snyder
46e10173f8
Support --bbox-unsup parsing of class extern function/task.
2020-06-08 22:33:57 -04:00
Wilson Snyder
d84c7df38f
Internals: Reformat V3Options. No functional change.
2020-06-08 22:17:30 -04:00
Wilson Snyder
6e2d8df9e5
Tests: Add --debug-exit-parse
2020-06-08 22:10:55 -04:00
Wilson Snyder
3963a50aef
Internals: Refactor param array handling to use subroutine. No functional change intended.
2020-06-08 07:43:07 -04:00
Wilson Snyder
47f040a5fd
Internals: Do data type elaboration always as child node, before movement to symbol table.
2020-06-08 06:47:18 -04:00
Wilson Snyder
7b7a2e99e3
Internals: Misc parser cleanups.
2020-06-07 22:15:19 -04:00
Wilson Snyder
25397e7612
Author site: Don't rebuild revision if VERILATOR_NO_OPT_BUILD
2020-06-07 20:08:19 -04:00
Wilson Snyder
4984d19ae9
Support --bbox-unsup parsing :: referencing typedef in class
2020-06-07 19:59:03 -04:00
Wilson Snyder
305448ea86
Cleanup parser errors to identify packages by :: instead of symbol table
2020-06-07 16:54:25 -04:00
Wilson Snyder
4a1d18f0e9
Internals: Refactor parser pipeline to use deque. No functional change intended.
2020-06-07 15:35:36 -04:00
Wilson Snyder
30482f3eea
Internals: Add parser debug printer.
2020-06-07 14:07:15 -04:00
Wilson Snyder
b469feb44b
Fix some syntax error context by splitting internal parse and lex filelines
2020-06-07 13:45:50 -04:00
Wilson Snyder
466fd56d18
Move XML verilator tag handling into parser.
2020-06-07 13:09:18 -04:00
Wilson Snyder
1aaf3f3424
Internals: Rename parser functions called by lexer. No functional change intended.
2020-06-07 12:18:23 -04:00
Wilson Snyder
b5e4917405
Internals: Pass unconnected drive in parser token stream.
2020-06-07 12:08:12 -04:00
Wilson Snyder
140671300c
Internals: Pass parser celldefine state through FileLine. No functional change intended.
2020-06-07 11:58:53 -04:00
Wilson Snyder
820a4dbbdd
Internals: Pass fileline directly. No functional change intended.
2020-06-07 10:53:21 -04:00
Wilson Snyder
53d8ccd149
Internals: Move yyerror to parser. No functional change intended.
2020-06-07 10:31:42 -04:00
Wilson Snyder
418b36ea71
Internals: Pass fileline directly and avoid yyerror
2020-06-07 10:17:50 -04:00
Wilson Snyder
575c565e77
Internals: Refactor to decouple LinkDot from ParseImp. No functional change intended.
2020-06-07 08:23:01 -04:00
Wilson Snyder
01255082a6
Internals: Refactor to decouple LinkDot from ParseImp. No functional change intended.
2020-06-07 08:21:22 -04:00
Wilson Snyder
3798a472b5
Commentary: Indicate mid-rule parser actions.
2020-06-06 17:42:10 -04:00
Wilson Snyder
0e322e2e85
Fix segfault after pin unsupported error.
2020-06-06 16:17:41 -04:00
Wilson Snyder
5cd5c05c05
Support --bbox-unsup parsing of event control expressions
2020-06-06 15:54:44 -04:00
Wilson Snyder
933e796cc2
Support $swrite with arbitrary arguments
2020-06-06 14:47:54 -04:00
Wilson Snyder
ae701e014d
Support --bbox-unsup parsing of for with multiple increments
2020-06-06 13:55:15 -04:00
Wilson Snyder
3a0b8c8870
Fix parsing parameter type with assignment and no type keyword.
2020-06-06 13:44:45 -04:00
Geza Lore
dea0e6793f
Simplify V3SenTree.h. No functional change intended.
...
- Remove unused headers
- Simplify container functors
- SenTreeFinder need not be a Visitor
- Update comments
Line coverage should now be 100%
2020-06-06 17:30:32 +01:00
Wilson Snyder
4862916f39
Support --bbox-unsup parsing of 'constraint', 'dist', 'solve'
2020-06-06 12:08:36 -04:00
Wilson Snyder
870ec27b73
Support --bbox-unsup parsing of 'randomize'
2020-06-06 11:22:48 -04:00
Wilson Snyder
a21947d887
Support --bbox-unsup parsing of 'with'
2020-06-06 11:11:23 -04:00
Wilson Snyder
893dee3434
Support --bbox-unsup parsing of forward defed class calls
2020-06-06 10:21:16 -04:00
Wilson Snyder
f083805ab5
Support --bbox-unsup parsing of parameterized classes
2020-06-06 10:06:32 -04:00
Wilson Snyder
7067afde5d
Support --bbox-unsup parsing of foreach(this.foo)
2020-06-06 09:43:13 -04:00
Wilson Snyder
1eaec2aa8a
Support --bbox-unsup of $cast
2020-06-06 09:30:11 -04:00
Wilson Snyder
da01810d98
Internals: Add UNSUP tokens from VParseBison and sort lists. No functional change.
2020-06-06 09:09:26 -04:00
Wilson Snyder
4c7d5a1dc0
Fix --bbox-unsup to bypass more parser unsupported errors.
2020-06-06 08:50:47 -04:00
Wilson Snyder
d15e3d93c4
Internals: Reindent and move parser code. No functional change.
2020-06-06 08:44:44 -04:00
Geza Lore
4a404bd92e
Always mask LSB in V3Merge Cond when mergin AstAnd
2020-06-06 00:17:59 +01:00
Wilson Snyder
ff41701ddc
Fix crash on undeclared packages.
2020-06-05 18:50:06 -04:00
Wilson Snyder
c5d61da5d2
Internal coverage: Fix coverage of tests that abort. No functional change intended.
2020-06-05 08:00:22 -04:00
Wilson Snyder
c83b1478e1
Internals: Ifdef out V3Combine incomplete dead code.
2020-06-04 21:55:00 -04:00
Wilson Snyder
3243651c63
Internals: Fix misc internal coverage holes. No functional change intended.
2020-06-04 21:40:40 -04:00
Wilson Snyder
7fe49de420
Tests: Tests to fix misc internal coverage holes.
2020-06-04 20:23:55 -04:00
Wilson Snyder
a433096d5a
Internals: Fix misc internal coverage holes. No functional change intended.
2020-06-04 19:49:39 -04:00
Tomasz Gorochowik
277dee109c
Fix Ariane issues with PostAdd nodes ( #2400 )
2020-06-03 12:50:24 -04:00
Wilson Snyder
ef71576825
Fix coredump from increment patch ( #2391 )
2020-06-03 08:30:49 -04:00
Wilson Snyder
c3271aa891
Fix duplicate VLCOVGEN short code
2020-06-02 21:42:24 -04:00
Geza Lore
1cf17b5e78
Fix unused variable.
2020-06-02 22:45:55 +01:00
Wilson Snyder
8b647f0977
Fix error on UNPACKED in parser. ( #1541 )
2020-06-02 08:00:37 -04:00
Wilson Snyder
4c31c5fab5
Fix unused variable.
2020-06-02 07:52:27 -04:00
Wilson Snyder
6ce878cb0d
Fix some clang-tidy warnings
2020-06-01 23:16:17 -04:00
Geza Lore
a67ba04c37
Remove dead code and some unused parameters
...
Found with CLion inspections
2020-06-01 17:49:42 +01:00
Wilson Snyder
ae448e5ef9
Fix older GCC compiler error.
2020-06-01 09:08:50 -04:00
Wilson Snyder
a57826b125
Line Coverage now tracks all statement lines, not just branch lines.
2020-05-31 15:52:17 -04:00
Geza Lore
656c460605
Add --dump-tree-addrids developer option
2020-05-31 20:21:55 +01:00
Geza Lore
95534fa5c5
Remove unused headers ( #2389 )
2020-05-31 20:21:07 +01:00
Wilson Snyder
611e8b10c6
Fix Verilog coverage to pass real column information
2020-05-31 09:05:10 -04:00
Geza Lore
6318a08056
Fix --dump-tree with sparse dumps.
...
"No changes since last dump!" is now only printed if the "last" dump was
actually performed and not skipped due to V3Option::dumpTreeLevel
settings.
2020-05-31 13:48:30 +01:00
Wilson Snyder
b60a92eed3
Fix pre-C11 compiler warning.
2020-05-30 21:11:37 -04: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
Geza Lore
18870f8b62
Remove remnants of long removed --trace-dups option
...
See #2385
2020-05-30 20:16:40 +01:00
Geza Lore
9712ceedd7
Internals: Remove empty statements. No functional change intended.
...
Remove stray semicolons, mostly by capturing them in macros accurately.
This removes a ton on lint warnings from CLion.
2020-05-30 19:13:18 +01:00
Wilson Snyder
2e32387e5c
Fix GCC false warning on array bounds. ( #2386 )
2020-05-30 13:47:53 -04:00
Wilson Snyder
b66877c9df
Internals: Refactor V3Expand newWordSel. No functional change intended.
2020-05-30 13:47:53 -04:00
Geza Lore
74a6f94e2b
Internals: Remove dead code
2020-05-30 17:20:23 +01:00
Wilson Snyder
35fc8b7259
Debug: Show column numbers in .tree files
2020-05-30 10:08:30 -04:00
Wilson Snyder
e591afd101
Disable over-sensitive debug dump.
2020-05-30 09:35:48 -04:00
Wilson Snyder
ef72c42aa7
Commentary
2020-05-29 19:58:59 -04:00
Wilson Snyder
fbc814b54a
Internal code coverage fixes
2020-05-29 19:35:54 -04:00
Wilson Snyder
4a8c7e869f
Fix coverage issue
2020-05-29 17:59:35 -04:00
Tomasz Gorochowik
a4a1c7a384
Fix swerv issues with Increment nodes ( #2380 )
2020-05-29 13:03:04 -04:00
Wilson Snyder
ebda8f866c
Cleanup codacity and missing consts.
2020-05-28 21:04:36 -04:00
Wilson Snyder
5089ac6119
Remove VL_ULL as ULL now in MSVC & C++11
2020-05-28 20:32:07 -04:00
Wilson Snyder
279f21bb5b
Configure now enables SystemC if it is installed as a system headers.
2020-05-28 18:51:46 -04:00
Wilson Snyder
773ed97504
Internals Most VerilatedLockGuard can be const. No functional change intended.
2020-05-28 18:23:46 -04: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
Wilson Snyder
15f0f967b3
Fix uninit variable warning
2020-05-28 17:33:44 -04:00
Wilson Snyder
c5da38206e
Fix configure over-disabling warnings.
2020-05-27 08:45:11 -04:00
Wilson Snyder
978c35995a
Support const cast (ignored since not linting const yet)
2020-05-26 20:44:20 -04:00
Wilson Snyder
2af7f2fa18
Internals: Parser cleanup of cast.
2020-05-26 20:29:54 -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
Stefan Wallentowitz
68a2ed6776
Fix output of loops on waiving ( #2355 )
...
When an unopt loop is waived, we also don't want the loop's example
path being plot.
Signed-off-by: Stefan Wallentowitz <stefan.wallentowitz@hm.edu>
2020-05-26 08:45:57 +02:00
Wilson Snyder
7f32d4dc45
Internals: Parser cleanup of expressions.
2020-05-25 21:51:05 -04:00
Geza Lore
7b683fe258
Use sane --output-split values by default to help large builds
...
--output-split is now on by default with value 20000.
--output-split-cfuncs and --output-split-ctrace now defaults to the
value of --output-split unless explicitly specified.
2020-05-26 01:22:10 +01:00
Geza Lore
72858175a2
Only emit VM_PARALLEL_BUILDS=1 iff --output-split caused a split.
...
Previously we set VM_PARALLEL_BUILDS=1 if the --output-split option was
provided. Now we only do it iff it actually causes a split.
2020-05-26 01:22:10 +01:00
Geza Lore
9d7086067c
Rework serial/parallel build mode
...
Instead of __ALLfast.cpp and __ALLslow.cpp, we now create only a single
__ALL.cpp and compile it with OPT_FAST, this speeds up small builds
where the C compiler does not dominate. A separate patch will follow
turning VM_PARALLEL_BUILDS on by default at a certain size.
Given this change to the build there is now no point in emitting both
fast and slow routines into the same .cpp file when --output-split is
not set as they will be just included in the same __ALL.cpp file. To
keep things simpler and the output easier to comprehend, V3EmitC has
also been changed to always emit the fast and slow files separately.
Also change verilated.mk to apply OPT_SLOW to all slow files, not just
ones called *__Slow.cpp. This change in particular ensures __Syms.cpp
is build as slow.
Part of #2360 .
2020-05-26 01:22:10 +01:00
Wilson Snyder
5bb1da88ed
Internals: Comment grammar continuations. No functional change.
2020-05-25 19:40:20 -04:00
Wilson Snyder
9969a60b34
Commentary
2020-05-25 18:51:12 -04:00
Wilson Snyder
72402fa91e
Internals: Parser cleanup of parameters, second part.
2020-05-25 18:49:29 -04:00
Wilson Snyder
8255f3f9fe
Internals: Parser cleanup of parameters, first part.
2020-05-25 18:41:47 -04:00
Wilson Snyder
8957f77793
Internals: Refector needHeavy into methods. No functional change intended.
2020-05-25 15:34:24 -04:00
Wilson Snyder
f7249ad23a
Internals: AstRefDType points to AstTypedef instead of sub-dtype, in prep for future commits.
2020-05-24 14:22:06 -04:00
Vassilis Papaefstathiou
a7432bdea7
Support wide operands in queues and dynamic arrays ( #2352 )
2020-05-23 21:59:56 -04:00
Wilson Snyder
9ffad7f0db
Internal cleanups. No functional change intended
2020-05-23 21:57:08 -04:00
Yuri Victorovich
cff4b5a5ee
Fix WIFEXITED error on FreeBSD. ( #2351 ) ( #2353 )
2020-05-23 16:30:36 -04:00
Wilson Snyder
eda46e3949
Internals: Favor exprOrDataType where possible. No functional change intended.
2020-05-23 13:08:56 -04:00
Wilson Snyder
71651718d4
Internals: Track :: in AstDot parsing. No parsing change intended.
2020-05-23 12:44:15 -04:00
Wilson Snyder
da0cb44954
Internals: Refactor parsing id's up to parent rules. No functional change intended.
2020-05-23 12:19:43 -04:00
Wilson Snyder
57621a93ad
Internals: Move PLI errors into linker, and better test.
2020-05-23 11:55:34 -04:00
Wilson Snyder
6a882f9dc6
Internal code coverage improvements. No functional change intended.
2020-05-23 10:34:58 -04:00
Wilson Snyder
01f3e81a36
Internals: Parse extend/implements/etc using generic identifiers.
2020-05-21 21:31:15 -04:00
Wilson Snyder
3cb3b6c400
clang-format verilog.l. No functional change.
2020-05-21 19:46:21 -04:00
Wilson Snyder
8f58b58853
Internals: Parse using idAny where can to better detect id errors.
2020-05-20 23:29:37 -04:00
Wilson Snyder
b66826169d
Internals: Refactor inherits/extends parse so don't need type vs nontype IDs.
2020-05-20 23:10:45 -04:00
Wilson Snyder
d2a7376f14
Fix spacing. No functional change
2020-05-20 22:33:32 -04:00
Wilson Snyder
c9e8a1cb4d
Commentary
2020-05-20 20:31:57 -04:00
Geza Lore
d20a4db773
Fix regression due to early constant folding in +: and -: ( #2338 )
2020-05-18 18:46:00 +01:00
Stephen Henry
ba3930777a
Support display/scan %u/%z ( #2324 ) ( #2332 )
2020-05-18 08:10:32 -04:00
Geza Lore
9c054a5774
Optimize trace activity flags a bit more
...
- Improve flag pruning heuristic
- Set all trace activity flags in slow code. This in turns enables us
to remove checking the slow flag on the fast path.
2020-05-17 19:41:24 +01:00
Wilson Snyder
4773a1e77c
Misc internal coverage improvements.
2020-05-17 11:06:14 -04:00
Geza Lore
dc25e9b949
Optimize fine grained trace activity flags ( #2336 )
...
Firstly, we always use a byte array for fine grained activity flags
instead of a bit vector (we used to use a byte array only if we had
parallel mtasks). The byte vector can be set more cheaply in eval,
closing about 1/3 of the gap in performance between compiling with
or without --trace on SweRV EH1. The speed of tracing itself is not
measurably different.
Secondly, we prune the activity tracking such that if a set of activity
flag combinations only guard a small number of signals, we will turn
those signals into awayls traced signals. This avoids code which
sometimes tests dozens of activity flags just to subsequently check one
signal and dump it if it's value changed. We can just check the signal
state straight instead, and not bother with the flags. This removes
about 30% of activity flags in SweRV EH1, and makes both single threaded
VCD and FST tracing 8-9% faster.
2020-05-17 13:53:02 +01:00
Wilson Snyder
17e7da77f0
Misc internal coverage improvements.
2020-05-16 18:02:54 -04:00
Wilson Snyder
9c0c6439cc
Clean additional objects.
2020-05-16 13:28:03 -04:00
Wilson Snyder
d33d0301f8
Support verilator_coverage --write-info for lcov HTML reports.
2020-05-16 09:18:35 -04:00
Wilson Snyder
6fd7f45cef
Internals: Remove dead needHInlines code
2020-05-16 07:53:27 -04:00
Wilson Snyder
57a937df03
Misc internal coverage cleanups
2020-05-16 07:43:22 -04:00
Wilson Snyder
35a53d9adb
Add t_trace_c_api test.
2020-05-15 20:38:08 -04:00
Wilson Snyder
2885c2ce97
Fix coredump on countbits.
2020-05-15 19:29:17 -04:00
Geza Lore
900c023bb5
Refactor trace implementation to allow experimentation
...
The main goal of this patch is to enable splitting the full and
incremental tracing functions into multiple functions, which can then be
run in parallel at a later stage. It also simplifies further
experimentation as all of the interesting trace code construction now
happens in V3Trace. No functional change is intended by this patch, but
there are some implementation changes in the generated code.
Highlights:
- Pass symbol table directly to trace callbacks for simplicity.
- A new traceRegister function is generated which adds each trace
function as an individual callback, which means we can have multiple
callbacks for each trace function type.
- A new traceCleanup function is generated which clears the activity
flags, as the trace callbacks might be implemented as multiple functions.
- Re-worked sub-function handling so there is no separate sub-function
for each trace activity class. Sub-functions are generate when required
by splitting.
- traceFull/traceChg are now created in V3Trace rather than V3TraceDecl,
this requires carrying the trace value tree in TraceDecl until it
reaches V3Trace where the TraceInc nodes are created (previously a
TraceInc was also created in V3TraceDecl which carries the value).
2020-05-15 18:34:29 +01:00
Geza Lore
12b95f6b93
Clean up V3TraceDecl & V3Trace. No functional change intended.
...
- Constify variables
- Remove redundancies
- [Hopefully] make some code a bit more readable
2020-05-15 18:34:29 +01:00
Stephen Henry
1a0da2e4ec
Support multi-channel descriptor (MCD) I/O ( #2197 )
2020-05-14 18:03:00 -04:00
Huang Rui
68d7596adf
Fix compile error when using bison 3.6.1 ( #2320 )
...
Workaround issue: bison 3.6.1 generated unexpected nested-comment
Closes: https://github.com/verilator/verilator/issues/2320
Signed-off-by: Huang Rui <vowstar@gmail.com>
2020-05-13 19:18:56 -04:00
Wilson Snyder
f005b7fd87
Support scan %* format
2020-05-11 22:13:59 -04:00
Wilson Snyder
61e41595a2
Fix clang warning
2020-05-11 20:31:37 -04:00
Stephen Henry
484b574cef
Fix crash on self-referential enum type. ( #2319 )
2020-05-11 18:44:28 -04:00
Wilson Snyder
29695adf70
Fix 10s/100s timeunits.
2020-05-11 08:15:52 -04:00
Wilson Snyder
15f63d12d5
Fix message for seeded random.
2020-05-10 21:15:48 -04:00
Wilson Snyder
ba7b3fd60f
Support $display(,,).
2020-05-10 20:48:18 -04:00
Wilson Snyder
897b9ccfe2
Fix display of huge double.
2020-05-10 16:03:46 -04:00
Wilson Snyder
b97e1aa9fe
Support cast to string
2020-05-10 15:42:16 -04:00
Wilson Snyder
d4a631446b
Fix crash in unroller on increment-only while loops.
2020-05-10 15:26:41 -04:00
Wilson Snyder
8998ffc4e5
Support reporting some fork syntax errors.
2020-05-10 15:01:43 -04:00
Wilson Snyder
ca162716c6
Internals: clang-format
2020-05-10 14:29:15 -04:00
Wilson Snyder
12b903caf4
Improve error on using array.unique method.
2020-05-10 14:28:42 -04:00
Yossi Nivin
f9a0cf0cff
Support $countbits ( #2287 )
2020-05-10 14:27:22 -04:00
Wilson Snyder
070bcddf5a
Support unpacked array .sum and .product.
2020-05-10 12:48:33 -04:00
Wilson Snyder
feb1e2bd48
Commentary
2020-05-10 11:01:57 -04:00
Wilson Snyder
6e7ee23644
Internals: Code cleanups.
2020-05-09 15:00:46 -04:00
Wilson Snyder
c00cc18d37
Optimize dead code after gotos
2020-05-09 15:00:36 -04:00
Wilson Snyder
a7e17a8855
Fix double conversion on half of conditional.
2020-05-08 21:35:45 -04:00
Geza Lore
ac09ad3ffd
Minor improvements to DPI open array handling ( #2316 )
...
- Allow arbitrary number of open array dimensions, not just 3. Note
right now this only works with the array querying functions specified
in IEEE 1800-2017 H.12.2
- Issue error when passing dynamic array or queue as DPI open array
(currently unsupported)
- Also tweaked AstVar::vlArgTypeRecurse, which should now error or fail
for unsupported types.
2020-05-08 18:22:44 +01:00
Wilson Snyder
9375d9f603
Fix $isunknown with constant Zs.
2020-05-07 21:40:08 -04:00
Wilson Snyder
72bd91c7f1
Support $isunbounded and parameter $. ( #2104 )
2020-05-07 21:12:58 -04:00
Wilson Snyder
8850ca962e
Fix newish error to use standard parens to ref IEEE.
2020-05-07 21:12:58 -04:00
Wilson Snyder
5f7ae1fbce
wip
2020-05-07 21:04:26 -04:00
Wilson Snyder
b56a25e89c
Fix newish error to use standard parens to ref IEEE.
2020-05-07 18:21:11 -04:00
Geza Lore
6a54fb6f96
Modify std::multimap in V3Combine safely.
...
We used to iterate the m_callMmap std::multimap by getting limit
iterators from equal_range, but we also modify the same map in the loop
which invalidates those limit iterators. Note this only caused actual
problems if the new AstCCall inserted via 'addCall' in the loop had a
memory address (which is used as the key) which fell into the range
returned by equal_range, so was pretty hard to trigger.
2020-05-07 14:31:43 +01:00
Wilson Snyder
546ccd56c4
Internals: Enable future JumpGo to non-end. No functional change intended.
2020-05-06 21:33:05 -04:00
Wilson Snyder
ca77a93214
Add lint check for bad delay locations.
2020-05-06 19:25:13 -04:00
Yutetsu TAKATSUKASA
aa86e0bbc0
Support 'E', 'p', and 'P' when overriding floating point parameter. ( #2310 )
2020-05-06 07:45:07 -04:00
Wilson Snyder
b6b3482010
Internals: Use typ delay by default
2020-05-05 20:42:19 -04:00
Wilson Snyder
05aecd2c0b
Internals: Fix tabs in astgen. No effective functional change.
2020-05-05 20:33:35 -04:00
Wilson Snyder
6ab3d8f3ed
Internals: Refactor to add AstNodeProcedure. No functional change intended.
2020-05-05 19:12:36 -04:00
Wilson Snyder
7d7e67b49b
Show Verilog reference on V3Number asserts.
2020-05-04 19:57:21 -04:00
Wilson Snyder
a41ea180fa
Fix +: and -: on unpacked arrays. ( #2304 )
2020-05-04 19:40:50 -04:00
Wilson Snyder
8f64e4a76f
Support $root, #2150 .
2020-05-02 08:29:20 -04:00
Wilson Snyder
a6deee2083
Fix clock enables with bit-extends, #2299 .
2020-04-30 19:22:58 -04:00
Wilson Snyder
9fd4541069
Fix reduction OR on wide data, broke in v4.026, #2300 .
2020-04-30 17:53:54 -04:00
Geza Lore
849487da23
Modify --build to be a standalone option ( #2294 )
...
- Issue an error when --build is used together with --make
- When given --build, always use GNU Make to perform the build
- Update documentation (examples were good as they were)
- Remove the broken t_flag_build_cmake test
Fixes #2280
2020-04-30 12:54:50 +01:00
Geza Lore
209a585a68
Remove VL_NEGATE_{I,Q,E}, use C native unary '-' instead
...
This is to avoid slowing down -O0 models unnecessarily.
2020-04-30 01:05:52 +01:00
Geza Lore
aa9cde22c8
Use SIMD intrinsics to render VCD traces ( #2289 )
...
Use SIMD intrinsics to render VCD traces.
I have measured 10-40% single threaded performance increase with VCD
tracing on SweRV EH1 and lowRISC Ibex using SSE2 intrinsics to render
the trace. Also helps a tiny bit with FST, but now almost all of the FST
overhead is in the FST library.
I have reworked the tracing routines to use more precisely sized
arguments. The nice thing about this is that the performance without the
intrinsics is pretty much the same as it was before, as we do at most 2x
as much work as necessary, but in exchange there are no data dependent
branches at all.
2020-04-30 00:09:09 +01:00
Wilson Snyder
b44efe7ef7
Use 'suggest' for consistent wording.
2020-04-28 21:19:19 -04:00
Wilson Snyder
15ad3f46be
Fix logical not optimization with empty begin, #2291 .
2020-04-28 21:15:20 -04:00
Wilson Snyder
c6d1a9858a
Use clang-format 10.0.0
2020-04-28 18:47:59 -04:00
Wilson Snyder
910803e6db
Fix error on unpacked connecting to packed, #2288 .
2020-04-27 18:38:54 -04:00
Geza Lore
dd967f7769
Improve trace buffer memory utilization and performance.
...
Convert trace buffer to 32-bit entries, rather than a union containing a
pointer type. Also tweaked trace entry layouts for a bit more
performance. This gains another 10% on SweRV EH1 CoreMark.
2020-04-27 19:00:17 +01:00
Geza Lore
b79ef672e1
Various minor optimizations of VCD trace routines
...
- Change templated trace routines to branch table.
Removed templating from trace chgBus and fullBus and replaced them with
a branch table like the other there is a very small (< 1%) penalty for
this on SwerRV EH1 CoreMark, but this is less than the variability of
disk IO so it's worth it to keep the code simpler and smaller.
- Prefetch VCD suffix buffer at the top of emit*
- Increase ILP in VCD emit* routines
- Use a 64-bit unaligned store to emit the VCD suffix (on x86 only)
The performance difference with these is very small, but the changes
hopefully make this code more performance-portable across various
micro-architectures.
2020-04-27 18:44:53 +01:00
Wilson Snyder
70549e1a64
Internals: Parse lifetime directives; still unsupported.
2020-04-26 12:45:06 -04:00
Wilson Snyder
87e1c36e4a
Support event data type (with some restrictions).
2020-04-25 15:37:46 -04:00
Wilson Snyder
5e575f5906
Fix line numbers in tables.
2020-04-24 19:34:26 -04:00
Wilson Snyder
df52e481fb
Collected minor output code cleanups.
2020-04-23 21:22:47 -04:00
Wilson Snyder
f93ae707e0
Tests: Add bad option test.
2020-04-23 19:56:26 -04:00
Geza Lore
6ed10b7fde
Fix --protect-lib generated library link rules ( #2279 )
...
We used to include a .cpp file on the link line for the shared library,
which was ignored, but generated a .d file for the .so which contained
the header files required by the .cpp file. This then caused a rebuild
where we included the .d in verilated.mk to included in the .h headers
among the prerequisites of the .so, yielding a clang error about treating
.h files as c++-header rather than c-header... Long story short, we don't
do that anymore. This used t cause t_a4_examples to fail on occasion.
Note there is no need for a separate compilation rule for the
<--protect-lib>.cpp, as it will jsut pick up the standard OPT_FAST rule.
2020-04-23 17:30:23 -04:00
Wilson Snyder
7176aee852
Internals: Parse fork and delays, but then still report unsupported.
2020-04-22 21:31:40 -04:00
Wilson Snyder
77915f78db
Add experimental-only option.
2020-04-21 20:45:23 -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
James Hanlon
97cbc10925
Add --flaten for use with --xml-only ( #2270 ).
2020-04-21 18:14:08 -04:00
James Hanlon
65cd4f6047
Fix comment and add to CONTRIBUTORS ( #2270 ).
2020-04-21 18:11:53 -04:00
Wilson Snyder
15f7685755
Codacity cleanups. No functional change intended.
2020-04-20 21:43:05 -04:00
Wilson Snyder
def40fab9b
Internals: Rename VSigning
2020-04-19 21:19:09 -04:00
Wilson Snyder
9164eb03d5
Show that class parameters even if unused are unsupported.
2020-04-19 18:36:55 -04:00
Wilson Snyder
466535abdc
Support direct class member init.
2020-04-18 20:20:17 -04:00
Wilson Snyder
39d7cbf412
Fix arrayed instances connecting to slices, #2263 .
2020-04-17 19:30:53 -04:00
Wilson Snyder
e6f345e45d
Internal: clang-tidy fixes. No functional change.
2020-04-15 21:47:37 -04:00
Wilson Snyder
d4f7f5297a
Support IEEE time units and time precisions, #234 . ( #2253 )
...
Includes `timescale, $printtimescale, $timeformat.
VL_TIME_MULTIPLIER, VL_TIME_PRECISION, VL_TIME_UNIT have been removed
and the time precision must now match the SystemC time precision.
To get closer behavior to older versions, use e.g. --timescale-override
"1ps/1ps".
2020-04-15 19:39:03 -04:00
Yutetsu TAKATSUKASA
18412f9322
Add --build option to call make/cmake as subprocess ( #2249 )
...
* Add --build, -j, -MAKEFLAGS, and --no-verilate options
* Verilator: Can build on both gmake and cmake
2020-04-15 17:44:21 -04:00
Wilson Snyder
1883ab29cb
clang-format 10.0 forward compatibility. No functional change.
2020-04-15 17:36:57 -04:00
Geza Lore
1a64c7d232
Fix run-time formatting of variable wider than 1023 bits ( #2261 )
2020-04-15 17:26:15 -04:00
Wilson Snyder
f3308d236b
clang-format remaining sources. No functional change.
2020-04-15 07:58:34 -04:00
Wilson Snyder
1b94e3b0e2
Internals: clang-format files needed for #2249 .
2020-04-14 19:55:00 -04:00
Geza Lore
08b74e5ab9
Fix crash when formatting constant wider than 1023 bits ( #2260 )
2020-04-14 18:07:09 -04:00
Wilson Snyder
5c966ec510
clang-format many files. No functional change.
...
Use nodist/clang_formatter to reformat files that are now clean.
2020-04-13 22:52:23 -04:00
Geza Lore
dc5c259069
Improve tracing performance. ( #2257 )
...
* Improve tracing performance.
Various tactics used to improve performance of both VCD and FST tracing:
- Both: Change tracing functions to templates to take variable widths as
template parameters. For VCD, subsequently specialize these to the
values used by Verilator. This avoids redundant instructions and hard
to predict branches.
- Both: Check for value changes via direct pointer access into the
previous signal value buffer. This eliminates a lot of simple pointer
arithmetic instructions form the tracing code.
- Both: Verilator provides clean input, no need to mask out used bits.
- VCD: pre-compute identifier codes and use memory copy instead of
re-computing them every time a code is emitted. This saves a lot of
instructions and hard to predict branches. The added D-cache misses
are cheaper than the removed branches/instructions.
- VCD: re-write the routines emitting the changes to be more efficient.
- FST: Use previous signal value buffer the same way as the VCD tracing
code, and only call the FST API when a change is detected.
Performance as measured on SweRV EH1, with the pre-canned CoreMark
benchmark running from DCCM/ICCM, clang 6.0.0, Intel i7-3770 @ 3.40GHz,
and IO to ramdisk:
+--------------+---------------+----------------------+
| VCD | FST | FST separate thread |
| (--trace) | (--trace-fst) | (--trace-fst-thread) |
------------+-----------------------------------------------------+
Before | 30.2 s | 121.1 s | 69.8 s |
============+==============+===============+======================+
After | 24.7 s | 45.7 s | 32.4 s |
------------+--------------+---------------+----------------------+
Speedup | 22 % | 256 % | 215 % |
------------+--------------+---------------+----------------------+
Rel. to VCD | 1 x | 1.85 x | 1.31 x |
------------+--------------+---------------+----------------------+
In addition, FST trace size for the above reduced by 48%.
2020-04-14 00:13:10 +01:00
Wilson Snyder
dba88bae3c
Support class new.
2020-04-12 18:57:12 -04:00
Wilson Snyder
d4b6e2b2b5
Internals: NodeModule for packages.
2020-04-12 14:53:10 -04:00
Wilson Snyder
1e2d73fc80
Internals: clang-format and refactor taskref pin handling.
2020-04-12 08:26:14 -04:00
Wilson Snyder
ea3acc2d3a
Fix --skip-identical broke recent commit.
2020-04-11 20:22:57 -04:00
Geza Lore
8b2666cd04
Fix to make trace code allocation dense. ( #2250 )
...
This looks like a bits/bytes bug. The affected m_codeInc member
determines how many 32-bit words to allocate in a buffer used to store
previous values of the signal, but this was off by a factor of 8, so
we used to use too much memory.
SweRV VCD tracing speed +6.5% (excluding IO, clang 6.0), due mainly to
reduced D cache misses.
2020-04-11 16:00:43 +01:00
Wilson Snyder
afa8e4c786
Internals: Favor const_iterator. No functional change.
2020-04-11 10:54:42 -04:00
Wilson Snyder
1a6c2fc55d
Fix class members getting misoptimized away.
2020-04-10 21:10:21 -04:00
Wilson Snyder
15b40a97d9
Support `unconnected_drive
2020-04-09 23:26:03 -04:00
Wilson Snyder
343db78c03
Fix including verilated_sc in Syms to fix compile order problem exposed in #2237 .
2020-04-09 23:03:47 -04:00
Geza Lore
0cfa828572
Fix DPI import/export to be standard compliant, #2236 .
2020-04-07 19:07:47 -04:00
Wilson Snyder
4556b6c022
Fix clang warning.
2020-04-07 12:17:48 -04:00
Wilson Snyder
f13bd1aec4
Fix clang unused warning.
2020-04-06 08:53:19 -04:00
Wilson Snyder
b6c21ad21a
Fix duplicate traces with $dumpfile, part of #2237 .
2020-04-06 08:33:51 -04:00
Wilson Snyder
50535a1894
Internals: cppcheck 1.90 fixes. No functional change intended.
2020-04-05 18:57:47 -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
a331397954
Fix real conversion from constant with X/Z.
2020-04-05 11:56:15 -04:00
Wilson Snyder
a494ad5ec7
Support $ferror, #1638 .
2020-04-05 11:22:05 -04:00
Wilson Snyder
b617cd5549
Internals: Add V3ERROR_NA_RETURN. No functional change.
2020-04-05 10:26:53 -04:00
Wilson Snyder
e55338f927
Support $fflush without arguments, #1638 .
2020-04-05 10:11:28 -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
f6048cc9c1
Fix clang warning. No functional change.
2020-04-05 08:22:51 -04:00
Wilson Snyder
9fdb026e95
Add VM_C11 for future need of C++11
2020-04-04 20:48:03 -04:00
Wilson Snyder
bf17bb4648
Fix codacity warnings
2020-04-04 20:08:58 -04:00
Wilson Snyder
a13eab55f5
Internals: Add missing VL_DO_CLEARs. No functional change.
2020-04-04 13:06:31 -04:00
Wilson Snyder
19b472cf0b
Internals: Cleanup unused nodep in visitors. No functional change intended.
2020-04-04 08:31:14 -04:00
Wilson Snyder
38a31ae168
Cleanup misc clang-tidy warnings. No functional change intended
2020-04-03 22:31:54 -04:00
Wilson Snyder
c288a7bfb9
Add GCC10-style line number prefix when showing source text for errors.
2020-04-03 20:07:46 -04:00
Marco Widmer
7f9aa057bf
Support split_var in vit files ( #2219 )
2020-04-03 08:08:23 -04:00
Wilson Snyder
6f4a8fe695
Fix Travis-CI failures.
2020-04-02 09:22:10 -04:00
Wilson Snyder
aef2b7ea3c
Internals: clang-format cleanup. No functional change.
2020-04-02 08:25:44 -04:00
Wilson Snyder
dcde026bac
With --Wpedantic, report forward typedefs that are unused.
2020-04-02 07:39:14 -04:00
Wilson Snyder
926209706f
Report REALCVT on $display format mistakes.
2020-04-01 20:42:47 -04:00
Wilson Snyder
bd5d4c61c6
Suppress REALCVT for small whole real numbers.
2020-04-01 19:24:07 -04:00
Wilson Snyder
19abce5535
Suppress REALCVT for whole real numbers.
2020-04-01 18:43:53 -04:00
Wilson Snyder
ab058c85bf
Fix clang warning.
2020-04-01 12:40:49 -04:00
Wilson Snyder
e6beab4037
Fix implicit conversion of floats to wide integers.
2020-03-31 20:42:07 -04:00
Wilson Snyder
ebeb645539
Commentary
2020-03-30 20:09:55 -04:00
Wilson Snyder
5c72f01598
Fix assertions with unique case inside, #2199 .
2020-03-30 18:13:51 -04:00
Wilson Snyder
0cf44a9c4f
Internals: Refactor InsideRange common code. No functional change intended.
2020-03-30 18:12:50 -04:00
Sean Cross
1fe5d5db79
Fix mingw build ( #2215 )
...
* v3Os: include <windows.h> instead of <winnt.h>
The windows.h header file should be included prior to any other headers,
in order to ensure all definitions are available. By only including
some headers, such as winnt.h, many "undefined symbol" messages are
generated.
Include "windows.h" to fix the build on msys2 under mingw64.
Signed-off-by: Sean Cross <sean@xobs.io>
* configure: check for bcrypt and psapi on windows
These two libraries must be linked in order to have access to
BCryptGenRandom and GetProcessMemoryInfo respectively.
Signed-off-by: Sean Cross <sean@xobs.io>
2020-03-29 12:29:40 -04:00
Wilson Snyder
4145a38c47
Fix duplicate typedefs in generate for, #2205 .
2020-03-26 18:10:20 -04:00
Wilson Snyder
590b1853d0
Fix packages as enum base types, #2202 .
2020-03-24 17:57:12 -04:00
Wilson Snyder
1e0e51edd3
Fix parameter type redeclaring a type, #2195 .
2020-03-21 12:13:55 -04:00
Wilson Snyder
1ce360ed5b
Add SPDX license identifiers. No functional change.
2020-03-21 11:24:24 -04:00
Wilson Snyder
c2b49f0174
Internals: clang-format cleanups. No functional change.
2020-03-15 23:20:33 -04:00
Wilson Snyder
92d62a6568
Internals: clang-format cleanups for V3Inline. No functional change.
2020-03-15 22:30:20 -04:00
Wilson Snyder
5d9d1cc09f
Internals: Favor const_iterator (in a few obvious spots, more needed). No functional change.
2020-03-15 18:34:09 -04:00
Wilson Snyder
57068b95ef
Internals: Move code, no functional change.
2020-03-15 13:39:36 -04:00
Wilson Snyder
5f63b24c50
Change --quiet-exit to also suppress 'Exiting due to N errors'.
2020-03-15 08:09:51 -04:00
Wilson Snyder
81c659957e
Add column numbers to errors and warnings.
2020-03-14 22:02:42 -04:00
Wilson Snyder
ee8dd32c04
Check and document error format, #2191 .
2020-03-14 21:48:26 -04:00
Wilson Snyder
9f947bcb5f
Internals: Refactor flags in V3Undriven. No functional change intended.
2020-03-08 21:37:07 -04:00
Wilson Snyder
8ccc17f30b
Add setting VM_PARALLEL_BUILDS=1 when using --output-split, #2185 .
2020-03-08 09:03:29 -04:00
Wilson Snyder
808c958d42
Internals: Add AstNodeCCall and other items towards classes.
2020-03-07 12:52:11 -05:00
Wilson Snyder
961ac49c5c
Internals: Merge parse type from classes branch. No functional change intended.
2020-03-07 11:00:57 -05:00
Wilson Snyder
2d52f525c5
Add --structs-packed for forward compatibility, #1541 .
2020-03-07 10:51:06 -05:00
Wilson Snyder
e70cba77e6
Add support for dynamic arrays, #379 .
2020-03-07 10:24:27 -05:00
Wilson Snyder
8054fc47ea
Internals: Refectoring. No functional change intended.
2020-03-07 08:24:57 -05:00
Wilson Snyder
e673875b3b
Fix clang warning, last commit.
2020-03-06 07:31:56 -05:00
Wilson Snyder
29923b78fd
Internals: Use VL_TO_STRING instead of to_string.
2020-03-05 23:28:41 -05:00
Wilson Snyder
135cbcd79a
Internals: Move 'new' unsupported forward from parse into Ast.
2020-03-05 22:33:31 -05:00
Wilson Snyder
75ecad591a
Implement $displayb/o/h, $writeb/o/h, etc, Closes #1637 .
2020-03-05 21:49:25 -05:00
Wilson Snyder
fd656f6cc1
Fix clang asserted missing lock on m_dumping.
2020-03-03 19:20:04 -05:00
Wilson Snyder
a7e65379fa
Ignore $dumpflush, think causes travis thread error.
2020-03-02 17:56:42 -05:00
Wilson Snyder
905067d13f
Fix $dumpvar multithreaded assert, broke last commit.
2020-03-02 07:43:10 -05:00
Wilson Snyder
30a33a6104
Add support for and , #2126 .
2020-03-01 21:39:23 -05:00
Wilson Snyder
4878fe3a1f
Add split_var metacomment to assist UNOPTFLAT fixes, #2066 .
2020-02-28 19:15:08 -05:00
Wilson Snyder
68b6a0b667
Fix genblk naming with directly nested generate blocks, #2176 .
2020-02-25 22:21:16 -05:00
Wilson Snyder
5b83484f20
Remove dead genblk code & some cleanups.
2020-02-25 18:57:51 -05:00
Wilson Snyder
c9b74847d1
Docs: Tighter margins, save 10 pages.
2020-02-24 18:11:56 -05:00
Todd Strader
120f62fe85
Fix is probably to mark as a clock
2020-02-24 06:36:13 -05:00
Tobias Wölfel
18f8cd0529
Allow assert disable ( #2168 )
...
* Add +verilator+noassert flag
This allows to disable the assert check per simulation argument.
* Add AssertOn check for assert
Insert the check AssertOn to allow disabling of asserts.
Asserts can be disabled by not using the `--assert` flag or by calling
`AssertOn(false)`, or passing the "+verilator+noassert" runtime flag.
Add tests for this behavior.
Bad tests check that the assert still causes a stop.
Non bad tests check that asserts are properly disabled and cause no stop
of the simulation.
Fixes #2162 .
Signed-off-by: Tobias Wölfel <tobias.woelfel@mailbox.org>
* Correct file location
Signed-off-by: Tobias Wölfel <tobias.woelfel@mailbox.org>
* Add description for single test execution
Without this description it is not obvious how to run a single test from
the regression test suite.
Signed-off-by: Tobias Wölfel <tobias.woelfel@mailbox.org>
2020-02-15 18:17:23 -06:00
Wilson Snyder
f7bad37e88
Fix GCC 4.4.7 errors.
2020-02-08 07:09:41 -05:00
Todd Strader
77f1b3eef4
Support parameter access from arrays of interfaces, #2155 .
2020-02-06 19:19:23 -05:00
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
f3ebdc40c6
Fix some coverage lost when multithreaded, #2151 .
2020-02-03 18:43:41 -05:00
Wilson Snyder
2ca9f73b31
Internals: Cleanup Emit towards constructor/destructor output.
2020-02-02 21:15:07 -05:00
Wilson Snyder
73f5e3f808
Internals: Add missing const. No functional change.
2020-02-02 10:34:29 -05:00
Wilson Snyder
8d3dad510f
Fix unused variable.
2020-02-02 06:52:28 -05:00
Wilson Snyder
2576c136f6
Fix `pragma pedantic check to work with -E.
2020-02-01 22:03:18 -05:00
Wilson Snyder
a8ad97eef2
Add VL_CACHE_LINE_BYTES and use 64 as defult.
2020-02-01 20:28:03 -05:00
Wilson Snyder
ee7da1e690
Remove .h comments for empty sections.
2020-02-01 20:11:21 -05:00
Wilson Snyder
969a46faf6
Internals: V3Emit refactoring. No functional change intended.
2020-02-01 19:32:04 -05:00
Wilson Snyder
820df28ad9
Internals: V3CUse state refactoring. No functional change intended.
2020-02-01 19:11:19 -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
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
Wilson Snyder
2d195ebae5
Cleanup IEEE references.
2020-01-30 20:23:57 -05:00
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
5430e4ac9b
Cleanup more errors showing data types.
2020-01-26 15:54:57 -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
cac50282eb
Fix pattern replication without key.
2020-01-26 11:38:34 -05:00
Wilson Snyder
8a8f1135b7
Support type(expression) operator, #1650 .
2020-01-26 10:28:13 -05:00
Wilson Snyder
f0b2336345
Internals: Fix cell recursion with future module-in-module.
2020-01-25 18:15:55 -05:00
Wilson Snyder
52907e7b02
astgen: Preserve #line, #2138 .
2020-01-25 15:36:37 -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
eafed88a6e
Internals: Add assertions. No functional change intended.
2020-01-25 10:19:59 -05:00
Wilson Snyder
d64e6b3f9c
Internals: Refactoring towards classes. No functional change intended.
2020-01-25 09:33:43 -05:00
Wilson Snyder
d68ffba8cd
Internals: Rename to prefixNameProtect. No functional change intended.
2020-01-25 09:16:00 -05:00
Wilson Snyder
f0f370490f
Internals: Style cleanups.
2020-01-25 07:59:25 -05:00
Wilson Snyder
a4e8d39932
Spelling fixes
2020-01-24 20:10: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
Geza Lore
c5d04631d1
Internals: More performance efficient AstNode casting. Closes #2133 .
...
dynamic_cast can have large run-time cost, so here we implement type
tests for AstNode instances by checking the unique type() property, which
in turn is a constant generated by astgen. For leaf types in the AstNode
type hierarchy, this is a simple equality check. To handle intermediate
types, we generate the type ids of leaf types in a pre-order traversal of
the type hierarchy. This yields contiguous ranges of ids for sub-type
trees, which means we can check membership of a non-leaf type via 2
comparisons against a low and high id. This single patch makes Verilator
itself 6-13% faster (depending on which optimizations are enabled) on a
large design of over 250k lines of Verilog.
2020-01-22 19:07:48 -05:00
Pieter Kapsenberg
957c1d606b
Add detailed XML location to cell elements, #2134 , #2122 .
...
This was accidentally omitted from the previous PR #2122 .
2020-01-22 07:18:50 -05:00
Wilson Snyder
48dd358c03
Fix clang warnings from override.
2020-01-21 20:22:32 -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
d76b5b7823
Fix C++11 intrusion.
2020-01-21 19:45:44 -05:00
Yutetsu TAKATSUKASA
fbdf5f2dad
Internals: Mark all visit() with VL_OVERRIDE. Closes #2132 .
...
* Add VL_OVERRIDE macro so that compiler can tell my typo when trying to override a function.
* Mark visit() with VL_OVERRIDE. No functional change intended.
2020-01-21 17:35:56 -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
Wilson Snyder
abf3850d08
Internals: Misc cleanups for classes.
2020-01-20 16:53:27 -05: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
Wilson Snyder
0352ceea44
Internals: Refactor some emit code towards classes. No functional change intended.
2020-01-20 14:07:03 -05:00
Wilson Snyder
e8ff191a17
Internals: Prepare for hierarchical NodeModule's. No functional change intended.
2020-01-20 13:27:27 -05:00
Wilson Snyder
5ae09daf5b
Internals: Style cleanup. No functional change.
2020-01-20 11:56:08 -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
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
09199f79a6
Internals: Add VL_DO_CLEAR delete protections. No functional change intended.
2020-01-18 10:29:49 -05:00
Wilson Snyder
7024ea8cb6
Cleaner tristate error. #2117 .
2020-01-18 07:56:50 -05:00
Wilson Snyder
623c4ec103
Internals: Create VL_DO_DANGLING. No functional change intended.
2020-01-16 20:17:11 -05:00
Wilson Snyder
023526ad4b
Internals: Minor refactoring from class branch.
2020-01-15 20:18:12 -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
af38e8d387
Improve error on > 127 char modnames. #2106 .
2020-01-14 07:33:12 -05:00
Wilson Snyder
67bb0c78c8
Codacity fix.
2020-01-14 07:13:35 -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
98fb7ec193
Commentary.
2020-01-11 21:08:20 -05:00
Wilson Snyder
b71eb76252
For / allow 64-bit addressing.
2020-01-11 14:08:07 -05:00
Todd Strader
a15aa0b82b
Fix clang warning
2020-01-11 09:59:42 -05:00
Wilson Snyder
fe94f9891b
Add error on misused define.
2020-01-11 09:16:26 -05:00
Wilson Snyder
5f9ceb99a7
Cleanup spacing.
2020-01-10 21:37:53 -05:00
Wilson Snyder
2638f9db19
Error cleanups.
2020-01-10 19:18:27 -05:00
Wilson Snyder
1234c83953
Fix some C++11 requirements.
2020-01-10 07:07:21 -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
06247686c5
Codacy cleanups
2020-01-08 19:33:47 -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
Stefan Wallentowitz
37dc33a195
Deprecation ( #2088 )
...
* Add deprecation warning
* Deprecate -msg in configuration files
* Deprecate sc_clock
2020-01-03 17:27:51 +01:00
Stefan Wallentowitz
924fe235a9
No assign alias for unpacked public variables ( #2089 )
...
Public variables are all emitted in the C code and unpacked arrays
arrays are sliced up for this. After inlining public unpacked array
assignments should not be alias assignments but actual assignments, so
that they are sliced and hence emitted properly.
Fixes #2073
2020-01-03 13:44:45 +01:00
Stefan Wallentowitz
b7665a88db
Rename msg to rule in configuration files ( #2080 )
...
Rename the -msg switch to -rule in configuration files as it is more
clear.
resolves #2068
2019-12-30 19:15:43 +01:00
Stefan Wallentowitz
7b384f7eb7
XML: Add variable attributes ( #2079 )
2019-12-30 12:55:36 +01:00
Kuba Ober
7bbce51f7b
Add include guard to V3InstrCount.h. ( #2075 )
...
This is needed for cmake unity build to work.
2019-12-30 06:04:03 +03:00
Kuba Ober
ac1cdf7cdf
Implement APIs missing on Windows. ( #12 )
2019-12-28 19:44:24 +03:00
Wilson Snyder
c753904a3f
Internals: Copy into parser Verilog-Perl rules as comments. No functional change.
2019-12-24 16:15:48 -05:00
Wilson Snyder
8bd43d83b1
Internals: bisonpre should ignore commented BISONPRE lines.
2019-12-24 16:15:47 -05:00
Wilson Snyder
ea5b01d9f3
Internals: Rename pexpr. No functional change intended.
2019-12-24 16:04:28 -05:00
Wilson Snyder
f540dead79
Internals: new() support code, and misc stuff.
2019-12-24 12:47:27 -05:00
Wilson Snyder
40a847d613
Internals: Refactor some code. No functional change intended.
2019-12-24 10:23:43 -05:00
Wilson Snyder
37b9f254a2
Internals: Add origNameProtect. No functional change intended.
2019-12-24 08:47:30 -05:00
Wilson Snyder
c8daab3b46
Internals: Refactor some member handling. No functional change intended.
2019-12-23 20:48:23 -05:00
Wilson Snyder
5089f997cc
Internals: Use standard function for include guards. No functional change intended.
2019-12-23 19:00:17 -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
Wilson Snyder
0f0c3d4684
Internals: Copy into parser Verilog-Perl rules as comments. No functional change.
2019-12-23 16:27:07 -05:00
Wilson Snyder
bacbb4cafd
Parse join_any/join_none still as unsupported.
2019-12-23 15:19:22 -05:00
Wilson Snyder
2cbfe99ad5
Parse all class constructs, as still unsupported.
2019-12-23 15:03:04 -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
Wilson Snyder
49db4d2b66
Internals: Trivial spacing change to force CI rebuild. No functional change.
2019-12-22 20:02:37 -05:00
Wilson Snyder
b087673254
Fix output endif spacing. No functional change.
2019-12-22 18:21:43 -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
Kuba Ober
3f0e2f7d9d
Fix argument in AstConst.m_num.width. ( #9 )
2019-12-21 10:25:05 -05:00
Kuba Ober
c9ca390926
Fix missing <algorithm> header. Pull ( #8 )
2019-12-20 20:14:52 -05:00
Kuba Ober
4a31b69f84
Decrease the number of chained if-else blocks to fix MSVC build. Pull ( #7 )
...
MSVC has a limit of 128 blocks in a chain.
2019-12-20 20:07:50 -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
Wilson Snyder
9807025618
Fix infinite loop on some V3Ast internal errors.
2019-12-19 20:07:48 -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
Julien Margetts
cafb148a62
Commentary
2019-12-17 18:27:47 -05:00
Stefan Wallentowitz
d738501c01
Fix queues as statements, bug1641.
2019-12-17 06:08:41 -05:00
Wilson Snyder
53c6b7df63
Internals: Rename NodeClassDType. No functional change.
2019-12-16 22:46:09 -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
Wilson Snyder
2a1c57ada6
With -Wpedentic, warn about bad `pragma
2019-12-14 10:13:38 -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
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
bd0eadb311
Fix handling user-botch of %d to print real.
2019-12-08 22:48:44 -05:00
Wilson Snyder
62b0d15d2e
Add lint check for bad enum 4-state values.
2019-12-08 22:26:54 -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
Wilson Snyder
cda5c53cf9
Add BOUNDED warning and promote bounded queues to unbounded.
2019-12-08 15:56:49 -05:00
Wilson Snyder
81fc1d48a6
Fix gate lvalue optimization error, bug831.
2019-12-07 16:49:11 -05:00
Wilson Snyder
f330f16bf6
Internals: Additional debug dumps.
2019-12-07 16:41:34 -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
1a8b192e40
Unsupported on parameters in functions, bug1624.
2019-12-06 18:50:41 -05:00
Wilson Snyder
5c6d74cd80
Fix assertion on dotted parameter arrayed function, bug1620.
2019-12-04 19:25:45 -05:00
Wilson Snyder
8ef4097f00
Fix cppcheck warning.
2019-12-03 19:21:36 -05:00
Wilson Snyder
559852f60b
Add error when number missing value.
2019-12-02 20:21:24 -05:00
Wilson Snyder
b0669f3aca
Fix false unused message on __Vemumtab, msg3180.
2019-12-02 19:03:33 -05:00
Todd Strader
00979ede14
Fix overly aggressive --protect-lib check
2019-12-02 08:33:44 -05:00
Wilson Snyder
809a6de9cd
Fix template brackets to avoid C++11, bug1617.
2019-12-02 06:19:33 -05:00
Wilson Snyder
d65d8fda54
Optimize returns at end of functions.
2019-12-01 17:19:18 -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
6ae7f7b152
Last commit: Fix pattern mismatch crash.
2019-12-01 11:43:48 -05:00
Wilson Snyder
03026b63b9
Internals: Refactor huge pattern function. No functional change intended.
2019-12-01 11:03:53 -05:00
Wilson Snyder
38e586fabe
Internals: Misc refectoring for assoc/queues.
2019-12-01 06:09:58 -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
df192f2b61
Support / with warning.
2019-11-23 09:16:06 -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
Wilson Snyder
0f6b625db8
Fix hang on concat error, bug1608.
2019-11-19 19:23:40 -05:00
Wilson Snyder
f134ac4f2f
Black box some additional unsupported constructs.
2019-11-17 09:01:41 -05:00
Wilson Snyder
39eeda50c6
Internals: Rename MethodCall. No functional change.
2019-11-17 08:51:25 -05:00
Wilson Snyder
09ca4ce791
Internals: Assert proper AstArgs in place.
2019-11-17 08:43:04 -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
8ebe86e54b
Fix color assertion on empty if, bug1604.
2019-11-16 17:23:51 -05:00
Wilson Snyder
62af9dbed4
Fix member to method error messages.
2019-11-16 15:32:55 -05:00
Wilson Snyder
3eb0ff8aa0
Detect wrong number of args on method calls.
2019-11-16 15:18:57 -05:00
Wilson Snyder
ce5a70fbca
Internals: Split large method function. No functional change.
2019-11-16 14:40:45 -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
de7caad710
Fix signed wildcard comparisons.
2019-11-16 09:58:01 -05:00
Wilson Snyder
b1c14e485a
Fix capital S signed numbers.
2019-11-16 09:39:41 -05:00
Wilson Snyder
617424e04a
Internals: Fix cppcheck warning. No functional change.
2019-11-16 03:14:55 -05:00
Wilson Snyder
e9c4ffa04e
Fix for loop missing initializer, bug1605.
2019-11-15 18:24:55 -05:00
Wilson Snyder
21a380def0
Rework variable emit to prep for other data types.
2019-11-12 21:52:25 -05:00
Wilson Snyder
77e30d4920
Internals: Remove dead code. No functional change.
2019-11-12 18:55:16 -05:00
Wilson Snyder
98dcbc6b3e
Remove footprint comment when single threaded.
2019-11-11 22:21:37 -05:00
Wilson Snyder
e04bc16ffa
Codacity cleanup
2019-11-10 13:21:05 -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
fcb733e8d0
Fix clang warning.
2019-11-09 21:47:27 -05:00
Wilson Snyder
f87107e757
Tests etc: Cleanup some clang-format suggestions. No functional change.
2019-11-09 20:35:12 -05:00
Wilson Snyder
cf9f466f0a
Fix false uninit warning
2019-11-09 18:42:18 -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
704f40b1a2
Internals: Prep work for simulation of array parameters, bug1315. No functional change intended.
2019-11-09 15:27:10 -05:00
Wilson Snyder
c5f859c9a3
Internals: Format cleanup. No functional change.
2019-11-09 15:27:10 -05:00
Todd Strader
abe95f3ab3
Add interface port visibility in traces, bug1594.
2019-11-08 08:26:48 -05:00
Wilson Snyder
2eda38c4d1
Update URLs to https://verilator.org
2019-11-07 22:41:34 -05:00
Wilson Snyder
5811ec07e6
Update URLs to https://verilator.org
2019-11-07 22:33:59 -05:00
Wilson Snyder
f1b10e2b4c
Improve error messages on DIDNOTSETTLE, bug1556.
2019-11-06 19:47:34 -05:00
Wilson Snyder
c1a9ada279
Protect change request filenames.
2019-11-05 21:53:26 -05:00
Wilson Snyder
2aed499e00
Fix detecting missing reg types, bug1570.
2019-11-05 21:15:44 -05:00
Wilson Snyder
b2c5f8e74e
Commentary: No functional change.
2019-11-05 20:42:49 -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
cc4cb4e006
Avoid internal on unsupported; make tests more stable otherwise on internal.
2019-11-04 21:11:15 -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
c0c038c887
Remove false unoptimizable warning under debug
2019-11-02 11:15:08 -04:00
Wilson Snyder
8a5b8d5f38
Internals: Fix VFlagBitPacked giving 4-state types.
2019-11-01 20:10:45 -04:00
Wilson Snyder
ff0dd26fe5
Fix --trace-coverage with randReset.
2019-11-01 20:09:57 -04:00
Wilson Snyder
f781085755
Add --xml-output option.
2019-10-31 21:17:05 -04:00
Wilson Snyder
8f6efdaf5c
Allow both -MMD and --no-MMD, and --no/--skip-identical to override default
2019-10-31 20:59:52 -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
40bdd85a07
Fix minor output spacing issues.
2019-10-29 23:19:59 -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
Wilson Snyder
8f6015aad5
Fix copy-and-paste error in undriven checks.
2019-10-24 22:50:50 -04:00
Wilson Snyder
352adbed74
Codacy/Cppcheck cleanups.
2019-10-24 22:40:15 -04:00
Wilson Snyder
0cbfd29ac5
Codacy/Cppcheck cleanups and badge.
2019-10-24 22:19:46 -04:00
Wilson Snyder
9f977ed419
Codacy/Cppcheck cleanups and badge.
2019-10-24 21:48:45 -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
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
71fa09a25b
Fix bad-syntax crashes, bug1563.
2019-10-18 21:30:34 -04:00
Wilson Snyder
89c3c5f952
Internals: Style cleanup. No functional change.
2019-10-18 20:28:59 -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
Wilson Snyder
a7c2037b7a
Add --generate-key.
2019-10-09 18:53:30 -04:00
Todd Strader
da0da9e258
Add --protect-lib to create protected libraries, bug1490.
2019-10-09 06:47:26 -04:00
Wilson Snyder
2f28c5f5b4
Increase case duplicate/incomplete to 16 bit tables, bug1545.
2019-10-07 07:38:40 -04:00
Wilson Snyder
91f1acd85f
Add --protect-ids to obscure information in objects, bug1521.
2019-10-06 13:24:21 -04:00
Wilson Snyder
307549e8a6
Internals: Fix some cppcheck warnings.
2019-10-06 08:20:02 -04:00
Wilson Snyder
09b79a731a
Fix more output spacing issues.
2019-10-05 21:52:33 -04:00
Wilson Snyder
4544a2fd99
Fix extra declaration of trace() in submodules.
2019-10-05 20:16:33 -04:00
Wilson Snyder
e09c918198
Fix indentation broke in 977a767477.
2019-10-05 18:00:45 -04:00
Wilson Snyder
9bf6135f6d
Remove some output tabs.
2019-10-05 17:35:08 -04:00
Wilson Snyder
d472ef63e9
Internals: Cleanup some misnamed classes. No functional change.
2019-10-05 08:17:21 -04:00
Wilson Snyder
f1c04b5d25
Fix extra space in mtask comment. No functional change.
2019-10-04 22:54:57 -04:00
Wilson Snyder
1cf29c4d20
Fix truncation of comments, broke in f133c4d0b3.
2019-10-04 22:54:17 -04:00
Maarten De Braekeleer
977a767477
Avoid tabs in C output.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-10-04 21:10:53 -04:00
Wilson Snyder
771a301f66
Commentary: Remove newlines, upsets some patches. No functional change.
2019-10-04 20:17:11 -04:00
Wilson Snyder
a9954a71c3
Fix case statements with strings, bug1536.
2019-10-04 19:13:39 -04:00
Wilson Snyder
e1e45cf13c
Internals: Move option checks to notify().
2019-10-03 22:18:29 -04:00
Wilson Snyder
bd89c71694
Internals: Refactor to avoid V3Global requirements in V3String. No functional change intended.
2019-10-02 21:38:16 -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
Wilson Snyder
8b6fb26272
Return good exit status on --help.
2019-09-30 23:15:10 -04:00
Wilson Snyder
881362bb04
Fix clang compile warnings.
2019-09-30 21:55:31 -04:00
Wilson Snyder
239ef1ae6d
Fix misc bad-syntax crashes, bug1533.
2019-09-30 20:00:30 -04:00
Wilson Snyder
9eaec3b5c1
Fix misc bad-syntax crashes, bug1530.
2019-09-30 19:48:01 -04:00
Wilson Snyder
12fa085b26
Fix misc bad-syntax crashes, bug1529.
2019-09-30 19:22:14 -04:00
Wilson Snyder
a1405dac8e
Fix misc bad-syntax crashes, bug1532.
2019-09-30 18:50:27 -04:00
Wilson Snyder
f6e0e9adec
Internals: Use SHA256 instead of insecure SHA1.
2019-09-28 13:32:28 -04:00
Todd Strader
28b9db1903
Add AstVFile and AstTextBlock, towards bug1490.
2019-09-27 04:24:38 -04:00
Wilson Snyder
be4692772c
Ignore MCD fopenw with --bbox-unsup.
2019-09-26 23:37:22 -04:00
Wilson Snyder
4f315d9078
Fix ugly error on interface misuse, bug1525.
2019-09-25 21:53:01 -04:00
Wilson Snyder
f133c4d0b3
Fix mis-indenting AstComments with C++ symbols.
2019-09-24 19:07:22 -04:00
Wilson Snyder
8490046028
Internals: AstComment optional suppression of at. No functional change intended.
2019-09-23 18:44:45 -04:00
Lukasz Dalek
d6ac351dcb
Add --public-flat-rw switch, bug1511.
...
This switch exposes VARs, PORTs and WIREs to C++ code. It must be use
with care as it has a significant performance impact and may result in
mis-simulation of generated clocks. Anyhow, it is prefered over
--public and useful for VPI.
Signed-off-by: Lukasz Dalek <ldalek@antmicro.com>
Signed-off-by: Stefan Wallentowitz <stefan@wallentowitz.de>
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-09-23 07:56:07 -04:00
Wilson Snyder
900115bb2d
Fix false warning on backward indexing, bug1507.
2019-09-17 15:17:23 -04:00
Wilson Snyder
baa634343b
Fix config_rev revision detection on old versions.
2019-09-13 07:20:26 -04:00
Wilson Snyder
1471f5691a
Fix error on multidimensional cells, bug1505.
2019-09-12 19:06:26 -04:00
Wilson Snyder
e556269692
Commentary - Spelling fixes
2019-09-12 07:22:22 -04:00
Wilson Snyder
fa904f386c
Commentary - Spelling fixes
2019-09-09 07:50:21 -04:00
Todd Strader
c813026566
Make Syms file honor --output-split-cfuncs, bug1499.
2019-09-04 06:15:41 -04:00
Wilson Snyder
314cd92129
Support $fseek, $ftell, $frewind, bug1496.
2019-09-03 21:28:15 -04:00
Todd Strader
ec620387af
Add --dpi-hdr-only, bug1491.
2019-08-27 21:36:59 -04:00
Wilson Snyder
e1e4bde125
Remove old V3ClkGater code
2019-08-27 17:51:06 -04:00
Todd Strader
b947391662
Retain widthSized when simulating
2019-08-12 15:38:58 -04:00
Wilson Snyder
562b9551bf
Internals: Remove some unused arguments. No functional change intended.
2019-08-09 04:12:49 -04:00
Wilson Snyder
81e806e895
Fix elaboration time errors, bug1429.
2019-08-04 22:34:54 -04:00
Wilson Snyder
7d4958264a
Support arbitrary-argument $warning/$info etc
2019-08-04 21:50:08 -04:00
Wilson Snyder
429f463032
Don't check SYSTEMC environment, for part of CMake support, bug1363.
2019-08-04 20:21:58 -04:00
Wilson Snyder
b7bd5956ea
Concats should be unsigned
2019-08-04 14:48:17 -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
Wilson Snyder
a95f58749f
Fix internal error on gate optimization of assign, bug1475.
2019-08-03 21:49:39 -04:00
Wilson Snyder
9e58ede480
Internals: Rename V3Hashed functions for future commit. No functional change.
2019-08-03 19:05:59 -04:00
Wilson Snyder
6b798830c9
Fix spacing
2019-07-29 21:07:37 -04:00
Todd Strader
4a14788c9b
When showing an error, show the instance location
2019-07-26 12:52:38 -04:00
Todd Strader
43ce048f9e
Add rr support
2019-07-25 21:34:09 -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
97561bf064
When showing an error, show source code.
2019-07-14 21:42:03 -04:00
Wilson Snyder
a4820fc700
Misc minor error cleanups from show-source branch.
2019-07-14 20:59:56 -04:00
Wilson Snyder
ee469eedaf
Fix some errors reporting wrong objects.
2019-07-14 15:06:49 -04:00
Wilson Snyder
cbb9288cb1
Fix some errors reporting wrong objects.
2019-07-14 12:21:39 -04:00
Wilson Snyder
173efbc829
Offer suggestions on bad identifier errors.
2019-07-14 10:08:53 -04:00
Wilson Snyder
0fef3b02ec
Fix some parse tokens having wrong fileline.
2019-07-13 12:01:26 -04:00
Wilson Snyder
d1ee6689c4
Internals: Make V3LanguageWords a singleton.
2019-07-13 08:57:42 -04:00
Wilson Snyder
a7e5cccf33
In errors, single quote signals and other from-user data.
2019-07-11 22:36:32 -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
83cf1882de
Quote reserved word messages, and related internal cleanups.
2019-07-11 20:49:35 -04:00
Wilson Snyder
dacf45fea9
Fix error message continuations to avoid linenumber repetition
2019-07-11 19:15:40 -04:00
Wilson Snyder
13a20c5ee9
Internals: Fix inserted tabs.
2019-07-11 07:05:33 -04:00
Wilson Snyder
58dfe9d071
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-07-11 06:57:49 -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
4ce77d3e68
Header mentions public use.
2019-07-07 09:00:57 -04:00
Wilson Snyder
2ca418288d
Fix enum values not being sized based on parent, bug1442.
2019-07-06 16:26:44 -04:00
Wilson Snyder
bea34d0ced
Internals: Misc enum cleanups. No functional change.
2019-07-06 15:50:25 -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
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
7e54ff1b37
Additional lcov code coverage.
2019-07-05 22:30:19 -04:00
Wilson Snyder
a4b9745e6e
Fix lifetime opt dropping
2019-07-05 22:30:19 -04:00
Wilson Snyder
8612ba2b8d
Internals: Commentary and fix gate debug glibc warning
2019-07-05 22:30:19 -04:00
Wilson Snyder
01ef7122e9
Internals: Add lcov code coverage markers.
2019-06-30 22:37:03 -04:00
Wilson Snyder
ac43e7322b
Internals: Remove dead code.
2019-06-30 22:11:56 -04:00
Wilson Snyder
5cd531a5e0
Tests: Fix glib warning
2019-06-30 21:35:55 -04:00
Wilson Snyder
ec32a9b976
Tests: Close some test coverage holes.
2019-06-30 17:38:41 -04:00
Wilson Snyder
1aae6df669
Internals: Run graph self tests on --debug-self-test
2019-06-30 17:36:58 -04:00
Wilson Snyder
f7641d2ecc
Change MULTITOP to warning to help linting, see manual.
2019-06-30 16:46:48 -04:00
Wilson Snyder
d43e9aa2c5
Fix not in array context on non-power-of-two slices, msg2946.
2019-06-29 11:30:38 -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
6990db70fa
Avoid unique internal fileline in selftest.
2019-06-28 22:34:01 -04:00
Wilson Snyder
af5616c077
Fix line number in dup vars.
2019-06-28 22:34:01 -04:00
Wilson Snyder
8e7559c6c9
Show included-from filenames in warnings, bug1439.
2019-06-22 17:01:39 -04:00
Wilson Snyder
951521320a
Warnings: Suppress dup lines, and use lowercase note: to match gcc
2019-06-22 16:12:17 -04:00
Wilson Snyder
abc0eb92a0
Debug: Show only first line of suppressed warnings
2019-06-22 14:25:31 -04:00
Wilson Snyder
c514bb26e8
Always internal module wrapper TOP.
2019-06-22 13:43:49 -04:00
Wilson Snyder
5cb6474cc6
Fix not reporting some duplicate signals/ports, bug1462.
2019-06-22 12:43:48 -04:00
Wilson Snyder
34ef3c9c38
Internals: Assert V3Number ops have different pointers.
2019-06-15 08:10:17 -04:00
Wilson Snyder
90af180ec1
Fix constant function return of function var, bug1467.
2019-06-15 08:03:39 -04:00
Wilson Snyder
0d71c1154d
Fix overshift error to have user's source line.
2019-06-15 07:44:03 -04:00
Alex Chadwick
5da5e32e86
Fix --savable invalid C++ on packed arrays, bug1465.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-06-14 18:42:27 -04:00
Wilson Snyder
b6c905dffc
Move files into docs directory.
2019-06-13 07:19:44 -04:00
Wilson Snyder
79e9fbaeb7
Tests: Add additional .out files instead of expects.
2019-06-12 21:49:40 -04:00
Wilson Snyder
e713c8ce57
Fix not reporting some duplicate signals, bug1462.
2019-06-12 19:17:10 -04:00
Wilson Snyder
94ed817897
Fix debug over-verbosity.
2019-06-12 19:11:26 -04:00
Wilson Snyder
ff360738b5
XML: Remove extranious space on dtypes.
2019-06-12 07:19:14 -04:00
Wilson Snyder
f7f73a0825
Internals: Standardize internal FileLine filenames.
2019-06-12 07:00:56 -04:00
Wilson Snyder
77c2d49d1a
Internals: Move code out of verilog.y. No functional change.
2019-06-11 21:19:44 -04:00
Wilson Snyder
dd8d5ef687
Internals: Move code out of verilog.l. No functional change.
2019-06-11 21:03:03 -04:00
Wilson Snyder
cfb05cd70a
Whitespace cleanup. No functional change.
2019-06-11 20:20:04 -04:00
Todd Strader
6f2f668449
Fix dotted references to type parameter sizes, bug1458.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-06-11 19:00:24 -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
902ba752a3
Move many unsupported errors from lex to parser so can --bbox-unsup ignore them.
2019-05-31 21:05:50 -04:00
Wilson Snyder
97d9de3dad
Support deferred assertions, bug1449.
2019-05-31 07:33:57 -04:00
Wilson Snyder
a58e7d94ec
Error continuation lines no longer have %Error prefix.
2019-05-30 20:30:59 -04:00
Wilson Snyder
c0be8bcefb
Internals: Remove some pointless V3Number temporaries. No functional change intended.
2019-05-29 23:18:47 -04:00
Wilson Snyder
8846b365f4
Fix some memory leaks in V3Const/V3Unroll.
2019-05-29 22:43:26 -04:00
Kanad Kanhere
72eb361131
Fix invalid XML output due to special chars, bug1444.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-05-29 18:41:03 -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
Kanad Kanhere
3411279294
Internals: Relocate quoteNameControls, part of bug1444.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-05-16 21:44:01 -04:00
Wilson Snyder
01725f662f
Fix $display with string without %s, bug1441.
2019-05-16 21:21:38 -04:00
Wilson Snyder
d841e68f4f
Fix parameter function string returns, bug1441.
2019-05-16 21:16:20 -04:00
Wilson Snyder
13ecb8e177
Fix fault on with %t, bug1443.
2019-05-16 19:35:10 -04:00
Wilson Snyder
c8849094fc
Fix spacing of last commit.
2019-05-14 22:05:37 -04:00
Wilson Snyder
afea6d84e3
Mark infrequently called functions with GCC cold attribute.
2019-05-14 22:03:50 -04:00
Wilson Snyder
1fb0af7fba
Internals: Fix some -Wsuggest-attribute=const suggestions.
2019-05-14 21:46:19 -04:00
Wilson Snyder
8ad1a68420
Fix OSX compile issue with -Winvalid-noreturn, bug1440.
2019-05-14 20:51:28 -04:00
Todd Strader
d0fbdfac07
Add --quiet-exit, bug1436.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-05-14 06:47:51 -04:00
Wilson Snyder
7777d10e9b
Tests: Check for and remove trailing newlines
2019-05-13 19:47:52 -04:00
Wilson Snyder
07e6bc17db
Fix error message showing pointer
2019-05-13 19:31:00 -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
b23fc06388
Internals: Detab and fix spacing style issues in some include files. No functional change.
2019-05-07 23:30:24 -04:00
Wilson Snyder
f818ddc71c
Internals: Detab and fix spacing style issues in tests and scripts. No functional change.
2019-05-07 22:34:09 -04:00
Wilson Snyder
37c8cc82b2
Auto-extend and WIDTH warn on unsized X/Zs, bug1423.
2019-05-07 21:57:38 -04:00
Wilson Snyder
03ebd5554f
Fix table compile error with multiinterfaces, bug1431.
2019-05-06 19:33:54 -04:00
Wilson Snyder
c6650f88e1
Internals: Remove some uses of AstConst taking V3Number. No functional change intended.
2019-05-03 21:21:18 -04:00
Wilson Snyder
55a25674a2
Add --trace-fst-thread.
2019-05-02 20:33:05 -04:00
Wilson Snyder
1ff55c20e0
Support "'dx" constants, bug1423.
2019-05-01 20:02:28 -04:00
Wilson Snyder
3acb85a005
Fix FST enums not displaying, bug1426.
2019-05-01 19:18:45 -04:00
Wilson Snyder
08d041cb93
Add error when use parameters without value, bug1424.
2019-04-30 19:16:41 -04:00
Wilson Snyder
2582a83376
Unsupported error on select of concatenation
2019-03-13 19:52:23 -04:00
Wilson Snyder
0094cd7a81
Internals: Spacing fixes. No functional change.
2019-03-13 19:47:47 -04:00
Wilson Snyder
d9b33d74a4
Support void' cast on functions called as tasks, bug1383.
2019-03-10 15:12:20 -04:00
Wilson Snyder
539a773ea7
Add IGNOREDRETURN warning.
2019-03-10 14:57:01 -04:00
Wilson Snyder
b1831d7e33
Fix +1364-1995ext flags applying too late, bug1384.
2019-03-10 14:09:22 -04:00
Wilson Snyder
0eb75a41bb
Fix perl 5.38 warning.
2019-03-10 12:14:02 -04:00
Wilson Snyder
7bf3366041
Support .
2019-03-07 20:56:53 -05:00
Wilson Snyder
455c552132
Fix MSVC compile error, bug1406.
2019-03-04 20:29:01 -05:00
Wilson Snyder
ab3c6576ed
Report PORTSHORT errors on concat constants, bug 1400.
2019-02-27 21:06:07 -05:00
Wilson Snyder
8a43f41ed6
Fix $value$plus$args missing verilated_heavy.h.
2019-02-15 18:33:52 -05:00
Wilson Snyder
46be6d32c9
Add unsupported for loops error, msg2692.
2019-01-22 19:25:00 -05:00
Wilson Snyder
60f2f176a2
Fix DPI export void compiler error, bug1391.
2019-01-16 00:38:42 -05:00
Wilson Snyder
3a51e84ebc
For XML, fix extends, bug1372.
2019-01-13 20:59:15 -05:00
Wilson Snyder
a2a09253a2
Internals: Show static funcs.
2019-01-12 09:43:24 -05:00
Wilson Snyder
ef884143d1
Add circular typedef error, bug1388.
2019-01-12 09:33:57 -05:00
Wilson Snyder
62a7d713a7
Fix internal error on xrefs into unrolled functions, bug1387.
2019-01-06 17:38:27 -05:00
Wilson Snyder
aaf5b7c2c0
Fix uninitialized data in unroller, bug1386. [Al Grant]
2019-01-06 16:56:56 -05:00
Wilson Snyder
30aa180211
Internals: Use pushDelete for empty unrolls. Theoretical problem only.
2019-01-05 06:53:26 -05:00
Wilson Snyder
0d4270c979
Turn off temporary debug message.
2019-01-05 06:01:22 -05:00
Wilson Snyder
3505486ec8
Internals: Spacing; fix assertion
2019-01-05 05:46:37 -05:00
Wilson Snyder
0e1f8db0d1
Fix uninitialized data in verFiles.dat, bug1385.
2019-01-05 04:58:14 -05:00
Wilson Snyder
8a4aeddbb0
Copyright year update.
2019-01-03 19:17:22 -05:00
Wilson Snyder
e8636f987f
Fix missing too many digits warning, bug1380.
2019-01-03 19:03:27 -05:00
Wilson Snyder
0198a2e9f3
Fix error when no modules in , bug1381.
2019-01-02 18:38:49 -05:00
Wilson Snyder
db92ab47ba
For --xml, add additional information, bug1372.
2019-01-02 07:16:37 -05:00
Wilson Snyder
e01c9df35e
Fix error when pattern assignment has too few elements, bug1378.
2018-12-18 20:41:14 -05:00
Wilson Snyder
89fb57e54f
For --xml, add additional information, bug1372.
2018-12-12 22:12:31 -05:00
Wilson Snyder
8a3e9748b3
For --xml, add additional information, bug1372.
2018-12-10 19:11:35 -05:00
Wilson Snyder
66b23be746
For --xml, add additional modport information, bug1372.
2018-12-10 07:25:44 -05:00
Wilson Snyder
f0cdae129e
Removed --trace-lxt2, use --trace-fst instead.
2018-12-06 19:06:20 -05:00
Wilson Snyder
ede7236945
For --xml, add additional var information, bug1372.
2018-12-06 07:12:39 -05:00
Wilson Snyder
49edcbc2ac
Internals: Misc cleanup. No functional change.
2018-12-06 06:56:39 -05:00
Wilson Snyder
940dc98c66
Add CONTASSREG error on continuous assignments to regs, bug1369.
2018-12-01 10:12:10 -05:00
Wilson Snyder
49353784fd
Fix __Slow files getting compiled with OPT_FAST, bug1370.
2018-11-29 20:35:21 -05:00
Wilson Snyder
61e4b0a472
Add IMPORTSTAR warning on import::* inside scope.
2018-11-28 18:25:34 -05:00
Wilson Snyder
15af706286
Fix crash due to cygwin bug in getline, bug1349.
2018-11-26 19:09:08 -05:00
Wilson Snyder
5cc11839b5
Add PROCASSWIRE error on behavioral assignments to wires, msg2737.
2018-11-26 17:58:18 -05:00
Wilson Snyder
e0b2c46664
Internals: Function return values act as vars, not wires.
2018-11-25 19:50:53 -05:00
Wilson Snyder
ea61559ab5
Internals: Cleaner name for var. No functional change.
2018-11-25 19:10:18 -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
64f11251b6
Fix verilator_coverage not sorting output
2018-11-01 21:39:37 -04:00
Wilson Snyder
d396c55e34
In --xml-only show module_files and cells ala Verilog-Perl vhier, msg2716.
2018-11-01 19:53:26 -04:00
Wilson Snyder
45c9939a5e
Fix hang on bad pattern keys, bug1364.
2018-11-01 19:03:52 -04:00
Wilson Snyder
ad2929dff0
Support "ref" and "const ref" pins and functions, bug1360.
2018-10-30 20:50:09 -04:00
Wilson Snyder
14b48140bd
In --xml-only show the original unmodified names, msg2716.
2018-10-30 18:17:37 -04:00
Wilson Snyder
d464ce1477
Fix unneeded emit comment. No functional change.
2018-10-29 20:48:50 -04: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
06c7d8ce3b
Internals: Fix whitespace issues. No functional change, use -b to diff
2018-10-27 10:03:28 -04:00
Wilson Snyder
da1ebcb4e4
Add --pp-comments, msg2700.
2018-10-25 21:17:25 -04:00
Wilson Snyder
8dbfc940ba
Internals: Refactor comment parsing. No functional change intended.
2018-10-25 20:46:23 -04:00
Wilson Snyder
e0654dc218
Add --dump-defines.
2018-10-25 19:47:07 -04:00
Patrick Stewart
74a92e739f
Internals: Fix missing static. No functional change.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2018-10-24 19:40:07 -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
5ae1ce90ad
Internals: Refactor into cvtToHex function. No functional change.
2018-10-14 16:25:36 -04:00
Wilson Snyder
d87b9d25ca
Internals: Cleanup and standardize include order. No functional change intended.
2018-10-14 13:59:40 -04:00
Wilson Snyder
b7e4083e70
Internals: Cleanup temp string inserts for clang-tidy. No functional change.
2018-10-14 11:10:11 -04:00
Wilson Snyder
595419b370
Internals: Sort includes for clang-tidy. No functional change intended.
2018-10-14 07:04:18 -04:00
Wilson Snyder
442e4f35f0
Internals: Cleanup empty string constructors for clang-tidy. No functional change.
2018-10-13 23:06:36 -04:00
Wilson Snyder
e8b8b33ff6
Internals: Cleanup find with chars for clang-tidy. No functional change.
2018-10-13 22:28:59 -04:00
Wilson Snyder
e4d638c73d
Internals: Cleanup string casts. No functional change.
2018-10-13 22:02:39 -04:00
Wilson Snyder
b59c23d346
Move some unsupported syntax to parser for cleaner errors.
2018-10-11 21:57:07 -04:00
Wilson Snyder
08e650a2b4
Commentary
2018-10-11 21:00:29 -04:00
Wilson Snyder
97d89cce35
Move some unsupported syntax to parser for cleaner errors.
2018-10-08 22:18:09 -04:00
Wilson Snyder
cc45a3dd72
For --trace-fst, save enum decoding information, bug1358.
2018-10-08 07:21:22 -04:00
Wilson Snyder
41be66af95
Indent output C code '= {' blocks.
2018-10-07 21:23:45 -04:00
Wilson Snyder
1f344ac99e
Fix whitespace on trace function calls. Output changed, but no functional change.
2018-10-07 18:17:45 -04:00
Wilson Snyder
8b738c0022
Compute struct/union/enum names from surrounding typedefs.
2018-10-07 18:07:42 -04:00
Wilson Snyder
4cd01bc99a
Deprecate --trace-lxt2.
2018-10-06 14:13:38 -04:00
Wilson Snyder
1f5913a83c
Internals: V3Simulate refactoring prep for future work. No functional change.
2018-10-05 20:26:54 -04:00
Wilson Snyder
159c653b4b
Internals: V3Simulate refactoring prep for future work. No functional change.
2018-10-05 20:06:08 -04:00
Wilson Snyder
c5fee7c456
Fix flex warning
2018-10-04 20:51:20 -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
Sergi Granell
a5aa0e2b0a
Add GTKWave FST native tracing, bug1356.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2018-10-02 18:42:53 -04:00
Wilson Snyder
c9ee425ed5
Fix replication of 64-bit signal change detects.
2018-09-28 08:36:37 -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
a8519a7a53
Fix MinGW compile issues, msg2636.
2018-09-20 18:09:19 -04:00
Kevin Kiningham
b2ca4995ab
Fix Mac OSX 10.13.6 / LLVM 9.1 compile issues, bug1348.
2018-09-17 18:35:23 -04:00
Wilson Snyder
7876fe94ad
Fix Mac OSX 10.13.6 / LLVM 9.1 compile issues, bug1348.
2018-09-17 06:39:43 -04:00
Wilson Snyder
8c51b5a980
Docs: Add logo to PDF
2018-09-16 17:01:45 -04:00
Wilson Snyder
4f98f84da9
Fix duplicate symbol error on generate tri, bug1347.
2018-09-14 06:56:59 -04:00
Wilson Snyder
63a429dd64
pod2latex: Cleanup latex build in prep for logo
2018-09-13 20:06:10 -04:00
Wilson Snyder
9c3331927b
Fix man files misinstalling; cleanup mkinstalldirs
2018-09-13 19:09:35 -04:00
Wilson Snyder
3a6edae59d
Fix string ?: conditional type resolution, bug1345.
2018-09-12 19:20:15 -04:00
Wilson Snyder
75794e2eaa
Fix number parsing with newline after radix, bug1340.
2018-09-12 19:19:48 -04:00
Wilson Snyder
24efa6c19a
Fix compile error on tracing of string arrays, bug1338.
2018-09-08 01:16:07 -04:00
Wilson Snyder
ef5c31b4c9
Fix first clock edge and --x-initial-edge, bug1327.
2018-08-30 20:05:13 -04:00
johnjohnlin
acf4a3fa99
Add GTKWave LXT2 native tracing, bug1333.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2018-08-28 06:41:17 -04:00
Wilson Snyder
aaac5d4685
Support string.atoi and similar methods, bug1289.
2018-08-25 13:49:37 -04:00
Wilson Snyder
b02e353ad1
Internals: Fix VERILATOR_NO_OPT_BUILD, broken in recent commit.
2018-08-25 13:11:28 -04:00
Wilson Snyder
75f28fd446
Internals: Fix spacing of function calls. No functional change.
2018-08-25 09:52:45 -04:00
Wilson Snyder
f7b93c8718
Fix install test.
2018-08-25 07:55:48 -04:00
Wilson Snyder
789917cd06
Fix Ubuntu 18 warnings.
2018-08-24 18:47:38 -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
4d034d774d
Merge from master
2018-08-22 17:58:02 -04:00
Wilson Snyder
4627716aa4
Remove extra space in generated func call.
2018-08-21 18:14:32 -04:00
Wilson Snyder
847dbbbaf0
Fix function inlining inside certain while loops, bug1330.
2018-08-21 18:09:40 -04:00
Wilson Snyder
aabb7394c3
Merge from master
2018-07-23 19:05:17 -04:00
Wilson Snyder
d90064eaee
Change MODDUP errors to warnings, msg2588.
2018-07-23 18:57:34 -04:00
Wilson Snyder
ec8dbbffed
MAJOR: Add multithreaded model generation.
2018-07-22 20:54:28 -04:00
Wilson Snyder
0070520edb
Fix cppcheck warnings.
2018-07-22 20:41:46 -04:00
Wilson Snyder
e97dbf9537
Add UNOPTTHREADS, for threads branch.
2018-07-22 12:09:27 -04:00
Wilson Snyder
8ec8c0ea76
Merge from master
2018-07-18 22:43:22 -04:00
Wilson Snyder
dfe66a2b77
Fix whitespace after functions in generated files.
2018-07-18 22:42:05 -04:00
Wilson Snyder
a18d6c8159
Merge from master
2018-07-18 21:34:38 -04:00
Wilson Snyder
a0b09b6450
Remove tabs inside generated files/quotes.
2018-07-18 21:25:21 -04:00
Wilson Snyder
ca24357611
Fix gcc 4.4.7 compile errors
2018-07-16 20:38:31 -04:00
Wilson Snyder
78c16081a4
Assume most branches in bounds, and use branchpred for instruction estimation.
2018-07-15 22:35:44 -04:00
Wilson Snyder
e37dce9d85
Internals: Add new graph algs for future partitioning.
2018-07-15 22:09:27 -04:00
Wilson Snyder
43694ec87c
Continued... Show file and line info when possible on internal graph errors.
2018-07-14 20:44:43 -04:00
Wilson Snyder
22939d7473
Merge from master
2018-07-14 19:27:51 -04:00
Wilson Snyder
9e3a88c41d
Inability to write a file is typically user, not internal error.
2018-07-14 19:22:50 -04:00
Wilson Snyder
cf4bf9b7a5
Show file and line info when possible on internal graph errors.
2018-07-14 18:45:06 -04:00
Wilson Snyder
d065662afc
Internals: Add new UASSERT. Currently unused. No functional change.
2018-07-14 17:44:55 -04:00
Wilson Snyder
70e2538436
Internals: V3InstrCount now shows critical path only for branch. Still not used in develop-v4.
2018-07-14 17:31:36 -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
ea8b416e91
Internals: Rename recent template. No functional change.
2018-07-09 21:32:10 -04:00
Wilson Snyder
de81593e98
Internals: Template GraphAlg to allow const. No functional change.
2018-07-09 19:15:46 -04:00
Wilson Snyder
84562f98de
Internals: Add GraphWay methods for future graph algs. No functional change.
2018-07-08 22:01:16 -04:00
Wilson Snyder
5520759d9e
Internals: Track dpi import wrapper creation. No functional change.
2018-07-07 08:02:29 -04:00
Wilson Snyder
81ef9b5dd2
Internals: Add V3InstrCount, for threads branch.
2018-07-04 21:52:15 -04:00
Wilson Snyder
f3ed36840e
Update error, bug1322.
2018-07-04 17:09:59 -04:00
Wilson Snyder
4cd0310516
Update error, bug1322.
2018-07-02 09:11:20 -04:00
Wilson Snyder
8b245138ee
Merge from master
2018-07-01 21:48:18 -04:00
Wilson Snyder
4f962bddd8
Fix std:: build error, bug1322.
2018-06-28 18:55:36 -04:00
Wilson Snyder
e8a23cf8bc
Fix to ignore Unicode UTF-8 BOM sequences, msg2576.
2018-06-26 17:57:57 -04:00
Wilson Snyder
39ecfd9900
Internals: rank() public for future optimizers.
2018-06-26 17:57:57 -04:00
Wilson Snyder
d4b9b5aba6
Fix to ignore Unicode UTF-8 BOM sequences, msg2576.
2018-06-26 07:11:56 -04:00
Wilson Snyder
b1bf742544
Internals: rank() public for future optimizers.
2018-06-24 18:47:08 -04:00
Wilson Snyder
ebab30d864
Fix new reloop misinserting Vars
2018-06-24 11:22:56 -04:00
Wilson Snyder
ad4c8ee955
Add new reloop optimization for repetitive assignment compression.
2018-06-23 17:07:22 -04:00
Wilson Snyder
2edfe7b8a8
Internals: Ordering internals realigned with thread branch.
2018-06-22 23:01:50 -04:00
Wilson Snyder
3444dad9ce
Internals: Refactoring in prep for next commit. No functional change.
2018-06-22 22:56:58 -04:00
Wilson Snyder
b8842f7e55
Fix clocker attributes to not propagate on concats.
2018-06-22 19:46:27 -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
c1f2b2cf93
*Ordering Change*: Separate initial and settle when ordering. From threads branch.
2018-06-21 23:12:11 -04:00
Wilson Snyder
011e9f3b0a
Internals: Reorder some functions in prep for threads. No functional change.
2018-06-21 23:08:56 -04:00
Wilson Snyder
dddc51b75c
Internals: Rename templated types to be T_*. Use Euler hashing.
2018-06-21 21:14:38 -04:00
Wilson Snyder
5187096bf9
Merge from master
2018-06-21 20:29:24 -04:00
Wilson Snyder
d225e46e4a
Fix define argument stringification, broke since 3.914.
2018-06-21 08:19:59 -04:00
Wilson Snyder
dcf946b437
Rework V3LifePost to be similar to threading algorithm's.
2018-06-20 23:44:58 -04:00
Wilson Snyder
2a5123f318
Internals: Spacing change in prep for LifePost rewrite from branch. No functional change.
2018-06-20 20:24:11 -04:00
Wilson Snyder
1fad055286
Internals: Add TSP solver, for future threads branch.
2018-06-17 21:06:41 -04:00
Wilson Snyder
4c7a397dc4
Merge from master
2018-06-16 18:05:26 -04:00
Wilson Snyder
047a08c999
Internals: Clean some UASSERTs. No functional change.
2018-06-16 18:00:21 -04:00
Wilson Snyder
1d74657bbb
Internals: Remove dead code
2018-06-16 17:59:57 -04:00
Wilson Snyder
7085fdbc27
Internals: Refactor var sorting, merge from threads branch.
2018-06-16 07:45:30 -04:00
Wilson Snyder
4c9c39bd08
Merge from master
2018-06-16 07:32:32 -04:00
Wilson Snyder
65bb93a6c5
Add OBJCACHE envvar support to examples and generated Makefiles.
2018-06-15 07:13:18 -04:00
Wilson Snyder
6e7f28785e
Internals: Cleanup graph includes. No functional change.
2018-06-15 06:54:03 -04:00
Wilson Snyder
efb2801eeb
Internals: Add orderPreRanked. No functional change.
2018-06-14 20:29:54 -04:00
Wilson Snyder
9f5a4c9b22
Fix cppcheck warnings. No functional change intended.
2018-06-14 19:04:52 -04:00
Wilson Snyder
7fc565a1bd
Merge from master
2018-06-14 19:04:36 -04:00
Wilson Snyder
0eb1d0a84e
Fix cppcheck warnings. No functional change intended.
2018-06-14 18:59:24 -04:00
Wilson Snyder
5d26bca55c
Internals: Remove unneeded returns on asserts.
2018-06-13 18:05:00 -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
Wilson Snyder
adfb903469
Merge from master
2018-06-12 05:23:13 -04:00
John Coiner
3e739db7fa
Fix linear searches. bug1316.
2018-06-11 22:05:45 -04:00
James Hutchinson
f0ed4346b2
Fix to be in verilog 2005, bug1319.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2018-06-08 08:01:22 -04:00
John Coiner
94c8064798
Fix linear search; this is part of the fix for issue 1316.
2018-06-07 12:43:19 -04:00
Wilson Snyder
e4a79d643d
Fix error without nodep.
2018-05-29 20:03:58 -04:00
Wilson Snyder
27c7d0c95b
Merge from master
2018-05-29 20:02:07 -04:00
Wilson Snyder
cf0464c263
Internals: Cleanup V3EmitC common code. No functional change. From threads branch.
2018-05-29 19:55:42 -04:00
Wilson Snyder
05a8a9ee28
Remove NULL checks of this, as upsets some compilers.
2018-05-26 08:28:19 -04:00
Wilson Snyder
c253b7769e
Merge from master
2018-05-20 09:14:30 -04:00
Wilson Snyder
0efe343494
Renamed --profile-cfuncs to --prof-cfuncs.
2018-05-20 09:12:29 -04:00
Wilson Snyder
3d49136e27
Merge from master
2018-05-19 09:32:15 -04:00
Wilson Snyder
b6e8133a4d
When tracing, use scalars on single bit arrays to appease vcddiff.
2018-05-19 07:52:07 -04:00
Wilson Snyder
cd4e6b35b3
Internals: Standardize debug() function generation. No functional change intended.
2018-05-14 06:50:47 -04:00
Wilson Snyder
9ba6fc9279
Merge from master
2018-05-13 19:39:30 -04:00
Wilson Snyder
2c568603f6
Fix latex warning & misc Commentary
2018-05-13 19:21:08 -04:00
Wilson Snyder
05db8ce6c8
Internals: Move iterators to AstNVisitor to avoid null this.
2018-05-10 20:55:37 -04:00
Wilson Snyder
51422e3ee8
Fix parsing error on bad missing #, bug1308.
2018-05-09 18:32:12 -04:00
Wilson Snyder
489f58011b
Merge from master
2018-05-08 21:43:55 -04:00
Wilson Snyder
0ef3c10931
Pull some thread include changes from thread branch.
2018-05-08 21:43:32 -04:00
Wilson Snyder
f02b99c709
Merge from master
2018-04-30 20:36:26 -04:00
Wilson Snyder
c8ba51581f
Commentary
2018-04-30 20:34:52 -04:00
John Coiner
542cf9b6e1
Remove errant assert from V3Split
2018-04-13 06:54:53 -04:00
Wilson Snyder
8b954dc381
Additional debug prints
2018-04-12 22:00:34 -04:00
Wilson Snyder
2f7002c5ec
Merge from master
2018-04-10 22:11:49 -04:00
John Coiner
767ac2547d
Misc clang warning fixes.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2018-04-10 22:05:55 -04:00
Todd Strader
9219ddaece
Report interface ports connected to wrong interface, bug1294.
2018-04-04 21:03:43 -04:00
Wilson Snyder
c7c99d8553
Fix parsing "output signed" in V2K port list, msg2540.
2018-03-29 20:10:27 -04:00
John Coiner
422c915c1d
Fix a nondeterminism issue in the new V3Split
2018-03-29 14:03:18 -04:00
Wilson Snyder
1f04d17e77
Merge from master
2018-03-17 12:03:08 -04:00
Wilson Snyder
3963fe4384
Fix GCC-8 compile error.
2018-03-17 11:33:47 -04:00
Wilson Snyder
e49539fb4c
Internals: Put cell assigns near cell. No functional change intended except statement order.
2018-03-17 08:43:19 -04:00
Wilson Snyder
02f18fc21b
Merge from master
2018-03-15 23:31:59 -04:00
Wilson Snyder
1bcaaa0f0d
Internals: Cleanup V3Inst unused argument. No functional change intended.
2018-03-15 23:19:43 -04:00
Wilson Snyder
7922a1de28
Internals: Misc cleanups related to V3LinkDot. No functional change intended.
2018-03-15 19:46:05 -04:00
John Coiner
f55040a38b
Fix severe runtime performance bug in certain foreach loops.
2018-03-15 08:59:52 -04:00
Wilson Snyder
2d580e6939
Support IEEE 1800-2017 as default language.
2018-03-12 22:26:34 -04:00
John Coiner
fc48008c1c
Support
2018-03-12 16:44:01 -04:00
Wilson Snyder
5652867316
Merge from master
2018-03-11 10:42:44 -04:00
Wilson Snyder
c8cf2afb15
Support assert properties, bug785, bug1290.
2018-03-11 10:37:20 -04:00
Wilson Snyder
d08a91b71e
Fix GCC lint complaint of calling NULL->cloneTree. No functional change intended.
2018-03-10 17:44:17 -05:00
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
0a1b775ed6
Fix various small node leaks.
2018-03-10 14:10:41 -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
John Coiner
db1af07d72
On convergence errors, show activity.
2018-03-10 12:52:11 -05:00
John Coiner
ff82f75023
Add --no-debug-leak to reduce memory use under debug.
2018-03-10 12:18:19 -05:00
Wilson Snyder
22ff760f0b
Support calling system functions as tasks, bug1285.
2018-03-08 23:40:19 -05:00
Wilson Snyder
3dccd89c18
Fix missing include for gcc6.4
2018-03-08 21:46:20 -05:00
Tymoteusz Blazejczyk
9f52e23158
Fix verilator_coverage --annotate-min, bug1284.
2018-03-07 19:52:29 -05:00
Wilson Snyder
aed3307214
Enable GCC debug when in debug build
2018-03-03 20:43:14 -05:00
John Coiner
ef3c7bb6a2
Better optimize large always block splitting, bug1244.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2018-02-28 06:58:41 -05:00
John Coiner
0a887c29f1
Internals: Fix V3LifePost recording assignPre variables.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2018-02-28 06:57:08 -05:00
Wilson Snyder
e1410775fb
Fix CC warning with flex 2.5.35.
2018-02-28 06:34:03 -05:00
Wilson Snyder
f0ba17a19b
Merge from master.
2018-02-27 07:24:31 -05:00
John Coiner
a7a790416e
Internals: Fix passing bool as int. No functional change.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2018-02-27 07:16:16 -05:00
Patrick Stewart
fe5c4df079
Support trig functions (() etc), bug1281.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2018-02-26 04:25:07 -05:00
Wilson Snyder
1376e5de92
Fix pullup/pulldowns on bit selects, bug1274.
2018-02-10 19:08:07 -05:00
Wilson Snyder
7f5b1a402c
Internals: Part of last change, spacing.
2018-02-07 20:29:58 -05:00
Wilson Snyder
22573d238b
Internals: Fix GCC8 cppcheck warnings. No functional change.
2018-02-07 20:16:53 -05:00
Wilson Snyder
32859d9fc2
Fix GCC 8.0 issues
2018-02-07 18:58:21 -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
0ca0854cac
Fix compile error with --public and interface bind, bug1264.
2018-02-01 20:07:46 -05:00
Wilson Snyder
097107bd0b
Support 'assume' similar to 'assert', bug1269.
2018-01-31 07:33:10 -05:00
Wilson Snyder
b40b152b87
Fix missing edge type in xml output, msg2480.
2018-01-31 07:29:14 -05:00
Wilson Snyder
3c7fef68c0
Internals: Sort EmitXml visitors. No functional change.
2018-01-31 07:25:10 -05:00
Wilson Snyder
e3f137875b
Fix spacing of trace func decls. No functional change.
2018-01-29 19:04:37 -05:00
Wilson Snyder
71fcf45d73
Fix gate optimization out of memory, add --gate-stmts, bug1260.
2018-01-27 15:06:51 -05:00
Wilson Snyder
652b68a5a0
Fix compile error on public real parameters by suppressing, bug1261.
2018-01-24 22:30:30 -05:00
John Coiner
3e0401de1c
Misc harmless cleanups from thread branch.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2018-01-24 20:20:26 -05:00
Stefan Wallentowitz
c164024f38
Remove c++filt and fix status code of Makefile, bug1265
...
In the generated Makefile the linker output is piped through c++filt
which was very useful for older linkers. But unfortunately the status
code is lost during the piping. So when the make process is embedded
in a larger setup a failure will not manifest to the outside flow.
As modern linkers do the job of c++filt, this removes it from the
generated Makefile. It will also produce a proper status code then.
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2018-01-18 21:25:43 -05:00
Wilson Snyder
bd1f1e8699
Fix compile error on public real parameters by suppressing, bug1261.
2018-01-16 19:53:50 -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
49fe4d081c
Support DPI open arrays, bug909, bug1245.
2017-12-17 16:28:58 -05:00
Wilson Snyder
3054b36a8d
Internals: Avoid cleaning arrays in prep for openarrays.
2017-12-17 12:53:22 -05:00
Wilson Snyder
37a931feb4
Internals: Refactor some V3Task code in prep for openarrays. No functional change intended.
2017-12-16 15:46:21 -05:00
Wilson Snyder
bf3f111ca4
Internals: Move VLVF flags to common function. No functional change.
2017-12-16 10:07:15 -05:00
Wilson Snyder
9a2a5d3155
Internals: Unroll V3Width task processing, in prep for openarrays. No functional change intended.
2017-12-16 09:36:07 -05:00
Wilson Snyder
51787d68b9
Add error if always_comb has sensitivity list.
2017-12-13 19:49:37 -05:00
Wilson Snyder
33eb0db6f8
Fix resolving inline nested interface names, bug1250.
2017-12-13 19:42:49 -05:00
Wilson Snyder
a0b2727c59
Use power-of-two number of members to align structs
2017-12-11 19:16:49 -05:00
Wilson Snyder
d1b8f53711
Support DPI time and svLogicVal.
...
Note older version incorrectly assumed svBitVal even for logicals.
2017-12-09 20:17:37 -05:00
Wilson Snyder
ea91b10086
Internals: Add charIQWN. Proper capitalization.
2017-12-09 14:44:55 -05:00
Wilson Snyder
345657ab32
Workaround GCC/clang bug with huge compile times, bug1248.
2017-12-09 11:52:35 -05:00
Wilson Snyder
b11fa372b1
Fix constant propagation across DPI imports of inout strings.
2017-12-07 20:10:27 -05:00
Wilson Snyder
662ebece71
Support string len() method.
2017-12-07 19:57:11 -05:00
Wilson Snyder
6b6e8dc83e
Use VL_UNCOPYABLE in emitted code. No functional change intended.
2017-12-06 23:26:27 -05:00
Wilson Snyder
d215149c7c
Fix false ALWCOMBORDER on interface references, bug1247.
2017-12-06 21:29:10 -05:00
Wilson Snyder
895fc0911a
Support > 64 bit decimal $display.
2017-12-02 22:10:58 -05:00
John Coiner
f0217edef1
Internals: Keep a ptr to _eval in AstNetlist, make it easier to find.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2017-11-30 18:53:57 -05:00
Wilson Snyder
8f1798cc6f
Fix modport outputs being treated as inputs, bug1246.
2017-11-28 19:11:41 -05:00
John Coiner
631bda395d
Avoid duplicated scans of CFuncs.
...
Trace into non-entry-point functions (most of them) at their call
sites. We'll trace into entry-point functions (like eval) from their parent
scope. We must trace eval_ to reach the tree of calls beneath it.
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2017-11-28 18:38:19 -05:00
John Coiner
791d02a753
Internals: Remove dead code. No functional change.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2017-11-28 18:29:14 -05:00
Wilson Snyder
54b3f92951
Commentary
2017-11-28 18:21:43 -05:00
Wilson Snyder
45de0599d7
Commentary
2017-11-27 20:11:34 -05:00
John Coiner
331ecdc2e7
Commentary
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2017-11-27 19:23:55 -05:00
Wilson Snyder
38b0e8a777
Fix some clang-analyzer warnings
2017-11-25 15:41:49 -05:00
Wilson Snyder
ae9179f412
Fix partial slicing with pattern assignments, bug991.
2017-11-23 14:55:32 -05:00
Wilson Snyder
7369500bb7
Fix cppcheck warnings
2017-11-23 10:43:34 -05:00
Wilson Snyder
45702e319b
Support $size/$bits/etc on type references.
2017-11-23 10:17:56 -05:00
Wilson Snyder
813468bfe6
Work around bison 3.0 bug printing wrong debug token names
2017-11-23 09:50:15 -05:00
John Coiner
cb72390b57
Internals: Remove dead loop-related code in V3Order.cpp and V3OrderGraph.h
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2017-11-23 08:26:36 -05:00
John Coiner
71b2eeef67
Internals: V3GenClk should scan CFunc internals only at the CCall
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2017-11-23 08:21:20 -05:00
Wilson Snyder
57c8590b21
When resolving module names, only use defines if no other choice.
2017-11-22 18:44:19 -05:00
Wilson Snyder
f8ad0a0923
Fix false DECLFILENAME on recursive modules.
2017-11-21 22:01:28 -05:00
Wilson Snyder
7c443ab108
Fix error on "unique case" with no cases.
2017-11-21 21:52:37 -05:00
Wilson Snyder
0d645757e7
Less debug verbosity
2017-11-21 21:52:22 -05:00
Wilson Snyder
dd37c2ea86
Support $error/$warning in elaboration time blocks.
2017-11-21 21:10:42 -05:00
Wilson Snyder
d3032bfc21
Fix flex warning.
2017-11-21 21:10:14 -05:00
Wilson Snyder
bd6ecdfa6f
Fix mis-showing debug message.
2017-11-21 20:04:29 -05:00
Wilson Snyder
a579e9273b
Support self-recursive modules, bug659.
2017-11-18 17:42:35 -05:00
Wilson Snyder
21369bec95
Internals: Renames in prep for recursion. No functional change.
2017-11-18 17:40:10 -05:00
Wilson Snyder
d119d10569
Add BSSPACE and COLONPLUS lint warnings.
2017-11-15 20:19:12 -05:00
Wilson Snyder
38988c005c
Fix false unused warning on interfaces, bug1241.
2017-11-14 20:10:25 -05:00
Wilson Snyder
8cc4b588b2
Add error when driving input-only modport.
2017-11-14 19:50:31 -05:00
Wilson Snyder
12607abb33
Remove tabs from --xml output.
2017-11-13 18:24:18 -05:00
Wilson Snyder
562f17ea4b
Fix xml tags on typedefs.
2017-11-13 18:04:13 -05:00
Wilson Snyder
0aea9b7709
Update references to coverage.dat, msg2412.
2017-11-13 07:20:36 -05:00
Wilson Snyder
c0afe96b80
Fix addition of data types to --xml.
2017-11-09 18:04:16 -05:00
John Coiner
5c919cd0de
Fix null dereference crash in width process.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2017-11-09 07:43:30 -05:00
Wilson Snyder
f555c93c11
Add data types to --xml.
2017-11-08 21:27:15 -05:00
Wilson Snyder
cbb7cd16d0
Detect MSB overflow when under VL_DEBUG, bug1238.
2017-11-05 21:47:55 -05:00
John Coiner
6edaef9598
Internals: Fix debugging with null logicp() graphs.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2017-11-04 18:12:29 -04: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
add5cc8b56
Internals: Add VL_UNCOPYABLE to make classes uncopyable. No functional change intended.
2017-11-01 18:51:41 -04:00
Wilson Snyder
eb87232472
Fix stats critical fast path calculation.
2017-10-30 22:38:47 -04:00
Wilson Snyder
52c3031a82
Internals: Rename selfTest, no functional change.
2017-10-30 19:01:58 -04:00
John Coiner
df471e87eb
Internals: Break unnecessary dependencies in V3Order.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2017-10-28 13:31:04 -04:00
Wilson Snyder
ec6fae5d1a
Internals: Add const to same() methods. No functional change.
2017-10-28 10:26:34 -04: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
f91bac7b31
Rewrite include libraries to support VL_THREADED towards future threading
2017-10-26 21:51:51 -04:00
John Coiner
4e98d96755
Internals: Add const's. No functional change intended.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2017-10-26 18:42:50 -04:00
Wilson Snyder
c17c81254e
Internals: Use = delete via a macro for a bit of C++11 forward compatibility
2017-10-25 20:00:38 -04:00
Wilson Snyder
5ead61dc7b
Unify format of VL_DEBUG print messages
2017-10-24 22:56:58 -04:00
Wilson Snyder
32874fa848
Internals: Misc VCD code cleanups. No functional change.
2017-10-21 17:53:23 -04:00
Wilson Snyder
b90f383cfe
Add --threads option through to makefiles, unadvertised for now.
2017-10-21 16:41:43 -04:00
Wilson Snyder
eb65984368
Tests: Additional display merge tests. No functional change.
2017-10-21 13:50:31 -04:00
Wilson Snyder
f4b00d3c64
Call VL_PRINTF/vl_stop/vl_finish/vl_fatal through wrappers as hook for future MT use.
2017-10-19 19:40:51 -04:00
Wilson Snyder
cc0b780412
Internals: More use of unordered_map/set. No functional change intended.
2017-10-18 18:22:58 -04:00
Wilson Snyder
1372d62186
Remove duplicate class forward declarations.
2017-10-18 17:38:10 -04:00
Ahmed El-Mahmoudy
a69936de74
Spelling fixes
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2017-10-16 21:58:47 -04:00
Wilson Snyder
96f5f66c26
Move generated objects into bin/ to match --prefix installations
2017-10-14 16:09:02 -04:00
Wilson Snyder
bbed4d50ab
Fix clang and cppcheck warnings.
2017-10-14 14:51:57 -04:00
Wilson Snyder
4b7ee8267b
Slicing: Fix off-by-one error earlier this version.
2017-10-14 14:04:15 -04:00
Wilson Snyder
db8e8392fa
Fix MacOS portability, bug1230.
2017-10-14 09:00:39 -04:00
Wilson Snyder
5bc2f87d3e
Fix --skip-identical to handle closer timestamps looking at ctime.
2017-10-13 20:34:36 -04:00
Wilson Snyder
de35c90847
Fix float-conversion warning, bug1229.
2017-10-11 19:01:37 -04:00
Wilson Snyder
a1a8f17617
Internals: Add const's. No functional change
2017-10-10 20:24:10 -04:00
Wilson Snyder
12be852a43
Fix `` expansion of `defines, bug1227, bug1228.
2017-10-10 18:44:10 -04:00
Wilson Snyder
440fbef79b
Untabify examples. No functional change.
2017-10-10 07:18:01 -04:00
Wilson Snyder
e1f1c82d4e
Fix -E duplicating output, bug1226.
2017-10-09 21:08:50 -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
221e4ff6fe
Fix `` expansion of empty `defines, bug1225.
2017-10-07 14:09:33 -04:00
Wilson Snyder
fe80499f9c
Internals: Move preproc DEV expansion when in ifndef, cleanup prep for bug1225.
2017-10-07 14:09:31 -04:00
Wilson Snyder
d3d1f3ab60
Internals: Cleanup preproc in prep for bug1225. No functional change.
2017-10-07 14:09:17 -04:00
Chris Randall
264b888ef2
Add /*verilator tag*/ for XML extraction applications.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2017-10-06 07:33:52 -04:00
John Coiner
ba270e09a4
Add --no-relative-cfuncs and related default optimization, bug1224.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2017-10-05 18:18:11 -04:00
Wilson Snyder
8281ee1520
Optimize arrayed if assignments
2017-10-04 22:10:44 -04:00
Wilson Snyder
75aab4e9d2
Fix conditional slices and add related optimizations.
2017-10-04 21:27:34 -04:00
Wilson Snyder
b532a47e4a
Internals: Prep for V3Slice rewrite. No functional change intended.
2017-10-04 21:15:19 -04:00
Wilson Snyder
77a3d683e3
Fix unnecessary Vdly variables, bug1224 partial.
2017-10-03 21:26:42 -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
3d1012b73b
Allow disabling BLKLOOPINIT (Intentionally undocumented), part of last commit
2017-10-01 23:36:19 -04:00
Wilson Snyder
c98ad79e68
Allow disabling BLKLOOPINIT (Intentionally undocumented)
2017-10-01 23:23:02 -04:00
Wilson Snyder
82460b0da3
Commentary
2017-10-01 23:06:16 -04:00
Wilson Snyder
0bdc57a14a
Fix lost .tree debug file extensions in recent commit.
2017-10-01 22:17:37 -04:00
Wilson Snyder
33780a09df
Add --x-initial option
2017-10-01 21:31:40 -04:00
John Coiner
a9c9d5ca4b
Fix over-aggressive inlining, bug1223.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2017-10-01 18:02:58 -04:00
Wilson Snyder
ab07dbdb9d
Fix over-aggressive inlining, bug1223.
2017-10-01 18:00:27 -04:00
Wilson Snyder
6dd6750985
Remove empty _configure_coverage in emitted code.
2017-10-01 16:44:53 -04:00
Wilson Snyder
04ca6a4307
Fix compiler warning when WIDTH warning ignored on large compare.
2017-10-01 10:21:27 -04:00
John Coiner
c7cbe11ba4
Fix Ubuntu 17.10 issues, bug1223 partial.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2017-09-30 13:33:14 -04:00
Wilson Snyder
46e300b2c5
Add --getenv option.
2017-09-23 18:03:39 -04:00
Wilson Snyder
c693e52f6c
Fix false unused warning on line coverage objects
2017-09-23 18:00:44 -04:00
Wilson Snyder
c2e8062f84
Verilated headers no longer "use namespace std;"
2017-09-23 07:32:37 -04:00
Wilson Snyder
5d3fef21b0
Cleanup misc spacing and unneeded stuff in emitted headers.
2017-09-22 22:27:03 -04:00
Wilson Snyder
b64e1b4a49
Fix inverted sync/async message.
2017-09-22 18:57:53 -04:00
Wilson Snyder
89f414b185
Less verbosity for IEEE warnings in earlier commit this rev.
2017-09-21 22:07:49 -04:00
Wilson Snyder
47e13cfdf4
Optimize concat/replicate+replicate.
2017-09-21 21:05:42 -04:00
Wilson Snyder
48d3ce46d8
Commenary
2017-09-21 18:39:23 -04:00
Wilson Snyder
89c8449ec0
Support package export, bug1217.
2017-09-20 21:04:59 -04:00
Wilson Snyder
393b5d48b2
Better optimize Shift-And constructs.
2017-09-19 20:56:17 -04:00
Wilson Snyder
6006cdff2c
Fix wide array indices causing compile error.
2017-09-19 20:04:45 -04:00
Wilson Snyder
d6b10465f3
Improve more errors to note IEEE
2017-09-18 23:06:31 -04:00
Wilson Snyder
b3cf5c4f5f
Improve error to note common :: package errors
2017-09-18 22:54:54 -04:00
Wilson Snyder
3862f2f022
Note IEEE in 32 bit decimal oversized
2017-09-18 22:50:26 -04:00
Wilson Snyder
38ab22bf1d
Simplify VL_CONST_W macro generation for faster compiles.
2017-09-18 21:36:18 -04:00
Wilson Snyder
b06a329466
Fix GCC 4.4 false warning
2017-09-18 08:30:04 -04:00
Wilson Snyder
c5b24f3850
Internals: Remove dead code, bug1215.
2017-09-18 07:13:58 -04:00
Wilson Snyder
103b956581
Default to -O2 for Verilator itself, for 20%+
2017-09-17 23:25:20 -04:00
Wilson Snyder
63361fc56e
Add performance information to --stats file.
2017-09-17 22:52:57 -04:00
Wilson Snyder
1e9e334929
Internals: Name cleanup. No functional change.
2017-09-16 11:06:35 -04:00
Wilson Snyder
f30d71b0c5
Internals: Better prefetching for ~5%.
2017-09-16 07:55:48 -04:00
Wilson Snyder
fee4aba9ec
Internals: Fix GCC constant warnings.
2017-09-15 18:26:09 -04:00
Wilson Snyder
f1960273a0
Internals: Fix over-aggressive debug
2017-09-15 18:25:52 -04:00
Wilson Snyder
778564e63b
Compling: Turn on -Wextra when using --enable-ccwarn
2017-09-14 23:28:02 -04:00
Wilson Snyder
cf6a69da27
Internals: Fix some cast and fallthrough warnings. No functional change
2017-09-14 23:27:06 -04:00
Wilson Snyder
960b2ed023
Internals: Fix some shadow and other warnings. No functional change
2017-09-14 23:26:23 -04:00
Mike Popoloski
74420550e6
Fix .name connections on interfaces, bug1214.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2017-09-14 21:24:13 -04:00
Mike Popoloski
cb5887b376
Support module port parameters without defaults, bug 1213.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2017-09-14 21:20:20 -04:00
Wilson Snyder
41b40157d8
Fix non-colon array of interface modports, bug1212.
2017-09-14 21:15:56 -04:00
Wilson Snyder
b11b693c08
Fix constant function default parameters, bug1211.
2017-09-13 19:47:11 -04:00
Wilson Snyder
256eb4bba0
Support or/and/xor array intrinsic methods, bug1210.
2017-09-13 19:37:47 -04:00
Wilson Snyder
77804b4d38
Fix GCC noreturn compile error, bug1209.
2017-09-13 19:27:59 -04:00
Wilson Snyder
8c9ca7a1b3
Fix LITENDIAN warning on arrayed cells, bug1202.
2017-09-13 19:09:49 -04:00
Wilson Snyder
9d055f8c13
Fix ordering of arrayed cell wide connections, bug1202 partial.
2017-09-12 19:34:10 -04:00
Wilson Snyder
3dacd87dfb
Fix enum ranges without colons, bug1204.
2017-09-12 18:53:57 -04:00
Wilson Snyder
c28a6eef3b
Fix whitespace issues, bug1203.
2017-09-11 19:18:58 -04:00
Wilson Snyder
074689b5de
SystemPerl mode (-sp-deprecated) has been removed.
2017-09-07 21:08:49 -04:00
Wilson Snyder
39b787670b
Update keywords for C++11 etc, msg2325
2017-09-02 20:59:03 -04:00
Wilson Snyder
5f26b9ec66
Internals: Remove dead putAlign, bug1093.
2017-08-28 23:01:19 -04:00
Wilson Snyder
590ad964b1
Add assertion on bad formed lvalues, used to debug bug1187.
2017-08-13 18:08:44 -04:00
Wilson Snyder
d4595df8a4
Fix internal error on unconnected inouts, bug1187.
2017-08-13 18:08:24 -04:00
Wilson Snyder
7b642bcbb4
Support packed struct DPI imports, bug1190.
2017-08-11 19:07:47 -04:00
Wilson Snyder
88cf5e5d98
Fix realloc leak on out-of-memory
2017-07-12 18:54:27 -04:00
Wilson Snyder
70daadf987
Fix cpp-check warnings; support XML format 2
2017-07-06 20:25:59 -04:00
Wilson Snyder
9d5004db1c
Fix GCC 7 warnings.
2017-07-06 19:49:34 -04:00
Wilson Snyder
ea82bfcced
Fix GCC 6 warnings.
2017-07-06 19:07:23 -04:00
Wilson Snyder
c7a5ff5e82
Tests: Fix broken vgen test, commentary.
2017-06-20 19:10:18 -04:00
Wilson Snyder
abf2fcf820
Fix .* on interface pins, bug1176.
2017-06-20 18:40:18 -04:00
Wilson Snyder
644c22b08f
Fix extract of packed array with non-zero LSB, bug1172.
2017-06-06 20:06:23 -04:00
Wilson Snyder
c54024a5e6
Fix constant shifts by more than 32-bit numbers, bug1174 continued.
2017-06-05 21:15:31 -04:00
Wilson Snyder
97093fdf81
Fix power operator on wide constants, bug761.
2017-06-05 20:30:01 -04:00
Wilson Snyder
447d803800
Fix internal clang warnings.
2017-05-24 23:51:15 -04:00
Wilson Snyder
6b04901c4d
Fix testplusargs false width warning, bug1165.
2017-05-19 07:20:41 -04:00
Wilson Snyder
7fb29621c3
Fix interface functions returning wrong parameters, bug996.
2017-05-18 22:49:17 -04:00
Wilson Snyder
b032fce962
Support $value$plusargs with variables, bug1165.
2017-05-18 22:41:43 -04:00
Wilson Snyder
ce879122bb
Fix --assert with complex case statements, bug1164.
2017-05-17 20:15:40 -04:00
Todd Strader
2fa16708b7
Fix non-arrayed cells with interface arrays, bug1153.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2017-05-10 19:05:42 -04:00
Todd Strader
54bc8608e3
Add stack trace when can't optimize function, bug1158.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2017-05-09 18:54:15 -04:00
Todd Strader
706a7802cc
Fix non-cutable ordering loops on clock arrays, bug1009.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2017-05-09 08:05:21 -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
deb7a1c9c0
Fix non-arrayed cells with interface arrays, bug1153.
2017-04-28 20:03:38 -04:00
Wilson Snyder
96a5445d44
Support ports of array of reals, bug1154.
2017-04-28 06:10:14 -04:00
Wilson Snyder
d693065afb
Fix backwards array interface error message
2017-04-27 06:36:14 -04:00
Wilson Snyder
bdeee35669
Add warning on mis-sized literal, bug1156.
2017-04-26 18:34:01 -04:00
Wilson Snyder
c6a20a72f2
Turn off parser debug in optimized build, msg2203
2017-03-31 17:46:15 -04:00
Wilson Snyder
d7a54b3632
Fix nested structure parameter selects, bug1150.
2017-03-30 19:05:55 -04:00
Wilson Snyder
be6a3d0f10
Fix wreal not handling continuous assign, bug1150.
2017-03-30 18:32:37 -04:00
Wilson Snyder
e9125a3a22
Fix error on parameters with dotted references, bug1146.
2017-03-28 19:55:20 -04:00
Wilson Snyder
c27a60658f
Add error on duplicate pattern assignments, bug1145.
2017-03-23 18:15:03 -04:00
Wilson Snyder
8f2bc6e028
Patch to fix for bug1135.
2017-03-22 17:34:47 -04:00
Wilson Snyder
a6b78cbbee
Fix error on improperly widthed default function, bug984.
2017-03-21 19:27:42 -04:00
Wilson Snyder
182a7076fd
Fix missing error on interface size mismatch, bug1143.
2017-03-21 19:19:28 -04:00
Wilson Snyder
17a9b22dce
Fix cell ranges without colons.
2017-03-21 19:17:15 -04:00
Wilson Snyder
f190d12802
Internals: Avoid coredump debugging bug1135.
2017-03-21 18:22:32 -04:00
Wilson Snyder
b12dd526f9
Fix calling sformatf to display, and elab , bug1139.
2017-03-17 18:40:16 -04:00
Wilson Snyder
473d555dc1
Fix ugly interface-to-non-interface errors, bug1112.
2017-03-17 18:35:53 -04:00
Wilson Snyder
4aa088eb2f
Fix realpath compile issue on MSVC++, bug1141.
2017-03-15 20:08:19 -04:00
Wilson Snyder
8f8147d646
Fix internal error on interface arrays, bug1135.
2017-03-15 20:03:53 -04:00
Wilson Snyder
e637dd2390
Fix internal error on initializing parameter array, bug1131.
2017-03-06 07:20:30 -05:00
Wilson Snyder
c90960fc88
Fix LDFLAGS and CFLAGS not preserving order, bug1130.
2017-02-13 18:11:40 -05:00
Wilson Snyder
da86a1c9f2
Fix previous commit warning
2017-02-13 18:11:22 -05:00
Wilson Snyder
0adb789238
Add --relative-includes.
2017-02-09 18:33:18 -05:00
Wilson Snyder
15082a178b
Add -FI option to force includes,msg2146.
2017-02-09 07:44:36 -05:00
Wilson Snyder
ad3ea636d5
Fix 2009 localparam syntax, msg2139.
2017-01-26 22:41:32 -05:00
Wilson Snyder
e6d7e7e329
Version bump
2017-01-15 12:13:13 -05:00
Wilson Snyder
f942aba855
Support old-style (), bug467.
2017-01-09 19:19:21 -05:00
Wilson Snyder
2f34132275
Fix bad code when tracing array of structs, bug1122.
2017-01-06 18:44:37 -05:00
Wilson Snyder
663b2be065
Tests: bug1104, unsupported.
2016-12-21 21:00:40 -05:00
Wilson Snyder
a1e4d676c3
Fix parsing sensitivity with &&, bug934.
2016-12-21 18:23:14 -05:00
Wilson Snyder
6f28d21207
With --bbox-unsup, suppress desassign and mixed edges, bug1120.
2016-12-21 17:43:19 -05:00
Wilson Snyder
9b06310cbe
Fix internal error on unique casez with --assert, bug1117.
2016-12-03 14:49:51 -05:00
Wilson Snyder
77fe33e57f
Fix internal error on double-for loop unrolling, bug1044.
2016-11-29 20:40:58 -05:00
Wilson Snyder
2d0084308d
Internals: Convert AstNUser to non-pointer to avoid NULL call. No functional change intended.
2016-11-27 09:40:12 -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
6d644dc764
Internals: V3Width now iterates like others, replacing arg passing. No functional change intended.
2016-11-25 16:48:36 -05:00
Wilson Snyder
498f19a6a1
Use VERILATOR_INCLUDE in generated files to allow relocation.
2016-11-18 21:13:56 -05:00
Wilson Snyder
4078902543
Compiling: Fix flexfix adding new warning back in flex 2.5.35
2016-11-18 19:40:39 -05:00
Wilson Snyder
183cabc77d
Internals: Have cloning return node's type to avoid casts. No functional change.
2016-11-08 21:16:22 -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
1ae22e1365
Internals: Cleanup some casts. No functional change.
2016-11-06 11:39:09 -05:00
Wilson Snyder
b748ddfe06
Fix flex 2.6.2 bug, bug1103.
2016-11-06 08:14:05 -05:00
Wilson Snyder
e52f5f1b63
Internals: Remove extraneous castNode() calls. No functional change.
2016-11-05 10:06:43 -04:00
Wilson Snyder
bda4b326ab
Internals: Use mixed case for AstType enums. No functional change.
2016-11-05 09:47:56 -04:00
Wilson Snyder
70ddf32719
Fix error on referencing variable in parent, bug1099.
2016-11-05 08:37:18 -04:00
Stefan Wallentowitz
3edba7b662
Fix type parameters with low optimization, bug1101.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2016-11-04 22:58:21 -04:00
Wilson Snyder
f74ef650ac
Honor --output-split on coverage constructors, bug1098.
2016-10-23 14:27:57 -04:00
Wilson Snyder
f093c3d78b
Fix error on bad interface name, bug1097.
2016-10-22 08:05:27 -04:00
Wilson Snyder
1e4c3751e1
Support foreach, bug1078.
2016-09-19 22:00:13 -04:00
Johan Bjork
15495bb200
Improve Verilation performance on trace duplicates, msg2017.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2016-09-19 17:54:42 -04:00
Wilson Snyder
999f278971
Fix concats with wide width, bug1088 continued.
2016-09-16 18:54:28 -04:00
Wilson Snyder
2117fe414e
Fix error on wide numbers that represent shifts, bug1088.
2016-09-14 20:27:20 -04:00
Wilson Snyder
7d8c51181d
With --no-decoration also shrink output code indents.
2016-09-13 22:53:09 -04:00
Wilson Snyder
c30211cb27
Add --no-decoration to remove output comments, msg2015.
2016-09-13 22:28:07 -04:00
Johan Bjork
901da118e5
Internals: Move prettyName invocation to after option checks in trace and coverage
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2016-09-12 21:52:40 -04:00
Wilson Snyder
f11757e43a
Fix error on wide shift, msg2005.
2016-09-12 18:31:45 -04:00
Wilson Snyder
3f143317a6
Add error on DPI functions > 32 bits, msg1995.
2016-09-10 08:14:17 -04:00
Wilson Snyder
45d7312dfc
Improve Verilation performance on internal strings, msg1975.
2016-09-08 22:04:14 -04:00
Wilson Snyder
26774eb045
Fix error on wide numbers that represent small msb/lsb, msg1991.
2016-09-08 21:30:35 -04:00
Wilson Snyder
cd61b1d045
Usage check.
2016-07-30 10:05:55 -04:00
Wilson Snyder
24dc36ba4c
Fix comparison of unpacked arrays, bug1071.
2016-07-23 16:58:30 -04:00
Wilson Snyder
e8e4f1777d
Internals: Add cloneType method. Unused - for next checkin.
2016-07-23 16:54:36 -04:00
Wilson Snyder
ae38a26af3
Internals: Cleanup some slice code. No functional change.
2016-07-21 23:07:22 -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
e819e285e2
Fix false warnings on non-power-2 enums using .next/.prev.
2016-06-15 20:13:52 -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
Johan Bjork
c0b7a54bb9
Fix removal of empty packages, modules and cells, bug1034.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2016-05-11 21:44:55 -04:00
Wilson Snyder
6b32bb635d
Change --l2-name default to remove 'v' naming.
2016-05-07 14:10:33 -04:00
Wilson Snyder
691de22ae3
Add --l2-name option for controlling 'v' naming, bug1050.
2016-05-07 14:01:02 -04:00
Wilson Snyder
e64b2d3372
Internals: user#inc now has optional increment value.
2016-05-06 22:26:15 -04:00
Johan Bjork
e190af9d87
Avoid extra clean ANDs after CCalls.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2016-05-06 21:18:48 -04:00
Johan Bjork
8d14463b18
Fix emitting public enumerations.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2016-05-05 22:48:53 -04:00
Wilson Snyder
04977ef721
Internals: Show clocker in debug dumps. Part of bug1009.
2016-05-05 22:40:19 -04:00
Wilson Snyder
80678ae7bc
Fix clang 3.8.0 warnings.
2016-03-31 22:26:49 -04:00
Stefan Wallentowitz
482bdab0e0
Support command-line -G/+pvalue param overrides, bug1045.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2016-03-24 19:14:15 -04:00
Stefan Wallentowitz
b2623b9841
Internals: Add success parameter to parseDouble. No functional change intended.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2016-03-23 07:48:32 -04:00
Wilson Snyder
9ae40d64f0
Support parameter type, bug376.
2016-03-14 21:51:31 -04:00
Wilson Snyder
cef097b7b7
Internals: Refactoring prep for parameter type branch. No functional change intended.
2016-03-12 20:54:52 -05:00
Wilson Snyder
90ecf14a0a
Fix pattern assignment width propagation, bug1037.
2016-02-21 23:00:21 -05:00
Wilson Snyder
4945282369
Fix slicing mix of big and little-endian, bug1033.
2016-02-09 22:16:12 -05: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
Wilson Snyder
46229473cb
Fix crash on very deep function trees, bug1028.
2016-02-04 20:47:55 -05:00
Johan Bjork
65be2448dc
Fix elaboration-time display warnings, bug1032.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2016-02-04 18:38:59 -05:00
Johan Bjork
be74806044
Fix read-after-free error detected by valgrind, bug1031.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2016-02-04 18:34:08 -05:00
Wilson Snyder
b488666c1e
Fix cppcheck 1.71 issues. No functional change intended.
2016-02-04 18:30:21 -05:00
Wilson Snyder
d1acaea611
Internals: Fix compares to null, ongoing part of bug1030. No functional change intended.
2016-02-03 20:44:31 -05:00
Wilson Snyder
db6e5ce7cf
Internals: Misc code cleanups. No functional change.
2016-02-03 20:43:05 -05:00
Wilson Snyder
d56179df17
Internals: Fix compares to null, part of bug1030. No functional change intended.
2016-02-02 21:02:00 -05:00
Wilson Snyder
850100c9c2
Fix compares to null, part of bug1030.
2016-02-02 19:35:44 -05:00
Wilson Snyder
0725999f0a
flexfix: Match Verilog-perl fix for new gcc.
2016-02-02 19:32:17 -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
Johan Bjork
61a1f3d817
Support inlining interfaces, bug1018.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2016-01-21 19:11:53 -05:00
Johan Bjork
63f111b7f3
Fix unrolling complicated for-loop bounds, bug677.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2016-01-21 19:00:19 -05:00
Wilson Snyder
e061eb3003
Fix using short parameter names on negative params, bug1022.
2016-01-20 22:09:11 -05:00
Johan Bjork
29daa58222
Fix stats file containing multiple unroll entries, bug1020.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2016-01-06 20:53:48 -05:00
Johan Bjork
340cc02171
Avoid dynamic_cast for classes with no children, bug1021.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2016-01-06 20:47:44 -05:00
Wilson Snyder
b738d1960a
Copyright year update
2016-01-06 20:36:41 -05:00
Wilson Snyder
afc432042f
Fix ternary operation with unpacked array, bug1017.
2015-12-18 18:02:25 -05:00
Wilson Snyder
21cb29baf0
Fix arrayed instances to unpacked of same size, bug1015. Fix slices of unpacked arrays with non-zero LSBs.
2015-12-15 22:37:49 -05:00
Wilson Snyder
849c1e46a2
Fix constant propagation, bug1012.
2015-12-08 22:22:42 -05:00
Wilson Snyder
ebad6cde36
Fix error instead of warning on large concat, msg1768.
2015-12-08 21:25:43 -05:00
Johan Bjork
f920b3945e
Fix dotted generated array error, bug1005.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2015-12-05 19:58:58 -05:00
Todd Strader
5e54d3e41a
Fix interface inside generate, bug1001, bug1003.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2015-12-05 19:39:40 -05:00
Wilson Snyder
f0af8726e3
Internals: Fix some spacing. No functional change.
2015-12-05 17:12:03 -05:00
Todd Strader
57f2fe77ea
Fix cell [#] to mean # cells.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2015-12-01 18:23:11 -05:00
Wilson Snyder
d39ce17dea
Makefiles: Turn off make built-in suffixes.
2015-11-28 17:33:01 -05:00
Johan Bjork
373a68ec8b
Fix dtype indexing into arrays, bug1007.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2015-11-24 21:34:07 -05:00
Johan Bjork
5613758ee3
Fix array slicing of non-const indexes, bug1006.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2015-11-24 21:28:04 -05:00
Johan Bjork
2102f86909
Fix genvar constant propagation, bug1003.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2015-11-22 21:16:13 -05:00
Johan Bjork
9edd28d2ed
Fix genvar constant propagation from package, bug1003.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2015-11-22 20:46:26 -05:00
Wilson Snyder
52ae451f5c
Fix interface inside generate, bug998.
2015-11-14 09:06:09 -05:00
Wilson Snyder
9254443cd4
Fix casts under generates, bug999.
2015-11-12 22:29:42 -05:00
Johan Bjork
4e4bc7b90f
Fix constant function assigned to packed structs, bug997.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2015-11-11 20:49:45 -05:00
Johan Bjork
c7e0f2e196
Fix function calls on arrayed interface, bug994.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2015-11-11 20:40:24 -05:00
Wilson Snyder
acabaab6ac
Internals: Avoid tristate coredump.
2015-11-11 20:37:52 -05:00
Wilson Snyder
b0a249f338
Fix display %u, %v, %p, %z, bug989.
2015-11-10 21:12:15 -05:00
Wilson Snyder
0cb5d5cc5a
Internals: Upgrade some C strings to C++
2015-11-10 18:59:48 -05:00
Johan Bjork
0081ce4a75
Fix size-changing cast on packed struct, bug993.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2015-11-06 19:12:17 -05:00
Wilson Snyder
c72ee41142
Add z to param values to avoid conflicts.
2015-11-05 07:00:04 -05:00
Wilson Snyder
bf5dee955d
Fix real parameters causing bad module names, bug992.
2015-11-04 22:01:21 -05:00
Wilson Snyder
faf5e1de51
Internals: Remove some unneeded c_str() calls. No functional change.
2015-10-29 22:19:51 -04:00
Wilson Snyder
fa63bc6b78
Fix error message on missing interface, bug985.
2015-10-29 21:44:02 -04:00
Jamey Hicks
49108c23f0
Support with non-format arguments, bug467.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2015-10-27 20:58:31 -04:00
Wilson Snyder
4475060268
Ignore %l in , bug983.
2015-10-27 20:37:52 -04:00
Wilson Snyder
4f269e336d
With --bbox-ignore, don't warn about always order.
2015-10-24 07:24:53 -04:00
Wilson Snyder
4464b13163
Fix dot indexing into arrayed inferfaces, bug978.
2015-10-23 23:06:24 -04:00
Wilson Snyder
215d5f68b0
Fix struct.enum.name method calls, bug855.
2015-10-23 22:57:15 -04:00
Wilson Snyder
281f4e04ee
Fix $fwrite to constant stderr/stdout, bug961.
2015-10-23 21:53:16 -04:00
Wilson Snyder
17a3f9691d
Fix package:scope.scope variable references.
2015-10-23 21:03:35 -04:00
Wilson Snyder
4fde6ee7af
Support elaboration assertions, bug973.
2015-10-23 18:13:25 -04:00
Wilson Snyder
040b1b06d5
Support genvar indexes into arrayed cells, bug517.
2015-10-22 20:13:49 -04:00
Wilson Snyder
cc22847bc3
For --xml, decrease block indent to 2 spaces.
2015-10-20 21:22:00 -04:00
Johan Bjork
3702e17b2e
Backout bug978 fix as is incomplete.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2015-10-10 07:54:45 -04:00
Wilson Snyder
7abc220fb3
Fix C++ 2014 compile warnings. No functional change.
2015-10-04 13:41:45 -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
5de83c9805
Internals: Fix cppcheck warnings. No functional change.
2015-10-04 13:11:32 -04:00
Johan Bjork
f71d904a9b
Fix internal error on interface array, bug978.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2015-10-04 11:17:58 -04:00
Wilson Snyder
318ded4198
Internals: Cleanup cppcheck warnings.
2015-10-03 22:33:06 -04:00
Wilson Snyder
f1874b211f
Support , bug977.
2015-10-03 07:12:56 -04:00
Wilson Snyder
c60ffd7fd9
Fix enum constant propagation, bug970.
2015-10-01 21:15:01 -04:00
Todd Strader
dc57282168
Internal: Fix setBit from earlier commit, bug971.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2015-09-30 07:02:39 -04:00
Todd Strader
3c336e179f
Fix structure parameter constant propagation, bug968.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2015-09-29 21:02:33 -04:00
Todd Strader
6bda57da5d
Internals: Fix setBit not clearing X mask.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2015-09-29 20:59:17 -04:00
Wilson Snyder
9a16001e51
Add --vpi flag, and fix VPI linkage, bug969.
2015-09-25 22:57:28 -04:00
Wilson Snyder
d0653f72e2
Fix very long module names, bug937.
2015-09-19 20:12:35 -04:00
Wilson Snyder
64748b7b1d
Internals: Replace FNV hashes with SHA1
2015-09-19 18:49:54 -04:00
Wilson Snyder
7163c8d048
Fix internal error on dotted refs into generates, bug958.
2015-09-18 20:57:27 -04:00
Wilson Snyder
d0ec991bb2
Fix mis-optimizing public DPI functions, bug963.
2015-09-18 19:06:15 -04:00
Wilson Snyder
a950e4816d
Support extraction of enum bits, bug951.
2015-08-12 21:33:40 -04:00
Wilson Snyder
c87c66efb1
Fix size casts as second argument of cast item, bug950.
2015-08-12 19:37:25 -04:00
Jie Xu
5a5a0006fe
Fix parameters with function parameter arguments, bug952.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2015-08-12 19:29:06 -04:00
Wilson Snyder
882913f0ca
Add tracing_on, etc to vlt files, bug932.
2015-07-22 20:14:58 -04:00
Wilson Snyder
2062f7e97b
Fix hashed error with typedef inside block, bug948.
2015-07-22 19:52:11 -04:00
Wilson Snyder
06d5a7b2bf
Internals: Allow hashing nulls; misc cleanup
2015-07-06 19:37:20 -04:00
Wilson Snyder
5af8a8aa4c
Internals: Hash nulls
2015-07-05 20:31:30 -04:00
Wilson Snyder
00759f777e
Fix dpi imports inside generates.
2015-06-16 19:27:18 -04:00
Wilson Snyder
7578ef889f
Fix .c files to be treated as .cpp, bug930.
2015-06-09 07:28:51 -04:00
Wilson Snyder
da254af8d5
Fix MinGW compiler error, bug929.
2015-06-08 07:24:04 -04:00
Wilson Snyder
9e61b9f696
Fix width propagation on sized casts, bug925.
2015-06-06 13:43:14 -04:00
Wilson Snyder
491539ff32
Fix MSVC++ compiler error, bug927.
2015-06-04 19:37:03 -04:00
Wilson Snyder
b66e1bdb9e
Fix Ubuntu 15.04 compile warning.
2015-05-15 20:03:29 -04:00
Wilson Snyder
7312de6bc2
Fix sign extension in large localparams, bug910.
2015-05-14 21:46:07 -04:00
Wilson Snyder
5a747bad7d
Fix width extension on mis-width ports, bug918.
2015-05-13 20:59:13 -04:00
Wilson Snyder
9542783a7e
Internals: Refactor V3Inst static class. No functional change.
2015-05-13 20:56:16 -04:00
Wilson Snyder
a59639413d
Fix part-select in constant function, bug916.
2015-05-09 14:01:54 -04:00
Wilson Snyder
d5eb92a071
Fix preprocessing stringified newline escapes, bug915.
2015-05-07 21:41:54 -04:00
Wilson Snyder
49fa65c0dd
Match Verilog-Perl: Fix Preproc loop under Perl-Tk, bug913.
2015-04-28 15:54:34 -04:00
Wilson Snyder
49123f169c
Fix core dump in sync-async warnings, bug911.
2015-04-27 06:47:29 -04:00
Wilson Snyder
78a321925f
Add Parser useProtected argument to aid runtime, Verilog-Perl bug899.
2015-04-05 10:54:56 -04:00
Wilson Snyder
c0df07c86f
Commentary: Update contributor list
2015-03-13 07:38:17 -04:00
Wilson Snyder
e918d945f2
Fix order of C style arrays.
2015-03-13 07:06:06 -04:00
Wilson Snyder
0ee5743853
Add --dump-treei-<srcfile>, bug894.
2015-03-12 19:48:04 -04:00
Wilson Snyder
486d69da5f
Add --clk and related optimizations, msg1533.
2015-03-12 19:20:46 -04:00
Wilson Snyder
751384cb5c
Fix compile error on MinGW, bug887.
2015-02-26 20:40:45 -05:00
Wilson Snyder
6ac672b4a3
Fix SystemC arrayed bit vectors, bug886.
2015-02-25 21:09:55 -05:00
Wilson Snyder
a89502be9f
Fix comma-separated instantiations with parameters, bug884.
2015-02-22 11:41:10 -05:00
Wilson Snyder
052a7e3deb
Fix sign extension of pattern members, bug882.
2015-02-12 07:47:45 -05:00
Wilson Snyder
27ccaffb37
Fix mis-optimizing gate assignments in unopt blocks, bug881.
2015-02-11 19:36:34 -05:00
Wilson Snyder
32a76c5255
Fix clang warnings.
2015-02-10 22:38:05 -05:00
Wilson Snyder
099f797975
Fix slice connections of arrays to ports, bug880.
2015-02-10 20:24:21 -05:00
Wilson Snyder
8323092a0c
Fix cppcheck warnings. No functional change.
2015-02-09 21:05:27 -05:00
Wilson Snyder
e5af46d3fb
Add warning on slice selection out of bounds, bug875.
2015-01-25 16:32:46 -05:00
Wilson Snyder
a6743588b6
Fix UNOPTFLAT change detect on multidim arrays, bug872.
2015-01-21 20:43:21 -05:00
Wilson Snyder
90cbcd2dfd
Fix non-ANSI modport instantiations, bug868.
2015-01-17 15:35:45 -05:00
Wilson Snyder
4c91ade61d
Copyright year update
2015-01-07 18:25:53 -05:00
Wilson Snyder
f2a17b9b70
Fix $sccanf from string, bug866.
2014-12-24 21:50:38 -05:00
Wilson Snyder
b71b9ccb57
Fix member select error broke in 3.868, bug867.
2014-12-24 19:27:46 -05:00
Wilson Snyder
8b0af19351
Support cast operator with expression size, bug865.
2014-12-23 22:11:31 -05:00
Wilson Snyder
9f7c473376
Suppress COMBDLY when inside always_latch, bug854.
2014-12-23 21:42:33 -05:00
Wilson Snyder
1a3378e0f5
Add --stats-vars, bug851.
2014-12-20 08:28:31 -05:00
Wilson Snyder
5c3eee34a1
Fix underscores in real literals, bug863.
2014-12-19 18:14:32 -05:00
Wilson Snyder
2b5017e610
Fix tracing SystemC signals with structures, bug858. Remove SC tracing of wrapper.
2014-12-10 22:33:28 -05:00
Wilson Snyder
e755c7fdcc
Internals: Rename to avoid off-by-one
2014-11-29 08:56:07 -05:00
Wilson Snyder
8d463b33cd
Fix enum name off-by-one, bug854.
2014-11-29 08:47:03 -05:00
Wilson Snyder
a118921b21
Fix bare generates in interfaces, bug789.
2014-11-28 21:32:57 -05:00
Wilson Snyder
c1593f856d
Support enum.first/name and similar methods, bug848.
2014-11-28 20:34:23 -05:00
Wilson Snyder
93f1d7643d
Fix duplicate Vdimtables and rename
2014-11-28 20:25:58 -05:00
Wilson Snyder
ce4dfb4296
Fix misc string handling issues.
2014-11-28 20:24:42 -05:00
Wilson Snyder
2e5f5010f7
Internals: Make V3Width dimensionValue more generic. No functional change.
2014-11-28 15:51:35 -05:00
Wilson Snyder
43be4cf2b5
Add 'string' printing and comparisons, bug746, bug747, etc.
2014-11-28 15:01:50 -05:00
Wilson Snyder
8b457b9b66
Internal: Rename string functions. No functional change.
2014-11-28 13:50:37 -05:00
Wilson Snyder
25efee2e62
Fix loss of data types in V3Premit. From strings branch.
2014-11-28 10:43:05 -05:00
Wilson Snyder
e002b0e25f
Fix new inlining to be less aggressive
2014-11-27 12:04:16 -05:00
Wilson Snyder
68c6f0ff07
Inline C functions that are used only once, msg1525.
2014-11-27 10:52:38 -05:00
Wilson Snyder
9837b40330
Remove SystemPerl tests
2014-11-27 08:30:54 -05:00
Jeremy Bennett
cb645c9a74
Add missing header.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2014-11-26 16:46:16 -05:00
Wilson Snyder
87573a9fef
Part of earlier commit - no SystemPerl now for coverage.
2014-11-24 18:37:55 -05:00
Wilson Snyder
d33ad7600b
Commentary. Cleanup stale SystemPerl references.
2014-11-23 22:00:00 -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
87a47a5ca0
Remove PSL support
2014-11-22 10:14:14 -05:00
Wilson Snyder
c682f1c16a
Commentary and internal cleanups.
2014-11-22 09:04:14 -05:00
Wilson Snyder
6d66fcaa57
Fix +define+A+B to define A and B to match other simulators, bug847.
2014-11-13 19:05:07 -05:00
Wilson Snyder
26e79ca889
Fix quoted comment slashes in defines, bug845.
2014-11-12 16:37:51 -05:00
Wilson Snyder
62eb247c1e
Optimize SUB/ADD together.
2014-11-09 18:33:54 -05:00
Wilson Snyder
c5fd583b2c
Fix select when partially out-of-bound, bug823.
2014-11-09 18:29:52 -05:00
Wilson Snyder
117db3e11c
Trace_off now operates on cells, bug826.
2014-11-08 14:15:10 -05:00
Wilson Snyder
3f82fd2f37
Add public enums, bug833.
2014-11-07 07:50:11 -05:00
Wilson Snyder
e9c46afcf7
Fix public parameters in unused packages, bug804.
2014-11-06 17:53:01 -05:00
Jie Xu
7ef84df852
Add optimization of wires from arrayed cells, msg1447.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2014-11-05 21:09:35 -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
03100020ab
Fix not tracing modules following primitives, bug837.
2014-11-04 07:49:03 -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
bfbca34eb0
Fix cast-to-size context-determined sizing, bug828.
2014-10-17 19:01:04 -04:00
Wilson Snyder
b73edc0564
Fix generate unrolling with function call, bug830.
2014-10-15 21:29:37 -04:00
Wilson Snyder
c86fec5307
Fix string formats under deep expressions, bug820.
2014-09-21 08:52:09 -04:00
Wilson Snyder
6e476255ca
Support power operator with real, bug809.
2014-09-21 08:24:44 -04:00
Wilson Snyder
27af9b6b06
Fix clang warnings, bug818.
2014-09-11 21:28:53 -04:00
Wilson Snyder
87b9cb49ad
Fix / multi-argument ordering, bug816.
2014-09-04 22:25:19 -04:00
Wilson Snyder
b6a39db627
Fix optional parameter keyword in module #(), bug810.
2014-08-27 07:57:20 -04:00
Wilson Snyder
3a83b06572
Fix over-shift structure optimization error, bug803.
2014-07-28 07:31:01 -04:00
Wilson Snyder
fe5bf01b25
Fix dpiGetContext in dotted scopes, bug740.
2014-07-21 20:55:52 -04:00
Wilson Snyder
5559ec903b
Fix error when tracing public parameters, bug722.
2014-07-21 20:44:33 -04:00
Wilson Snyder
18750028b2
Fix mis-optimization of bit-swap in wide signal, bug800.
2014-07-04 09:13:59 -04:00
Wilson Snyder
894ff73c7d
Internals: Fix clang warning, bug791.
2014-06-19 18:02:42 -04:00
Wilson Snyder
8031f0ed7f
Fix duplicate anonymous structures in , bug788.
2014-06-15 11:18:47 -04:00
Wilson Snyder
e26ab67e25
Report tristate errors closer to code which created them.
2014-06-10 19:58:51 -04:00
Wilson Snyder
e77b7427b4
Fix shift corner-case, bug 774.
2014-06-10 19:13:55 -04:00
Wilson Snyder
475e4207cc
Fix late constant division by zero giving X error, bug775.
2014-06-09 22:27:04 -04:00
Wilson Snyder
71b2eed32c
Fix false name conflict on cells in generate blocks, bug749.
2014-06-09 22:00:45 -04:00
Wilson Snyder
6cf50e6579
Fix string corruption, bug780.
2014-06-08 21:36:18 -04:00
Wilson Snyder
69468708e2
Fix DETECTARRAY error on packed arrays, bug770.
2014-06-07 09:53:40 -04:00
Wilson Snyder
5da5678e64
Fix pattern assignment to conditionals, bug769.
2014-06-06 21:52:16 -04:00
Wilson Snyder
a428e7f618
Fix pattern assignment to arrayed basic type, bug769.
2014-06-06 21:14:44 -04:00
Wilson Snyder
0eb5a0a539
Add -P to suppress `line and blanks with preprocessing, bug781.
2014-06-06 20:22:20 -04:00
Wilson Snyder
a1c1ff9981
Fix seg-fault with variable of parameterized interface, bug692.
2014-05-28 07:33:40 -04:00
Wilson Snyder
2029ade18c
Change SYMRSVDWORD to print as warning rather than error.
2014-05-28 07:24:02 -04:00
Wilson Snyder
5f8f474c0c
Fix shift with XOR mis-optimization, bug776.
2014-05-26 18:16:52 -04:00
Wilson Snyder
f705f9b275
Fix C compiler interpreting signing, bug773.
2014-05-24 08:00:01 -04:00
Wilson Snyder
91e706ec1f
Fix X shift issue, bug772.
2014-05-24 07:05:23 -04:00
Wilson Snyder
06744b664a
Fix huge shifts to zero with -Wno-WIDTH, bug768.
2014-05-16 07:09:43 -04:00
Wilson Snyder
d3049d9c89
Fix huge shifts to zero with -Wno-WIDTH, bug766.
2014-05-15 21:49:43 -04:00
Wilson Snyder
1f2abb9c0f
Fix gate primitives with arrays and non-arrayed pins.
2014-05-15 20:57:09 -04:00
Wilson Snyder
9f0d7e50a5
Using command line -Wno-{WARNING} now overrides file-local lint_on.
2014-05-15 20:54:45 -04:00
Wilson Snyder
5f262a8f11
Fix ENDLABEL warnings on escaped identifiers.
2014-05-15 20:52:22 -04:00
Wilson Snyder
f62bc6a2e5
Support SV 2012 package import before port list.
2014-05-15 20:50:42 -04:00
Wilson Snyder
d7e4bc1379
Fix huge shifts to zero with -Wno-WIDTH, bug765.
2014-05-13 08:10:59 -04:00
Wilson Snyder
58fd602bbd
Fix flex warning
2014-05-11 09:36:39 -04:00
Wilson Snyder
f8f53df4ec
Fix X/Z extension with WIDTH param mismatch, bug764.
2014-05-10 21:38:36 -04:00
Wilson Snyder
56b85cc63c
Suppress WIDTH warnings on 'x = 1<<a'
2014-05-10 17:19:57 -04:00
Wilson Snyder
90aca97e66
Internals: Flip sense of warnOn. No functional change intended.
2014-05-10 17:12:04 -04:00
Wilson Snyder
6ce2a52c5f
Fix shift-right optmiization, bug763.
2014-05-10 16:38:20 -04:00
Wilson Snyder
1f56312132
Fix -Wno-UNOPTFLAT change detection with 64-bits, bug762.
2014-05-10 12:40:35 -04:00
Wilson Snyder
3aa290cddb
Add error on power > 64-bits, bug761.
2014-05-10 08:24:51 -04:00
Wilson Snyder
266ff41386
For --cdc, don't show data types in dump file.
2014-05-10 07:50:04 -04:00
Wilson Snyder
02331e5536
Fix begin_keywords 1800+VAMS, msg1211.
2014-05-08 07:15:44 -04:00
Wilson Snyder
621c51589a
Fix shift by x, bug760.
2014-05-04 08:50:44 -04:00
Wilson Snyder
4a58e859a4
Fix concats with no argments mis-sign extending, bug759.
2014-05-03 20:20:15 -04:00
Wilson Snyder
a985a1f9f5
Fix >>> sign extension based on expression, bug754.
2014-05-03 09:25:12 -04:00
Wilson Snyder
d532a36739
Fix change detection error on unions, bug758.
2014-05-02 08:14:23 -04:00
Wilson Snyder
b631b5927b
Fix shift width extension, broke recent commit, bug754.
2014-04-30 22:47:01 -04:00
Wilson Snyder
adb39ceb98
Internals: cppcheck clean and add cppcheck_filtered
2014-04-29 22:59:38 -04:00
Wilson Snyder
aaea68d3d6
Rewrite V3Width for better spec adherence when -Wno-WIDTH.
2014-04-29 22:01:50 -04:00
Wilson Snyder
2accba2e71
Update WIDTH warning message formats to match future commit.
2014-04-29 21:11:57 -04:00
Wilson Snyder
8f4f4eb5ae
Fix coredump on undriven vector[-1].
2014-04-29 21:09:44 -04:00
Wilson Snyder
60c2d136e1
Internals: V3Width renames. Fix CASEEQ signing.
2014-04-26 16:52:09 -04:00
Wilson Snyder
b0f4cf3c9c
Support {} in always sensitivity lists, bug745.
2014-04-21 19:39:28 -04:00
Wilson Snyder
c41dfcf6ad
Fix assertions broken from bug725, bug743.
2014-04-16 22:33:25 -04:00
Wilson Snyder
2e10555f03
Fix tracing of packed arrays without --trace-structs, bug742.
2014-04-15 20:20:45 -04:00
Wilson Snyder
6b2ee0fcf3
Fix reporting struct members as reserved words, bug741.
2014-04-15 19:35:44 -04:00
Wilson Snyder
0dbdbffba7
Fix double I/O port warnings.
2014-04-15 18:50:04 -04:00
Wilson Snyder
9c5dd8d767
Fix RHEL5.6 compile warnings.
2014-04-15 18:18:36 -04:00
Glen Gibb
fff0ebb5f3
Internals: Add AstReplicate dtype init.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2014-04-10 17:54:52 -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
d04eb977c2
Fix mis-extending red xor/xand operators.
2014-04-09 07:58:46 -04:00
Wilson Snyder
fb4928b2f5
Fix power calculation; setAllOnes should not set hidden state bits in V3Number.
2014-04-08 20:28:16 -04:00
Wilson Snyder
5c39420d91
Re-fix bug729 due to bug733; other internal sign extension cleanups too.
2014-04-07 21:34:00 -04:00
Wilson Snyder
14fcfd8a40
Fix signed extension problem with -Wno-WIDTH, bug729.
2014-04-05 15:52:05 -04:00
Wilson Snyder
ff19dd94f9
Fix power operator calculation, bug730.
2014-04-05 15:44:49 -04:00
Wilson Snyder
b6913ff9b3
With high c-splits, even split blank functions.
2014-04-05 12:41:00 -04:00
Wilson Snyder
6cf6d9f7e1
Fix modport function import not-found error.
2014-04-03 21:53:39 -04:00
Wilson Snyder
28e35a64ea
Support parameter arrays, bug683.
2014-04-01 23:16:16 -04:00
Wilson Snyder
091818483a
Order initial statements based on variables used. Merge from bug683 branch.
2014-04-01 22:01:25 -04:00
Wilson Snyder
3b43556c41
Internals: Remove dead NEW_ORDERING code.
2014-03-31 20:29:35 -04:00
Wilson Snyder
ed39c66715
Internals: Make const iterator to fix missed-edits on dump. Merge from bug683 branch.
2014-03-31 20:24:05 -04:00
Wilson Snyder
446b0e4e5e
Support '{} assignment pattern on arrays, bug355.
2014-03-30 20:41:20 -04:00
Wilson Snyder
6e3e8318d0
Internals: Add dtype to InitArray; misc Slice cleanups. From bug355 branch.
2014-03-30 20:28:51 -04:00
Wilson Snyder
17b8b660f0
Internals: Fix assignment pattern replication. From bug355 branch.
2014-03-30 10:20:12 -04:00
Wilson Snyder
40bceea68a
Fix missing coverage line on else-if, bug727.
2014-03-29 11:04:13 -04:00
Wilson Snyder
a3813f94fc
Add PINCONNECTEMPTY warning.
2014-03-27 21:36:52 -04:00
Holger Waechtler
9caffe330b
Fix Mac OS-X test issues.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2014-03-24 20:19:43 -04:00
Wilson Snyder
8d8c5da812
Add assertions on 'unique if', bug725.
2014-03-16 21:38:29 -04:00
Wilson Snyder
55bb766c15
Fix escaped newline in assertion failures.
2014-03-16 20:57:15 -04:00
Wilson Snyder
c18df68ead
Fix C++-2011 warnings.
2014-03-15 14:50:03 -04:00
Wilson Snyder
3996e94c39
Fix Bison 4.0 warnings. From Verilog-Perl.
2014-03-15 14:23:19 -04:00
Wilson Snyder
1bdf017f9e
PSL is no longer supported, please use System Verilog assertions.
2014-03-14 21:14:24 -04:00
Wilson Snyder
93790c1dc6
Fix tracing of package variables and real arrays.
2014-03-14 20:36:47 -04:00
Wilson Snyder
ba8c11b25d
Fix scope creating extra vars for package variables. See next trace commit for test.
2014-03-14 20:24:21 -04:00
Wilson Snyder
ca57edfa0b
Fix assignment temporaries not using real types.
2014-03-14 20:22:06 -04:00
Wilson Snyder
c9ed9e74f2
Add --no-trace-params.
2014-03-13 20:08:43 -04:00
Wilson Snyder
85c5765c00
Fix parsing "#0 'b0", bug256.
2014-03-11 19:07:58 -04:00
Wilson Snyder
9e76078939
Fix signed shift right optimization, bug715.
2014-03-09 21:28:28 -04:00
Wilson Snyder
334e0e1ca6
Internals: Debug message.
2014-03-09 21:22:01 -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
45bbae80e7
Add parameters into trace files, bug706.
2014-03-08 15:36:04 -05:00
Wilson Snyder
2560ae9bc1
Fix slice extraction from packed array, bug717.
2014-03-08 14:55:05 -05:00
Wilson Snyder
2bdd3ca353
Internals: Refactoring V3WidthSel. No functional change.
2014-03-08 14:41:11 -05:00
Wilson Snyder
8a8aab1aae
Internals: Shrink AstSelPlus code. No functional change.
2014-03-08 14:17:39 -05:00
Wilson Snyder
85d790ff79
Fix inside statement EQWILD error, bug718.
2014-03-08 13:33:44 -05:00
Wilson Snyder
68afc96a9f
Fix internal error on "input x =" syntax error, bug716.
2014-03-08 12:26:34 -05:00
Wilson Snyder
88af0d3509
Fix --skip-identical mis-detecting on OS-X, bug707.
2014-02-09 16:32:49 -05:00
Wilson Snyder
97633f7bed
Fix array bound checks on real variables.
2014-02-09 09:19:05 -05:00
Wilson Snyder
2d61e0270e
Support case inside, bug708.
2014-01-20 21:59:53 -05:00
Wilson Snyder
4422de0c6c
Copyright year update.
2014-01-06 19:28:57 -05:00
Wilson Snyder
bcefc17631
Support modport import, bug696.
2013-12-21 06:51:15 -05:00
Wilson Snyder
daf19e241e
Fix struct trace coredump from recent commit.
2013-12-21 06:46:48 -05:00
Wilson Snyder
b5f5b1fdf9
Fix wire declarations with size and not range, bug466.
2013-12-14 19:50:55 -05:00
Wilson Snyder
801b718953
Add --trace-structs to show struct names, bug673.
2013-12-14 19:13:31 -05:00
Wilson Snyder
5d233b8c09
Fix parameter pin vs. normal pin error, bug704.
2013-12-14 18:04:10 -05:00
Wilson Snyder
00724597f4
Fix tracing of packed structs, bug705.
2013-12-14 16:51:08 -05:00
Wilson Snyder
c659940ea8
Internals: Use VNumRange for AstTraceDecl
2013-12-14 12:17:31 -05:00
Wilson Snyder
23539eb55c
Fix some delayed assignments of typedefed unpacked arrays. See following trace test.
2013-12-14 10:33:08 -05:00
Wilson Snyder
e69bf418de
Fix --lint-only with MinGW, msg1283.
2013-11-29 08:28:48 -05:00
Wilson Snyder
e74186565d
Add --compiler clang to work around compiler bug, bug694.
2013-11-26 18:46:55 -05:00
Wilson Snyder
7e54281e26
Fix array assignment from const var, bug693.
2013-10-31 22:39:26 -04:00
Wilson Snyder
15f512bdee
Debug: With --debug, run check tree at all steps even if no --dump-more
2013-10-30 23:25:54 -04:00
Wilson Snyder
ecfe0283e2
Fix crash with coverage of structures, bug691.
2013-10-29 20:15:01 -04:00
Wilson Snyder
4f6d80c602
Add UNPACKED warning to convert unpacked structs.
2013-10-28 20:41:05 -04:00
Wilson Snyder
b50542531d
Fix enum value extension of '1.
2013-10-28 20:24:31 -04:00
Wilson Snyder
a8310f35f2
Fix evaluation of chained parameter functions, bug684.
2013-10-18 07:06:32 -04:00
Wilson Snyder
27686d8c2f
Add --no-order-clock-delay to work around bug613.
2013-09-30 16:52:43 -04:00
Wilson Snyder
f1d9437c55
Report SELRANGE warning for non-generate if, bug675.
2013-09-10 07:16:13 -04:00
Wilson Snyder
bcba5075e8
Fix ordering of , msg1229.
2013-09-07 16:43:43 -04:00
Wilson Snyder
d6e8b0263c
Fix crash on 32-bit Ubuntu, bug670.
2013-09-03 21:40:43 -04:00
Wilson Snyder
9aba617bad
Fix --output-split-cfunc to count internal functions.
2013-09-03 19:35:32 -04:00
Wilson Snyder
c24f7b1391
Support named function and task arguments.
2013-08-17 20:34:49 -04:00
Wilson Snyder
d3d359e757
Fix clang warnings, bug668.
2013-08-08 19:39:39 -04:00
Wilson Snyder
ae763ea93d
Internals: Debugs for bug666.
2013-08-08 07:05:21 -04:00
Wilson Snyder
236b9e9761
Fix parameter real conversion from integer.
2013-07-29 22:03:47 -04:00
Wilson Snyder
e42c9dfd84
Grammar
2013-07-29 21:53:43 -04:00
Wilson Snyder
bebf5b291b
Fix final duplicate declarations when non-inlined, bug661.
2013-07-29 21:47:23 -04:00
Wilson Snyder
1baa2a2558
Fix interface ports with comma lists, msg1058.
2013-06-13 19:38:18 -04:00
Jeremy Bennett
b277bc8750
Fix ordering of clock enables with delayed assigns, bug613.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2013-06-05 23:35:47 -04:00
Wilson Snyder
3dd552c4a2
Duplicate clock gate optimization on by default, use -Od to disable
2013-05-27 22:39:59 -04:00
Wilson Snyder
23bb045a72
Support interfaces and modports, bug102.
2013-05-27 21:39:19 -04:00
Wilson Snyder
7c834ad118
Internals: Misc cleanups from interface branch. No functional change.
2013-05-27 20:56:20 -04:00
Wilson Snyder
8e2617ab8d
Internals: V3Inline support for future hard-no-inline. No functional change.
2013-05-26 11:17:42 -04:00
Wilson Snyder
24fcae4f49
Internals: When broken link fatal, say which rule violated
2013-05-25 17:05:22 -04:00
Wilson Snyder
ce18674d88
Internals: (see last) also dump on first non-fatal
2013-05-25 13:31:17 -04:00
Wilson Snyder
6b8d9b5c36
Internals: If registered, dump symtable on any error
2013-05-25 12:15:38 -04:00
Wilson Snyder
81bf95763c
Internals: Refactor V3Inline to simplify if(m_cellp) out. No functional change.
2013-05-25 10:42:44 -04:00
Wilson Snyder
2d64077fd0
Internals: Prep to allow future move of wrapping. No functional change.
2013-05-25 10:15:10 -04:00
Wilson Snyder
48d177a9d0
Fix packed array select internal error, bug652.
2013-05-24 21:14:42 -04:00
Wilson Snyder
5765e099a6
Debug: More digits for debug file sorting.
2013-05-23 20:50:48 -04:00
Wilson Snyder
175d59ecba
Fix GCC version runtime changes, bug651.
2013-05-23 20:19:51 -04:00
Wilson Snyder
84efd239a5
Fix arrayed input compile error, bug645. Try 2.
2013-05-18 20:17:17 -04:00
Wilson Snyder
6a69813326
Internals: Renames for interfaces. No functional change.
2013-05-18 19:45:52 -04:00
Wilson Snyder
2c9dcc3913
Fix arrayed input compile error, bug645.
2013-05-15 22:00:28 -04:00
Wilson Snyder
53cd9d2403
Fix nested union crash, bug643.
2013-05-10 21:02:48 -04:00
Wilson Snyder
3d0f5fc078
Fix packed array non-zero right index select crash, bug642.
2013-05-10 07:09:25 -04:00
Wilson Snyder
54eedcc739
Support signal[vec]++.
2013-05-06 08:02:16 -04:00
Wilson Snyder
1bea845ceb
Fix simulation error when inputs and MULTIDRIVEN, bug634.
2013-05-02 08:23:17 -04:00
Wilson Snyder
d581582339
Add ALWCOMBORDER warning.
2013-04-30 22:55:28 -04:00
Wilson Snyder
4eabc1992e
Fix gcc 4.1.2 compile warnings
2013-04-30 22:55:03 -04:00
Wilson Snyder
345a5d5646
Add --pins-sc-uint and --pins-sc-biguint, bug638.
2013-04-26 21:02:32 -04:00
Wilson Snyder
464679c78b
Fix module resolution with __, bug631.
2013-03-12 07:27:17 -04:00
Wilson Snyder
9e29625207
Fix UNOPTFLAT circular array bounds crossing, bug630.
2013-03-08 19:25:20 -05:00
Wilson Snyder
a767da4f3f
Support <number>'() sized casts, bug628.
2013-03-05 22:13:22 -05:00
Wilson Snyder
7bd96c2876
Internals: Tristate commentary
2013-02-27 22:59:17 -05:00
Wilson Snyder
70fd64dcd6
IEEE 1800-2012 is now the default language. This adds 4 new keywords and updates the svdpi.h and vpi_user.h header files.
2013-02-26 23:01:19 -05:00
Jeremy Bennett
bb2822f4b5
Add --report-unoptflat, bug611.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2013-02-26 22:26:47 -05:00
Wilson Snyder
ad21108b63
Internals: Create graph clone methods.
2013-02-25 21:03:50 -05:00
Wilson Snyder
6c8d95e0e2
Nice message on fopen with missing argument.
2013-02-22 17:14:27 -05:00
Wilson Snyder
6594a54a95
Fix wrong dot resolution under inlining.
2013-02-21 23:38:29 -05:00
Wilson Snyder
a9a4cf061a
Fix tristate duplicate __Vcellinp declaration
2013-02-20 22:28:56 -05:00
Wilson Snyder
b7f0e204cb
Spelling fixes
2013-02-20 21:51:39 -05:00
Varun Koyyalagunta
e6a15f233b
Internals: GateDedupe: Use visitor per msg980.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2013-02-20 20:26:53 -05:00
Varun Koyyalagunta
e0edb596ea
Add duplicate clock gate optimization, msg980.
...
Experimental and disabled unless -OD or -O3 used (for now),
Please try it as may get some significant speedups.
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2013-02-20 20:14:15 -05:00
Varun Koyyalagunta
f2fb77c15a
Internals: New Hashed/Graph functions towards msg980.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2013-02-19 18:49:36 -05:00
Wilson Snyder
772a3a97eb
Internals: Functions in order. No functional change.
2013-02-18 12:15:50 -05:00
Wilson Snyder
6c310836a1
Internals: Track original signal name. No functional change.
2013-02-18 11:22:24 -05:00
Wilson Snyder
75416a3016
Commentary
2013-02-18 11:05:47 -05:00
Wilson Snyder
e71baca39b
Internals: Make propagateAttrClocksFrom. No functional change.
2013-02-16 08:07:18 -05:00
Wilson Snyder
18eb210313
Support bind in , bug602.
2013-02-14 06:55:09 -05:00
Wilson Snyder
4386077e2d
Support pattern assignments with data type labels, bug618.
2013-02-13 20:52:38 -05:00
Wilson Snyder
49dbfd2131
Support pattern assignments in function calls, bug617.
2013-02-13 20:32:25 -05:00
Wilson Snyder
a80fce5ac1
Support pattern assignments to const variables, bug616.
2013-02-13 19:32:36 -05:00
Wilson Snyder
891b981cab
Fix LITENDIAN on unpacked structures, bug614.
2013-02-13 19:03:10 -05:00
Jeremy Bennett
062eb85075
Fix DETECTARRAY on packed structures, bug610.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2013-02-10 09:54:27 -05:00
Wilson Snyder
0df561f873
Fix whole slices of arrays, bug609.
2013-02-04 22:11:10 -05:00
Wilson Snyder
238fc24684
Remove slow sync() call for NFS flushing.
2013-02-04 21:21:55 -05:00
Wilson Snyder
936855c81c
Fix elimination, bug610 _2 test.
2013-02-03 14:13:16 -05:00
Wilson Snyder
f07f6a26a8
cppcheck fixes
2013-02-03 13:27:37 -05:00
Wilson Snyder
7d44bba95c
Better packed-array misconnect error message
2013-02-02 19:22:02 -05:00
Wilson Snyder
6e6f1045b8
Fix per-bit array output connection error, bug414.
2013-02-02 18:33:10 -05:00
Wilson Snyder
5dd3221759
Fix complete selection of array ports
2013-02-02 16:52:08 -05:00
Wilson Snyder
09edb467f6
Fix CDC report causing out-of-memory
2013-02-02 15:40:59 -05:00
Wilson Snyder
ffb187ae15
Fix enums in sensitivity lists
2013-02-02 14:37:18 -05:00
Wilson Snyder
b4a8be07f3
Fix enum items under packages.
2013-02-02 14:11:50 -05:00
Wilson Snyder
4968a2abc5
Support inside expressions.
2013-02-02 12:55:48 -05:00
Wilson Snyder
91159da30d
Fix enums with X values. Test in next commit.
2013-02-02 12:43:28 -05:00
Wilson Snyder
c9ad61b4fb
Support wires with data types, bug608.
2013-02-02 09:33:04 -05:00
Wilson Snyder
e1eb41fe77
Fix segfault on multidimensional dotted arrays, bug607.
2013-01-25 21:27:19 -05:00
Wilson Snyder
498ab23355
Commentary
2013-01-20 13:00:02 -05:00
Wilson Snyder
5d6a053f98
Fix internal error on array pin mismatch, bug393.
2013-01-20 12:59:27 -05:00
Wilson Snyder
929aeebf12
Support , and related functions, bug448.
2013-01-20 12:19:22 -05:00
Wilson Snyder
00bd947385
Tests: Additional unsupported iface tests
2013-01-19 14:40:35 -05:00
Wilson Snyder
d4ef86afc0
Fix signed/unsigned parameter misconversion, bug606.
2013-01-18 21:35:43 -05:00
Wilson Snyder
1856cad816
Maintain little endian indication for multidimensional arrays
2013-01-17 23:21:07 -05:00
Wilson Snyder
f29f30dce0
Fix struct +: slices, bug605.
2013-01-17 21:48:35 -05:00
Wilson Snyder
de4016dcff
Internals: Ast classes create declRange().
2013-01-17 20:41:45 -05:00
Wilson Snyder
bbeb382cbb
Internals: Rename range lo/hi to match IEEE.
2013-01-17 20:29:20 -05:00
Wilson Snyder
385c166830
Fix package logic var compile error.
2013-01-17 19:04:36 -05:00
Wilson Snyder
410e6ff203
Fix DECLFILENAME warning on .
2013-01-17 18:38:51 -05:00
Jeremy Bennett
8b47c4e307
Fix loosing logic/bit difference and -x-initial-edge fallout, bug604.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2013-01-17 07:16:19 -05:00
Wilson Snyder
6d1b42bedb
Fix implicit one bit parameter selection, bug603.
2013-01-16 20:58:48 -05:00
Wilson Snyder
f0a4bd28b6
Comment about -x-initial-edge and logic/bit.
2013-01-16 20:47:22 -05:00
Wilson Snyder
2879684f21
Define SYSTEMVERILOG, SV_COV_START and other IEEE mandated predefines.
2013-01-16 19:11:56 -05:00
Wilson Snyder
0437d0abea
Fix pin width mismatch error, bug595.
2013-01-15 19:26:35 -05:00
Wilson Snyder
795e66eac9
Support bind, to module names only, bug602.
2013-01-14 23:19:44 -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
66b1611649
In debug, show node dump after errors.
2013-01-14 21:37:55 -05:00
Wilson Snyder
7f5220a6ca
Internals: Fix marking of packed vs unpacked wires.
2013-01-13 22:18:57 -05:00
Wilson Snyder
e41e26717b
Commentary
2013-01-13 19:51:15 -05:00
Wilson Snyder
7a8184d206
Internals: Remove dimension and use only dtypes for V3Width.
2013-01-13 15:21:38 -05:00
Wilson Snyder
13bf2f19ac
Internals: Have V3Unknown/Const use only dtypes for selects.
2013-01-13 14:54:12 -05:00
Wilson Snyder
1d5ebfd0b1
Internals: Have V3WidthSel use only dtypes for select promotion.
2013-01-13 14:49:53 -05:00
Wilson Snyder
dfc11da2ce
Internals: Dump array bounds in tree file.
2013-01-13 14:30:56 -05:00
Wilson Snyder
191af2e87b
Internals: Make SelPlus consistent with other branches. No functional change intended.
2013-01-13 11:30:05 -05:00
Wilson Snyder
0985b82760
Commentary
2013-01-13 09:48:12 -05:00
Wilson Snyder
26f4b5a69a
Stats: Count only unpacked
2013-01-12 16:26:26 -05:00
Wilson Snyder
5c7a6e278f
Internals: Split into packed and unpacked array types
2013-01-12 16:19:25 -05:00
Wilson Snyder
ae1ab8aaaa
Fix array slice selection of msb==lsb.
2013-01-12 15:34:09 -05:00
Wilson Snyder
18c25d1b6f
Commentary
2013-01-12 14:51:16 -05:00
Wilson Snyder
5888a2c399
Internals: Move V3WidthSel::range into V3Width. No functional change intended.
2013-01-12 14:23:56 -05:00
Wilson Snyder
0a3a582949
Fix array extraction of implicit vars, bug601.
2013-01-09 19:00:12 -05:00
Wilson Snyder
08fec0534d
Fix package import preventing local var, bug599.
2013-01-08 19:06:52 -05:00
Wilson Snyder
5bf92c9d3a
Fix task inlining under case values, bug598. Note this reorders high level operations, so may change loose some optimizations.
2013-01-02 18:35:21 -05:00
Wilson Snyder
a8bbf7231b
Copyright year update.
2013-01-01 09:42:59 -05:00
Wilson Snyder
229d854607
Fix package resolution of parameters, bug586.
2012-12-31 17:05:13 -05:00
Wilson Snyder
562460606f
Internals: Add V3LinkDot m_ds structure, towards bug586. No functional change.
2012-12-31 14:00:04 -05:00
Wilson Snyder
46f70b1cbb
Fix implying dotted wire names
2012-12-31 13:50:44 -05:00
Wilson Snyder
a547133efe
Internals: Remove VAR_MEM to match Verilog-Perl, towards bug586.
2012-12-31 13:47:34 -05:00
Wilson Snyder
cf445898ce
Internals: Move VARRESET rule to match Verilog-Perl and prevent next change conflict, towards bug586. No functional change.
2012-12-31 13:43:54 -05:00
Wilson Snyder
98f68e46d6
Fix package import of package imports, partial bug592.
2012-12-17 20:26:40 -05:00
Wilson Snyder
27660b271d
Fix package import of non-localparam parameter, bug591.
2012-12-17 19:07:23 -05:00
Wilson Snyder
4c7f051247
Fix task inlining under , bug589.
2012-12-15 21:41:37 -05:00
Wilson Snyder
cc47ba2404
Support "unsigned int" DPI import functions, msg966.
2012-12-03 20:43:13 -05:00
Wilson Snyder
2238fa46ed
Show fileline in bison debug.
2012-12-02 18:03:34 -05:00
Wilson Snyder
de8b040e31
bisonpre: Add colon to states for searching
2012-12-02 16:19:31 -05:00
Wilson Snyder
f607b32938
Fix crash on dotted references into dead modules, bug583.
2012-11-30 06:57:36 -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
Jeremy Bennett
39a31fc17f
Fix --debug overriding preceding --dump-treei, bug580.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2012-11-21 06:55:28 -05:00
Wilson Snyder
7a8c425103
Add +1364-1995ext and similar language options, bug532.
2012-11-13 20:12:23 -05:00
Wilson Snyder
6cd9b25a53
Fix array of struct references giving false error, bug566.
2012-11-03 09:17:42 -04:00
Wilson Snyder
0431b1909c
Fix name collision on task inputs, bug569.
2012-11-03 08:01:19 -04:00
Wilson Snyder
907665e2e8
Fix name collision on unnamed blocks, bug567.
2012-11-02 20:30:47 -04:00
Wilson Snyder
61e8836fbd
Add -x-initial-edge, bug570. by Jeremy Bennett; from BENNETT/initial-edge branch.
2012-11-02 19:55:34 -04:00
Wilson Snyder
7ef37d6e17
Fix missing var access functions when no DPI, bug572.
2012-10-30 03:02:35 -04:00
Wilson Snyder
158e112752
Internals: Resolve misc bison comments with Verilog-Perl. No functional change.
2012-10-08 21:20:13 -04:00
Wilson Snyder
ec992c7f5e
Internals: Resolve misc bison comments with Verilog-Perl
2012-10-08 20:45:39 -04:00
Wilson Snyder
e7d63c7644
Fix large shift error on large shift constants.
2012-10-08 07:05:54 -04:00
Wilson Snyder
6464e8fee6
Misc code cleanups. Merge from assignment pattern branch. No functional change.
2012-09-25 19:27:00 -04:00
Wilson Snyder
047d66a657
Slice code cleanup. No functional change.
2012-09-25 19:17:57 -04:00
Wilson Snyder
c378d32c85
Fix parameter pins interspersed with cells broke in 3.840.
2012-09-07 19:51:41 -04:00
Jeremy Bennett
48dddd4ae7
Debug: Use dot label rather than a custom nTITLE node to label the graph. Generate all graph level attributes as attributes of the graph entity. bug555.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2012-08-27 19:02:27 -04:00
Wilson Snyder
9c00fd10de
Add --savable to support model save/restore.
2012-08-26 21:19:43 -04:00
Wilson Snyder
f0e1d204fa
Fix triangle symbol resolution error broke in 3.840, bug550.
...
This requires the parse symbol table persist across all parse runs. This is
probably more correct than before, but may result in some fallout if people
relied on data types not being persistant across separately parsed cells.
2012-08-15 21:28:30 -04:00
Wilson Snyder
8ece0a8a5f
Create V3ParseSym. No functional change.
2012-08-15 21:14:20 -04:00
Wilson Snyder
d3601dd561
Support '{} assignment pattern on structures, part of bug355.
2012-08-12 15:15:21 -04:00
Wilson Snyder
f685cf1d0c
Fix duplicate begin error broke in 3.840, bug548.
2012-08-10 19:39:18 -04:00
Wilson Snyder
5f9810070d
Fix imports under multiple instantiated cells, bug542.
2012-08-08 21:59:17 -04:00
Wilson Snyder
b51d197117
Fix defparam in generate broke in 3.840, bug543.
2012-08-07 18:24:51 -04:00
Wilson Snyder
e4f0a8952c
Fix double-deep parameter cell WIDTHs, bug541.
2012-08-02 07:02:57 -04:00
Wilson Snyder
6339159b04
MAJOR: Support packed structures and unions, bug181.
2012-07-29 10:16:20 -04:00
Wilson Snyder
aec019991c
Tests: Misc fixes from struct branch.
2012-07-28 14:05:30 -04: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
ecf508ec23
Fix replicate verilog dump being backwards
2012-07-28 08:25:27 -04:00
Wilson Snyder
1899096ff4
Internals: Width debug and null print check
2012-07-27 21:12:06 -04:00
Wilson Snyder
6e219f5831
Internals: Rework V3WidthSel func for non-vars. No functional change intended.
2012-07-25 07:26:41 -04:00
Wilson Snyder
b52d94273c
Internals: Move variable referencing into LinkDot in support of structs.
2012-07-24 06:26:35 -04:00
Wilson Snyder
e655c85489
Internals: findBit etc can be const. No functional change.
2012-07-23 21:29:53 -04:00