Wilson Snyder
d67d75282c
Support ++/-- on dotted member variables.
2023-04-07 20:57:17 -04:00
Kamil Rakoczy
827cbf22c9
Fix sense expression variable naming ( #4081 )
2023-04-07 07:23:37 -04:00
Wilson Snyder
05660d1118
Add CONSTRAINTIGN warning when constraint ignored. Likewise ignore constraint_mode, rand_mode.
2023-04-05 21:27:37 -04:00
Ryszard Rozak
a3f9221a67
Fix importing symbols from base class ( #4084 )
2023-04-04 20:56:18 -04:00
Wilson Snyder
7e1980af7a
Tests: Avoid t_dist failures on deleted files.
2023-04-02 15:10:45 -04:00
Wilson Snyder
921fd919b5
Tests: Improve short circuit test
2023-04-01 23:10:05 -04:00
Wilson Snyder
86156dd05b
Revert false-positive static error ( #4072 ) ( #4077 )
2023-04-01 18:54:37 -04:00
Wilson Snyder
3219ffddd4
Tests: Ignore commented out messages
2023-04-01 18:17:45 -04:00
Wilson Snyder
3a01c32bf9
Revert false-positive static error ( #4072 ) ( #4077 )
2023-04-01 15:45:34 -04:00
Wilson Snyder
9ffd0a4e70
Support queue[$-1] selects.
2023-04-01 15:23:39 -04:00
Wilson Snyder
69121633cf
Support class srandom and class random stability.
2023-04-01 10:50:27 -04:00
Wilson Snyder
93c598dd19
Commentary
2023-04-01 10:38:33 -04:00
Krzysztof Bieganski
d012563ab1
Fix tracing with awaits at end of block ( #4075 ) ( #4076 )
...
Given an await at the end of a block, e.g. at the end of a loop body, a trace
activity setter was not inserted, as there were no following statements. This
patch makes the activity update unconditional.
2023-03-31 13:51:31 -04:00
Krzysztof Bieganski
0b96789e65
Add error on static access to non-static class member ( #4072 )
...
Before this patch, it was possible to access non-static class members using
static access, which resulted in C++ compilation errors. This adds
verilation-time checks for such situations.
2023-03-27 10:46:51 -04:00
Wilson Snyder
947402bc57
Fix interface generate begin ( #4065 ).
2023-03-26 08:49:38 -04:00
Yutetsu TAKATSUKASA
d4107dce52
Improve xor tree optimization ( #4071 )
...
* AstNot does not have to be frozen in an xor tree during BitOp tree optimization.
* Tests: Update stats.
2023-03-26 20:36:32 +09:00
Yutetsu TAKATSUKASA
990b19e048
Fix incorrect optimization of bit op tree ( #4059 ) ( #4070 )
2023-03-26 03:29:10 -04:00
Srinivasan Venkataramanan
2290e6ccf2
Fix info message prints under --assert ( #4036 ) ( #4053 )
2023-03-24 19:22:48 -04:00
Wilson Snyder
14c8f072f1
Commentary
2023-03-24 19:06:07 -04:00
Krzysztof Bieganski
c55df02b1a
Fix C++ compile errors when passing class refs as task arg ( #4063 )
...
1. Fixes passing a null reference as a task argument. Before this patch it would
cause a C++ compile error like `cannot convert ‘VlNull’ to ‘VlClassRef<...>’`.
2. Fixes passing a class reference as a task argument when the argument is a
reference to a base class. Before the patch it would cause a C++ compile
error like `cannot convert ‘VlClassRef<{DERIVED_CLASS}>’ to ‘VlClassRef<{BASE_CLASS}>`.
2023-03-24 13:18:59 -04:00
Ryszard Rozak
5b86248b54
Add error if class types don't match ( #4064 )
2023-03-24 13:18:20 -04:00
Ryszard Rozak
f439a7927f
Fix parameters in a class body to be localparam ( #4061 )
2023-03-23 10:20:35 +01:00
Aleksander Kiryk
277bd67f72
Fix NBAs inside fork-joins ( #4050 )
2023-03-21 10:39:29 -04:00
Krzysztof Bieganski
5de8ccbf32
Fix task calls as fork statements ( #4055 )
...
Before this patch, calling tasks directly under forks would result in each
statement of these tasks being executed concurrently. This was due to Verilator
inlining tasks most of the time. Such inlined tasks' statements would simply
replace the original call, and there would be no indication that these used to
be grouped together. Ultimately resulting in `V3Timing` treating each statement
as a separate process.
The solution is simply to wrap each fork sub-statement in a begin in `V3Begin`
(except for the ones that are begins, as that would be pointless). `V3Begin` is
already aware of forks, and is supposed to avoid issues like this one, so it
seems like a natural fit. This also protects us from similar bugs, i.e. if some
statement gets replaced or expanded into multiple statements.
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2023-03-21 13:50:53 +01:00
Iztok Jeras
2aa6a229ca
Change range order warning from LITENDIAN to ASCRANGE ( #4010 )
2023-03-20 20:44:11 -04:00
Wilson Snyder
2b21697b86
Support class extends of package::class.
2023-03-18 17:26:36 -04:00
Ryszard Rozak
371b8310d9
Support method calls without parenthesis ( #4034 )
...
* Support method class without parenthesis
Signed-off-by: Ryszard Rozak <rrozak@antmicro.com>
* Delete replaced nodes
Signed-off-by: Ryszard Rozak <rrozak@antmicro.com>
---------
Signed-off-by: Ryszard Rozak <rrozak@antmicro.com>
2023-03-17 13:25:39 +01:00
Ryszard Rozak
1ac721af8f
Add STATICVAR warning and convert to automatic ( #4027 ) ( #4030 )
...
Signed-off-by: Ryszard Rozak <rrozak@antmicro.com>
2023-03-17 07:48:41 -04:00
Wilson Snyder
85fd88ace2
Optimize duplicate JumpBlocks away ( #4028 )
2023-03-16 22:29:06 -04:00
Wilson Snyder
ed1e377bb1
Fix large return blocks with --comp-limit-blocks ( #4028 ).
2023-03-16 21:40:01 -04:00
Kamil Rakoczy
bbf53bd5af
Add VL_MT_SAFE attribute to several functions. ( #3729 )
2023-03-16 19:48:56 -04:00
Wilson Snyder
a9b07fe7d7
Tests: Remove unintended t_0 test
2023-03-16 18:44:28 -04:00
Kamil Rakoczy
66e4656a8e
Fix event controls reusing same variable ( #4014 )
2023-03-16 07:12:54 -04:00
Wilson Snyder
8ae79066a2
Fix false ENUMVALUE on expressions and arrays.
2023-03-15 21:56:35 -04:00
Wilson Snyder
36da6a3563
Fix parsing #1_2 delays
2023-03-15 21:22:28 -04:00
Wilson Snyder
45690faea7
Parse defparam = as unsupported
2023-03-15 21:04:10 -04:00
Wilson Snyder
046fecbb35
Fix fclose(0).
2023-03-15 20:49:59 -04:00
Ryszard Rozak
0f6024ef3c
Fix rand fields in base classes ( #4025 )
2023-03-15 11:48:18 -04:00
Wilson Snyder
2488b5a97f
Fix pullup/pulldown to create implicit wires.
2023-03-14 21:14:27 -04:00
Wilson Snyder
0fc5d37901
Fix bounded queues with parameter bounds
2023-03-14 20:29:47 -04:00
Wilson Snyder
ea4cc4e076
Parse nettype with package, still unsupported
2023-03-14 19:52:01 -04:00
Wilson Snyder
9e25c21fed
Fix unpacked struct clocking
2023-03-14 19:35:40 -04:00
Ryszard Rozak
fc3fdcc71c
Tests: Fix randomize_method test ( #4024 )
2023-03-14 13:47:43 -04:00
Ryszard Rozak
80b7b8bbdb
Don't call randomize on null field ( #4023 )
...
Signed-off-by: Ryszard Rozak <rrozak@antmicro.com>
2023-03-14 14:48:06 +01:00
Wilson Snyder
a8ce272e4a
Commentary: spelling
2023-03-14 08:39:54 -04:00
Ryszard Rozak
ed1a9309d4
Throw warning if static variable is declared in a loop ( #4018 )
...
Signed-off-by: Ryszard Rozak <rrozak@antmicro.com>
2023-03-14 10:03:08 +01:00
Ryszard Rozak
1d0a06438c
Assign unique names for blocks in do..while loop ( #4019 )
2023-03-14 09:54:43 +01:00
Wilson Snyder
2c62714a30
Fix push to dynamic queue in struct ( #4015 ).
2023-03-13 22:03:53 -04:00
Wilson Snyder
f13e753b52
Change ZERODLY to a warning.
2023-03-12 21:28:14 -04:00
Wilson Snyder
39a5bce8a6
Parse covergroup, still unsupported.
2023-03-12 14:11:11 -04:00
Wilson Snyder
1debd0405b
Support complicated IEEE 'for' assignments.
2023-03-12 10:46:40 -04:00
Wilson Snyder
1f1d9312d2
Parse event 'iff', still unsupported.
2023-03-11 22:39:59 -05:00
Wilson Snyder
259201b352
Support $fopen as an expression
2023-03-11 18:11:01 -05:00
Wilson Snyder
5489ec6eff
Parse 'first_match', and still unsupported.
2023-03-11 11:08:37 -05:00
Wilson Snyder
5c5c758718
Parse 'wait_order' and test, still unsupported.
2023-03-11 10:47:08 -05:00
Wilson Snyder
60a6ed2a20
Support assert property statement-else-statement
2023-03-10 22:13:17 -05:00
Wilson Snyder
81e8388c3f
Parse 'expect', still unsupported.
2023-03-10 21:48:56 -05:00
Andrew Nolte
fc17ab280a
Add --public-depth to force public to a certain instance depth ( #3952 )
2023-03-09 21:48:05 -05:00
Andrew Nolte
13c9877099
Add --public-params flag ( #3990 )
2023-03-08 19:38:26 -05:00
Krzysztof Boroński
f68c16a5e6
Fix symbol entries when inheriting classes ( #3995 ) ( #3996 )
2023-03-06 07:43:58 -05:00
Ryszard Rozak
cc45f64280
Add __PVT__ prefix to selects nodes ( #4001 )
2023-03-06 13:18:48 +01:00
Wilson Snyder
725ec088ea
Parse 'sequence' declarations, property case/if, still unsupported.
2023-03-06 05:12:09 -05:00
Wilson Snyder
87c3de5aab
Parse 'matches', still unsupported.
2023-03-05 23:58:54 -05:00
Wilson Snyder
6d7c04a3de
Parse cycle delays and boolean abbrev, still unsupported.
2023-03-05 23:22:41 -05:00
Wilson Snyder
d0f5ce0cc4
Parse intersect/throughout/within, still unsupported.
2023-03-05 19:57:09 -05:00
Wilson Snyder
cb89ef9885
Parse more property expression syntax, as still unsupported
2023-03-05 19:42:21 -05:00
Wilson Snyder
19bc257002
Internals: UNSUPPORTED commentary
2023-03-05 16:45:07 -05:00
Wilson Snyder
329a933efd
Internals: Parse nettype as unsupported
2023-03-04 10:50:28 -05:00
Wilson Snyder
e21198cb2d
Add warning on missing class reference #()
2023-03-03 21:06:52 -05:00
Wilson Snyder
ab502c5196
Fix coverage of class methods ( #3998 ).
2023-03-03 19:26:15 -05:00
Felix Neumärker
12728bc478
Fix UNDRIVEN warning seg fault ( #3989 )
2023-03-03 18:54:38 -05:00
Wilson Snyder
1e28387541
Tests: Add nettype test
2023-03-02 20:29:42 -05:00
Wilson Snyder
dd917d50eb
Internals: Parse interconnect then say unsupported
2023-03-02 20:02:14 -05:00
Kamil Rakoczy
0130c2bceb
Internals: update clang attributes check report conditions ( #3997 )
2023-03-02 18:37:07 -05:00
Wilson Snyder
8a5804fc3a
Tests: Add tagged union test
2023-03-02 08:11:11 -05:00
Wilson Snyder
976af0068b
Support parsing min:typ:max parameters
2023-03-01 23:11:48 -05:00
Wilson Snyder
463ea57b0a
Add error (vs previous warning) on enum value overflow.
2023-03-01 22:36:42 -05:00
Wilson Snyder
326a60d307
Add error on mixing .name and by-port instantiations.
2023-03-01 21:19:21 -05:00
Ryszard Rozak
2c60c5f816
Support recursive methods ( #3987 )
2023-03-01 21:07:37 -05:00
Cameron Kirk
faf3804b9a
Fix LITENDIAN warning is backwards ( #3966 ) ( #3967 ).
2023-03-01 11:46:44 -05:00
Wilson Snyder
7fc278f6db
Fix import of extends typedefs
2023-03-01 00:30:45 -05:00
Wilson Snyder
b1a95f642f
Support cast to numbers from strings.
2023-02-28 23:34:33 -05:00
Wilson Snyder
c6a569df49
Commentary
2023-02-28 18:38:52 -05:00
Krzysztof Boroński
06661ab676
Disallow ++/-- over expressions with potential side effects ( #3976 ).
2023-02-28 15:21:58 -05:00
Wilson Snyder
d9a0e69597
Commentary, fix copyright
2023-02-28 01:09:09 -05:00
Wilson Snyder
a0997d0b98
Fix internal error with UNSUPPORTED of procedural clocked assertions
2023-02-28 00:35:58 -05:00
Felix Neumärker
a3ff375ce7
Fix timing delays to not truncate below 64 bits ( #3973 ) ( #3982 )
2023-02-27 21:42:22 -05:00
Wilson Snyder
c03affa544
Fix enum.next(0) and enum.prev(0).
2023-02-26 15:24:24 -05:00
Wilson Snyder
4703fc39be
Add error to avoid @* fatal
2023-02-26 13:13:02 -05:00
Wilson Snyder
b039f246df
Lint check posedge of nonintegral
2023-02-26 12:08:10 -05:00
Wilson Snyder
a93b344096
Tests: use standard lower case for Perl vm_prefix
2023-02-26 10:18:40 -05:00
Wilson Snyder
b4dd398af6
Tests: Cleanup some C++ new calls. No functional change.
2023-02-23 06:14:54 -05:00
Wilson Snyder
cfe0fdd5cc
Untabify
2023-02-23 05:47:56 -05:00
Adam Bagley
003a8cfe75
Add lint warning on always_comb multidriven ( #3888 ) ( #3939 )
2023-02-23 05:36:28 -05:00
Wilson Snyder
7559af5879
Fix missing error on negative replicate ( #3963 ).
2023-02-22 19:11:02 -05:00
Ryszard Rozak
47a7e75841
Fix subsequent parameter declarations ( #3969 )
2023-02-22 11:26:25 +01:00
Wilson Snyder
adf1de45de
With -Wpedantic change ASSIGNIN to a warning
2023-02-21 16:45:35 -05:00
Ryszard Rozak
45f955f175
Fix self references to parameterized classes ( #3962 )
2023-02-17 11:17:35 -05:00
Ryszard Rozak
063f9a7a4c
Fix dicts declared with ref type ( #3960 )
2023-02-16 12:49:45 -05:00
Wilson Snyder
c82a098f2e
Internals: Parse class extends ::
2023-02-14 21:23:55 -05:00
Wilson Snyder
43d8de4f80
Support property var decls.
2023-02-14 20:44:14 -05:00
Wilson Snyder
026bbc306b
Removed deprecated --cdc option.
2023-02-13 22:49:51 -05:00
Wilson Snyder
f8b0e359b9
Support class parameters without initial values.
2023-02-13 22:06:52 -05:00
Wilson Snyder
94ef1b76d0
Fix error text on packed struct init.
2023-02-13 20:58:49 -05:00
Wilson Snyder
50929e5d43
Fix packed array structure replication.
2023-02-13 07:49:08 -05:00
Wilson Snyder
5064ec2806
Support type case and type equality comparisons.
2023-02-12 20:09:10 -05:00
Wilson Snyder
4f19eeaffa
Fix type(typedef) operation core dump
2023-02-12 19:57:52 -05:00
Wilson Snyder
15d0ec317d
Fix lint for non-integral types in packed structs.
2023-02-12 16:32:36 -05:00
Wilson Snyder
260d58e47e
Tests: Add struct tests
2023-02-12 13:30:52 -05:00
Wilson Snyder
d9c4d9316f
Parse checkers as UNSUPPORTED.
2023-02-11 14:31:28 -05:00
Wilson Snyder
e9441cff50
Parse external constraints as UNSUPPORTED.
2023-02-11 13:29:52 -05:00
Wilson Snyder
daa545774e
Parse randsequence as UNSUPPORTED.
2023-02-11 13:03:10 -05:00
Wilson Snyder
dee2e45e27
Tests: Add defparam not resolved test
2023-02-11 11:00:07 -05:00
Wilson Snyder
4d29487e75
Fix -Wpedantic on std::process.
2023-02-11 10:55:06 -05:00
Ryszard Rozak
d34aa10faf
Fix class field linking when a super classes is a param ( #3949 )
2023-02-10 07:44:14 -05:00
Kamil Rakoczy
93d50c4499
Internals: Add mutex to V3Error ( #3680 )
2023-02-09 22:15:37 -05:00
Todd Strader
4eb280601e
handle constant format field widths ( #3946 )
2023-02-09 10:09:00 -05:00
Wilson Snyder
b778784333
Add --annotate-points option, change multipoint on line reporting ( #3876 ).
2023-02-08 20:22:54 -05:00
Todd Strader
9121a81a74
Fix constant enum methods ( #3621 )
2023-02-08 18:50:27 -05:00
Todd Strader
d3cbb1e53f
Fix constant string function assignment ( #3945 )
2023-02-08 18:48:07 -05:00
Wilson Snyder
cf88700fc2
Fix virus detection false positive ( #3944 ).
2023-02-08 18:44:07 -05:00
Ryszard Rozak
072d76fe8e
Use VAR_BASE as attr type if a select's base is a ref ( #3943 )
...
Signed-off-by: Ryszard Rozak <rrozak@antmicro.com>
2023-02-07 15:10:19 +01:00
Aleksander Kiryk
3436d1780f
Fix namespace fallback resolution ( #3863 ) ( #3942 )
2023-02-07 07:13:55 -05:00
Wilson Snyder
1607225063
Fix VPI upper interface scopes not found ( #3937 ).
2023-02-05 16:16:39 -05:00
Wilson Snyder
dfc98e77c0
Commentary
2023-02-05 14:12:27 -05:00
Wilson Snyder
936bb7b1ed
Add error on size with unsized number
2023-02-05 14:06:03 -05:00
Wilson Snyder
508f6f7e5a
Fix core dump with initial variable delays
2023-02-05 13:17:35 -05:00
Wilson Snyder
70eceae3d8
Fix core dump on bad dotted reference.
2023-02-05 12:45:14 -05:00
Wilson Snyder
eb5aad94f1
Support to packed array
2023-02-05 10:18:03 -05:00
Wilson Snyder
2d89c458f6
Fix force/release of real.
2023-02-04 20:37:36 -05:00
Wilson Snyder
6908e471e7
Revert: e3558d9e: Support vpiDefName ( #3906 ) ( #3931 )
2023-02-03 21:26:21 -05:00
Andrew Nolte
e3558d9e1b
Support vpiDefName ( #3906 ) ( #3931 )
2023-02-03 19:14:41 -05:00
Wilson Snyder
4aa3e72509
Fix cmake 3.12+ warnings on MSWIN.
2023-02-03 17:16:39 -05:00
Aleksander Kiryk
31130c4b4a
Fix std:: to be parsed first ( #3864 ) ( #3928 )
2023-02-03 09:04:16 -05:00
Joseph Nwabueze
c8be50d40b
Add /*verilator public[flat|flat_rd|flat_rw| ]*/ metacomments ( #3894 )
2023-02-03 08:47:55 -05:00
github action
82f450d838
Apply 'make format'
2023-02-03 00:11:37 +00:00
Wilson Snyder
f6d4f1ad02
Fix very long VPI signal names ( #3929 ).
2023-02-02 19:10:23 -05:00
Wilson Snyder
645e1387e0
Tests: Fix merge conflict failure
2023-02-02 19:10:20 -05:00
Andrew Nolte
d3c14cc1ac
Split WIDTH warning into WIDTHEXPAND and WIDTHTRUNC ( #3900 )
2023-02-02 18:25:25 -05:00
Ryszard Rozak
33468fa0e7
Fix class extend parameter dot case ( #3926 )
2023-02-02 17:59:47 -05:00
Ryszard Rozak
0e955d503e
Handle references of static members of type aliases of a parametrized class ( #3922 )
...
Signed-off-by: Ryszard Rozak <rrozak@antmicro.com>
2023-02-02 08:36:11 +01:00
Andrew Nolte
18e317fb78
Fix inconsistent naming of generate scope arrays ( #3840 )
2023-02-01 17:30:02 -05:00
Wilson Snyder
ef9f443532
Fix single-element replication to dynarray/unpacked/queue ( #3548 ).
2023-01-31 22:43:41 -05:00
Wilson Snyder
6e3b957b30
Tests: Add iterate check ( #3919 )
2023-01-31 19:34:27 -05:00
Ryszard Rozak
7f3e178b68
Fix paramaterized class function linkage ( #3917 )
...
* Visit function arguments even if the function is unlinkable
* Don't use m_unlinedScopep in AstLambdaArgRef handling
2023-01-30 22:20:56 -05:00
Larry Doolittle
29f4821d78
Tests: Check Makefiles for stray tabs ( #3914 )
2023-01-30 07:31:39 -05:00
Larry Doolittle
d80e0523cc
Fix nonsensical permissions of some files in test_regress/t ( #3912 )
...
chmod a-x *.out *.v *.vlt
2023-01-29 20:32:19 -05:00
Wilson Snyder
6a7dfb7696
Fix pattern assignment to unpacked structs ( #3510 ).
2023-01-29 16:50:10 -05:00
Wilson Snyder
4208db7811
Support multiple-output buf/not gate primitives
2023-01-28 23:20:48 -05:00
Wilson Snyder
a19dddf05e
Fix real parameters of infinity and NaN.
2023-01-28 22:11:09 -05:00
Wilson Snyder
7855a78a0f
Support %p of union with real
2023-01-28 21:41:50 -05:00
Wilson Snyder
248bd173d3
Support interface classes and class implements.
2023-01-28 18:06:37 -05:00
Wilson Snyder
8d2be855f5
Internals: Parsing and tests for class interfaces
2023-01-28 16:30:47 -05:00
Wilson Snyder
ba8700f99d
Support $changed_gclk, $fell_gclk, $rose_gclk, $stable_gclk
2023-01-28 14:05:26 -05:00
Wilson Snyder
f20997a2f0
Support global clocking and $global_clock.
2023-01-28 12:31:52 -05:00
Wilson Snyder
bea225e191
Fix duplicate name check on extern symbols
2023-01-28 11:55:44 -05:00
Wilson Snyder
93517b8378
Support unpacked unions.
2023-01-27 22:41:12 -05:00
Kamil Rakoczy
a39c7f7dac
Internals: Add V3ThreadPool class ( #3898 )
...
The thread pool is self tested, but not otherwise used by the code yet.
2023-01-27 10:43:50 -05:00
Ilya Barkov
d118a739dc
Fix cinlude check ( #3907 )
2023-01-26 06:35:59 -05:00
Wilson Snyder
c2a8810eb1
Tests: Check for new .pl file copyrights
2023-01-25 22:14:43 -05:00
Ryszard Rozak
91c44d7830
Support class extending its parameter ( #3904 )
2023-01-25 20:33:18 -05:00
Wilson Snyder
21aafe8f50
Tests: Fix file length issue (cousin of #3905 )
2023-01-25 19:42:28 -05:00
Ryszard Rozak
4a8cfe367d
Support function calls without parenthesis ( #3903 ) ( #3902 )
...
Signed-off-by: Ryszard Rozak <rrozak@antmicro.com>
2023-01-24 15:36:30 +01:00
Ryszard Rozak
b56e7f6910
Support static function variables ( #3830 )
2023-01-23 08:35:10 -05:00
Wilson Snyder
8a85cedaf5
Tests: Update test, part of ( #3378 ) ( #3892 )
2023-01-23 07:23:42 -05:00
Varun Koyyalagunta
be26e8da1b
Support struct I/O in --lib-create ( #3378 ) ( #3892 )
2023-01-22 22:24:36 -05:00
Wilson Snyder
b2dd5de860
Tests: Fix some unusual check_finished cases.
2023-01-22 22:21:36 -05:00
Kamil Rakoczy
6ea725f479
Add --verilate-jobs option ( #3889 )
...
Currently this option isn't used, but in the future it will be used to specify parallelization of Verilation step.
2023-01-22 21:52:52 -05:00
Wilson Snyder
53835355b0
Add CFG_CXXFLAGS_STD so CFG_CXXFLAGS_STD_NEWEST can still exist ( #3881 )
2023-01-22 09:44:50 -05:00
Geza Lore
3069860fdf
Allow mismatched widths in operands of shifts in DFG
...
Fixes #3872 .
Testing this is a bit tricky, as the front-end fixes up the operand
widths in shifts to match, and we need V3Const to introduce a mismatched
one by reducing `4'd2 ** x` (with x being 2 2-bit wide signal) to `4'd1
<< x`, but t_dfg_peephole runs with V3Const disabled exactly because it
makes it hard to write tests. Rather than fixing this one case in
V3Const (which we should do systematically at some point), I fixed DFG
to accept these just in case V3Const generates more of them. The
assertions were there only because of paranoia (as I thought these were
not possible inputs), the code otherwise works.
2023-01-22 10:55:03 +00:00
Wilson Snyder
3a8288b0f6
Move test driver documentation into internals.rst
2023-01-21 16:17:26 -05:00
Wilson Snyder
30fd49e21f
Tests: Suppress test leak
2023-01-21 14:46:21 -05:00
Wilson Snyder
a98eceb501
Tests: Call debug earlier to allow command line override
2023-01-21 14:05:11 -05:00
Wilson Snyder
c2bdd06fcc
Fix VPI one-time timed callbacks ( #2778 ).
2023-01-21 13:43:27 -05:00
Ilya Barkov
8918f17c17
Support class queue equality ( #3895 )
2023-01-21 13:20:02 -05:00
Wilson Snyder
604af511fc
Tests: Fix missing include ( #2778 partial)
2023-01-20 21:15:01 -05:00
Wilson Snyder
5a39fc4ba9
Tests: Add t_dist_copyright.pl
2023-01-20 20:42:46 -05:00
Wilson Snyder
30d6edd2e5
Cleanup missing copyrights and those on simply copied files. No functional change.
2023-01-20 20:42:30 -05:00
Wilson Snyder
79f99dddf7
Tests: Rename to .out suffix
2023-01-20 20:32:52 -05:00
James Shi
5ef373500f
Fix module parameter name collision ( #3854 ) ( #3855 )
2023-01-20 18:38:59 -05:00
Ryszard Rozak
be53eec5ca
Support property calls without parenthesis ( #3879 ) ( #3893 )
2023-01-20 07:25:37 -05:00
James Shi
c1c0aa61f9
Fix signed/unsigned parameter types ( #3866 )
2023-01-19 18:00:32 -05:00
Wilson Snyder
e94023367f
Fix elaboration of member selected classes ( #3890 ).
2023-01-19 17:44:27 -05:00
Wilson Snyder
035bf13e4a
Fix foreach unnamedblk duplicate error ( #3885 ).
2023-01-18 21:48:06 -05:00
Joey Liu
901d1d8087
Fix unpacked array expansion ( #3861 )
2023-01-18 14:35:48 -05:00
Gökçe Aydos
956fd89b87
Support import/export lists in modport ( #3886 )
2023-01-18 11:46:51 -05:00
Ilya Barkov
ff2f711d0c
Fix chain call of abstract class constructor ( #3868 ) ( #3883 )
2023-01-17 13:02:39 -05:00
Wilson Snyder
46cc7b5d07
Test ( #3876 )
2023-01-17 07:31:04 -05:00
Aleksander Kiryk
a1160a85a3
Support p format for UnpackArray ( #3877 )
2023-01-16 12:41:02 -04:00
Wilson Snyder
5fce23e90d
Fix empty case items crash ( #3851 ).
2023-01-10 07:18:12 -05:00
Larry Doolittle
2d6d1235d6
Commentary: Spelling (and grammar) fixes ( #3846 )
2023-01-08 18:17:24 -05:00
Wilson Snyder
1d2293b783
Fix some indents of warnMore
2023-01-05 17:59:51 -05:00
Ryszard Rozak
4784daa7dc
Add IMPLICITSTATIC warning when a ftask/function is implicitly static ( #3839 )
2023-01-05 17:42:05 -05:00
Larry Doolittle
2ab70ba452
Internals: Cleanup .txt file whitespace ( #3842 )
2023-01-05 05:00:54 -05:00
Larry Doolittle
4370490a71
Convert three files from Unicode to ASCII ( #3841 )
2023-01-04 21:19:07 -05:00
Yutetsu TAKATSUKASA
816cff009a
Fix #3824 of wrong bit op tree optimization ( #3825 )
...
* Tests: Add a test to reproduce #3824
* Fix #3824 of wrong bitOpTree optimization. Consider constant 1 in an Or-tree made by shift-out.
2023-01-04 23:10:55 +09:00
Wilson Snyder
e004ea7ae2
Revert ( #3835 ) ( #3836 )
2023-01-03 08:25:30 -05:00
Andrew Nolte
6159a7dd8d
Fix VPI generate scope array naming ( #3835 ) ( #3836 )
2023-01-03 07:38:55 -05:00
Wilson Snyder
b24d7c83d3
Copyright year update
2023-01-01 10:18:39 -05:00
Ryszard Rozak
bf4a844f2b
Fix self references when param class instantiated ( #3833 )
2022-12-30 06:05:01 -05:00
Wilson Snyder
5dbff89a90
Internal line coverage fixes
2022-12-29 20:18:28 -05:00
Wilson Snyder
24198ef0ed
Internal line coverage fix
2022-12-29 14:18:45 -05:00
Wilson Snyder
8064b78d4f
Test: Rename
2022-12-29 14:10:47 -05:00
Larry Doolittle
80a144797d
Commentary: Fix more spelling ( #3828 )
2022-12-26 10:30:41 +01:00
Wilson Snyder
1f58f48c05
Tests: Rename test of last commit
2022-12-23 13:12:21 -05:00
Wilson Snyder
c0499da28b
Spelling fixes
2022-12-23 11:32:38 -05:00
Wilson Snyder
3ccb2e0f2d
Fix initiation of function variables ( #3815 ).
2022-12-23 10:51:52 -05:00
Krzysztof Bieganski
bb44d4e4f2
Support clocking blocks ( #3674 )
2022-12-23 07:34:49 -05:00
Jevin Sweval
299261714b
Fix crash in DFT due to width use after free ( #3817 ) ( #3820 )
2022-12-20 19:36:04 -05:00
Aleksander Kiryk
c2b09e35f8
Support unpacked structs ( #3802 )
2022-12-20 19:22:42 -05:00
Wilson Snyder
c3b4bc85fa
Tests: Ignore tabs in .mk.in
2022-12-20 11:20:23 -05:00
Mariusz Glebocki
cb413aa264
Tests: Make it mt-safe to call operators on guarded and local objects. ( #3821 )
2022-12-19 10:53:28 -05:00
Wilson Snyder
a15cd76a28
Tests: Add copyright.
2022-12-16 18:09:00 -05:00
Kamil Rakoczy
7a15457511
Tests: Add multithreading attribute checks ( #3748 )
2022-12-16 11:19:27 -05:00
Wilson Snyder
f331c192b4
Tests: Fix duplicated if.
2022-12-12 21:32:45 -05:00
Wilson Snyder
972a11537c
Internals: Fix lint-py warnings
2022-12-11 21:58:02 -05:00
Wilson Snyder
609bfa46e8
Fix ENUMVALUE on parameter, again ( #3777 ).
2022-12-11 21:10:12 -05:00
Wilson Snyder
86b07423a9
Fix ENUMVALUE on parameter ( #3777 ).
2022-12-11 13:28:24 -05:00
Wilson Snyder
3f4d4dec77
Fix ENUMVALUE on typedef ( #3777 )
2022-12-11 11:50:22 -05:00
Wilson Snyder
a0e7930036
docs: Fix spelling
2022-12-09 22:39:41 -05:00
Wilson Snyder
d61ad04f32
docs: Fix and test for AsciiDoc breaks ( #3728 )
2022-12-09 21:01:33 -05:00
Wilson Snyder
0824ef377f
wip
2022-12-09 20:32:09 -05:00
Wilson Snyder
2dc0053ea4
Tests: rename
2022-12-08 07:23:53 -05:00
Krzysztof Bieganski
4b6e15d0eb
Fix non-blocking assignments in forks ( #3781 ) ( #3800 )
2022-12-06 07:16:07 -05:00
Wilson Snyder
ea1b141d13
Support probablity distribution functions.
2022-12-04 17:30:51 -05:00
Wilson Snyder
675cc891a5
Tests: Add rerunnable(0)
2022-12-02 19:57:40 -05:00
Wilson Snyder
0809c17ce1
Tests: Rename some tests that should be _bad.
2022-12-02 19:17:29 -05:00
Wilson Snyder
701d2277cd
Tests: rename
2022-12-02 07:34:34 -05:00
Wilson Snyder
e465a30eee
Fix lint_off EOFNEWLINE in .vlt files ( #3796 ).
2022-12-01 18:27:36 -05:00
Yutetsu TAKATSUKASA
889a1211f1
Fix 3786 (Internal error in bit op tree optimization) ( #3793 )
...
* Tests: Add a test to reproduce 3786
* Fix #3786 (Internal error in bit op tree optimization).
2022-12-01 22:00:24 +09:00
Wilson Snyder
d87ef8394a
Fix CASEINCOMPLETE when covers all enum values ( #3745 ) ( #3782 ).
...
Co-authored-by: "G-A. Kamendje" <gkamendje@gmail.com>
2022-11-30 19:42:21 -05:00
Wilson Snyder
4f4c26383c
Support unpacked byte assignment from strings.
2022-11-30 19:17:28 -05:00
Wilson Snyder
42e4e18ec8
Support multiple $dumpvar identifiers
2022-11-30 18:13:57 -05:00
Wilson Snyder
355c4f76d0
Add error when super.new is not first statement ( #3789 )
2022-11-30 07:41:57 -05:00
Ryszard Rozak
073dc03adc
Support super.new calls ( #3789 )
2022-11-30 06:42:48 -05:00
Ryszard Rozak
faedcc755b
Tests: Add test of passing this as argument ( #3790 )
2022-11-29 10:46:26 -05:00
Yinan Xu
e569ff2752
Add error when use --exe with --lib-create. ( #3785 )
2022-11-29 06:37:38 -05:00
Krzysztof Bieganski
68e1b473e2
Support `std::semaphore` and typed `std::mailbox` ( #3708 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2022-11-28 16:53:55 +01:00
Wilson Snyder
f4be3d5d2b
Fix empty string literals converting to string types ( #3774 ).
2022-11-27 13:28:57 -05:00
Wilson Snyder
054b792021
Fix ENUMVALUE error to show value location ( #3783 )
2022-11-27 08:44:30 -05:00
Wilson Snyder
d8071819fc
Fix unquoted name in dtype errors.
2022-11-27 05:59:40 -05:00
Wilson Snyder
4b3731d318
Remove env from main() to be C++11 compatible
2022-11-23 18:50:31 -05:00
Ryszard Rozak
68f8617f79
Support member selects in with clauses ( #3775 )
2022-11-23 13:15:10 -05:00
Yves Mathieu
06fdf7be58
Add support of Events for VCD/FST traces ( #3759 )
2022-11-23 04:07:14 -05:00
Ryszard Rozak
57975c82b7
Support 'with' in unique, unique_index, min, max in queues ( #3772 )
2022-11-22 09:10:25 -05:00
Wilson Snyder
d3c1f4353e
Fix float parameters without parens
2022-11-21 06:48:13 -05:00
Ryszard Rozak
62bdd3ab49
Fix timing control in while-break loops ( #3733 ) ( #3769 )
2022-11-21 06:27:55 -05:00
Geza Lore
3abb65d732
Strengthen AstNode types to AstNodeExpr
...
Declare every AstNode children and variables as AstNodeExpr where we
statically know this is the appropriate sub-type.
2022-11-20 19:31:28 +00:00
Wilson Snyder
278d532368
Tests: Add TEST_DUMPFILE define
2022-11-20 09:40:02 -05:00
Wilson Snyder
6297650fef
Tests: Fix internal error stability
2022-11-20 07:45:51 -05:00
Wilson Snyder
5634e96bb6
Tests: Remove unsupported() in tests, instead check whatever is current behavior
2022-11-19 22:43:10 -05:00
Wilson Snyder
e266b2cb03
Tests: Add $dist tests
2022-11-19 22:01:55 -05:00
Wilson Snyder
0af3efda5c
Tests: Fix top_filename to properly test ( #3767 )
2022-11-19 17:09:43 -05:00
Wilson Snyder
d3e1c40238
Tests: Cleaner macro. No functional change.
2022-11-19 17:06:11 -05:00
Wilson Snyder
aacb38b776
Support assignment expressions.
2022-11-19 15:23:37 -05:00
Mariusz Glebocki
d0e7177d8e
Disable stack size limit ( #3706 ) ( #3751 )
2022-11-19 14:44:54 -05:00
Wilson Snyder
3a27e3d67b
Fix false ENUMVALUE errors in unstable branch ( #3761 )
2022-11-19 14:07:39 -05:00
Wilson Snyder
09dff9c3a7
Fix false ENUMVALUE errors in unstable branch ( #3761 )
2022-11-19 13:30:23 -05:00
Wilson Snyder
0322e9da7e
Fix randcase inside function.
2022-11-18 21:30:34 -05:00
Ryszard Rozak
ef72b73a59
Support foreach loops on strings ( #3760 )
2022-11-18 07:07:56 -05:00
Wilson Snyder
749aab0a56
Support triple-quote blocks.
2022-11-17 20:38:01 -05:00
Wilson Snyder
e8a1e4745c
Support $stacktrace
2022-11-17 19:12:54 -05:00
Wilson Snyder
96306b7630
Tests: Update t_class_class
2022-11-17 18:15:38 -05:00
Ryszard Rozak
d41efb189d
Fix pre/postincrement operations ( #3744 ) ( #3756 )
2022-11-17 13:26:45 -05:00
Wilson Snyder
3c77c7bb92
Support and
2022-11-16 21:10:54 -05:00
Ryszard Rozak
3ddfa214e3
Fix $unit as base package for other packages ( #3755 )
2022-11-16 18:58:57 -05:00
Wilson Snyder
a58cd66358
Fix printtimescale
2022-11-16 18:17:24 -05:00
Wilson Snyder
c6ecd60993
Support pre_randomize and post_randomize.
2022-11-13 11:59:40 -05:00
Wilson Snyder
d25834e57b
Add ENUMVALUE warning when value misused for enum ( #726 ).
2022-11-12 20:11:05 -05:00
Geza Lore
eaf09ba0e7
Dfg: resolve multi-driven signal ranges
...
In order to avoid unexpected breakage on multi-driven variables, we
resolve in DFG construction by using only the first driver encountered.
Also issues the MULTIDRIVEN error for these signals.
2022-11-12 20:34:51 +00:00
Wilson Snyder
0a045a7bf6
Change ENDLABEL from warning into an error.
2022-11-12 12:09:48 -05:00
Geza Lore
dbcaad99c5
Dfg: Fix crash on additional driver from non-DFG logic
...
Ensure variables written by non-DFG code are kept
Fixes #3740
2022-11-12 11:55:49 +00:00
Wilson Snyder
a427860825
Support randcase.
2022-11-11 21:53:05 -05:00
Wilson Snyder
227e61f891
Fix comparing ranged slices of unpacked arrays.
2022-11-11 18:01:30 -05:00
Wilson Snyder
b2e61425d6
Fix const initial assignments.
2022-11-11 17:45:34 -05:00
Wilson Snyder
9d7c4d9af3
Fix wait 0.
2022-11-11 17:18:59 -05:00
Wilson Snyder
528a73a492
Fix instability after disable iff error.
2022-11-10 22:09:24 -05:00
Wilson Snyder
fbf2e59c85
Fix loss of V3Simulate on expression statements.
2022-11-10 20:49:11 -05:00
Wilson Snyder
16586d1d37
Fix tracing parameters overridden with -G ( #3723 ).
2022-11-10 20:30:10 -05:00
Ryszard Rozak
441b5da5ce
Fix 'with' clause handling in functions ( #3739 )
2022-11-10 18:08:15 -05:00
Wilson Snyder
e64295e92b
Fix missing UNUSED warnings with --coverage ( #3736 ).
2022-11-09 21:45:14 -05:00
Ryszard Rozak
cbf9cc8e5f
Fix return in constructors ( #3734 )
2022-11-09 06:32:22 -05:00
Ryszard Rozak
a29d9469da
Fix jump handling in do while loops ( #3731 )
2022-11-08 20:01:08 -05:00
Geza Lore
fb9ec03c3f
DfgPeephole: Use a work list driven algorithm for speed
...
Replace the 'run to fixed point' algorithm with a work list driven
approach. Instead of marking the graph as changed, we explicitly add
vertices to the work list, to be visited, when a vertex is changed. This
improves both memory locality (as the work list is processed in last in
first out order), and removed unnecessary visitations when only a few
nodes changes.
2022-11-05 20:31:09 +00:00
Wilson Snyder
21926eeb6b
Tests: Improve some coverage
2022-11-05 11:40:34 -04:00
Geza Lore
6ae6b16223
V3Const: Fix folding of LogAnd with non-bool operands
...
Folding an AstLogAnd with a non-zero constant operand used to coerce the
type of the other operand, yielding an ill-typed node that DFG was then
unhappy about. Add a RedOr instead if the width of the replacement
operand is greater than zero.
Fixes #3726
2022-11-05 13:36:21 +00:00
Kamil Rakoczy
d6126c4b32
Remove --no-threads; require --threads 1 for single threaded ( #3703 ).
2022-11-05 08:47:34 -04:00
Ryszard Rozak
8d61cea366
Fix return type of $countbits functions to int ( #3725 )
2022-11-04 08:58:17 -04:00
Geza Lore
65e08f4dbf
Make all expressions derive from AstNodeExpr ( #3721 ).
...
Apart from the representational changes below, this patch renames
AstNodeMath to AstNodeExpr, and AstCMath to AstCExpr.
Now every expression (i.e.: those AstNodes that represent a [possibly
void] value, with value being interpreted in a very general sense) has
AstNodeExpr as a super class. This necessitates the introduction of an
AstStmtExpr, which represents an expression in statement position, e.g :
'foo();' would be represented as AstStmtExpr(AstCCall(foo)). In exchange
we can get rid of isStatement() in AstNodeStmt, which now really always
represent a statement
Peak memory consumption and verilation speed are not measurably changed.
Partial step towards #3420
2022-11-03 16:02:16 +00:00
Ryszard Rozak
bac98df46b
Support named properties ( #3667 )
2022-11-01 18:53:47 -04:00
Geza Lore
0675510eb9
DFG: Fix attempted evaluation of constants wider than 32 bits
...
Fixes #3718
2022-10-28 17:14:19 +01:00
Wilson Snyder
ee26378394
Tests: Fix instability ( #3717 )
2022-10-28 10:32:52 -04:00
Geza Lore
54c4351c39
V3Const: Do not introduce redundant AstExtend
...
Fixes #3716
2022-10-28 14:54:00 +01:00
Geza Lore
e504e9aced
Optimize clocked processes to comb when referencing const variables
...
In V3Active, we try hard to turn `always @(a or b or c)` into an
`always_comb` if the only variables read in the block are also in the
sensitivity list. In addition, also allow this optimization when reading
variables that are not in the sensitivity list, but are known to be
constant/never changing after initialization. In particular lookup
tables introduced by V3Table are covered by this. This can have a
significant impact on designs that use the `always @(a or b or c)` style
for combinational logic.
2022-10-28 14:37:30 +01:00
Wilson Snyder
5c658f8cd5
Fix width mismatch on inside operator ( #3714 ).
2022-10-28 06:38:49 -04:00
Kamil Rakoczy
ed93a111c2
Fix deadlock in ``timeprecision`` when using systemC ( #3707 )
2022-10-26 04:50:28 -07:00
Wilson Snyder
3487701b04
Tests: Cover some previously uncovered warnings
2022-10-22 16:03:42 -04:00
Wilson Snyder
d33a3d09f7
Tests: Fix bison-dependent .out
2022-10-22 14:35:36 -04:00
Wilson Snyder
0716a28816
Tests: Check for v3warn/v3error without a test
2022-10-22 13:46:49 -04:00
Wilson Snyder
8e1901da10
Tests: Cover some previously uncovered warnings
2022-10-22 13:45:48 -04:00