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