Wilson Snyder
d4bb58630e
Support 'for' initialization with comma
2023-04-09 09:56:39 -04:00
Wilson Snyder
13a87e5514
Parse process class, and report runtime errors ( #3612 )
2023-04-08 15:04:42 -04:00
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