Wilson Snyder
ed46878f7b
Fix virtual interface array typedef expressions ( #6057 ).
2025-06-04 21:43:46 -04:00
Wilson Snyder
593da4e38f
Internals: Fix missing const. No functional change.
2025-06-04 21:43:30 -04:00
Todd Strader
cfbcfd913c
Fix packed array deduction ( #6046 )
2025-05-31 07:55:00 -04:00
Wilson Snyder
79de1ff507
Fix WIDTHCONCAT on packed pattern assignment ( #6045 ).
2025-05-31 07:38:15 -04:00
Nick Brereton
8a8f04153a
Fix method calls and new to access interface arrays ( #5973 )
2025-05-29 22:11:47 -04:00
Wilson Snyder
8031ca2616
Add `MODMISSING` error, in place of unnamed error ( #6054 ).
2025-05-29 21:02:00 -04:00
Bartłomiej Chmiel
7dbe4f1807
Fix V3OrderParallel scoring contraction hang ( #6052 )
2025-05-29 10:31:57 -04:00
Todd Strader
5fcd0e52e7
Fix casting to arrays of enums ( #6044 )
2025-05-27 21:14:09 -04:00
Todd Strader
76aced4d40
Fix parameter types of user defined arrays ( #6042 )
2025-05-27 18:35:21 -04:00
Todd Strader
66259d8909
Fix GCC 10 read-only linker error ( #6040 )
2025-05-27 10:11:56 -04:00
Todd Strader
4b041c636f
Fix --x-initial and --x-assign random stability ( #2662 ) ( #5958 ) ( #6018 ) ( #6025 )
2025-05-27 09:31:55 -04:00
Bartłomiej Chmiel
9cc4cc0efd
Add `--hierarchical-threads` ( #6037 )
2025-05-26 09:37:35 -04:00
Petr Nohavica
22d484d54d
Fix associative arrays with enum keys ( #6034 ) ( #6035 )
2025-05-24 17:59:23 -04:00
Ryszard Rozak
90d4cf1361
Internals: V3Coverage cleanup. No functional change. ( #6033 )
2025-05-23 17:38:34 -04:00
Wilson Snyder
46c7b69c64
Internals: UINFO now includes newline itself. No functional change.
2025-05-22 20:29:32 -04:00
Wilson Snyder
af30436357
Internals: Rename VL_PACK/VL_UNPACK in prep for future fix. No functional change intended.
2025-05-22 06:54:16 -04:00
Ryszard Rozak
2491f25da7
Add filtering type option in verilator_coverage ( #6030 )
2025-05-22 02:42:09 -07:00
Todd Strader
d400584460
Fix concatenation and type casting ( #6012 ) ( #6013 )
2025-05-21 08:41:29 -04:00
Wilson Snyder
de08655c5b
Internals: Fix some legacy casts. No functional change.
2025-05-20 22:51:54 -04:00
Bartłomiej Chmiel
6d257ef52c
Improve hierarchical scheduling visualization in V3ExecGraph ( #6009 )
2025-05-20 12:15:09 -04:00
Shou-Li Hsu
25cb31c38b
Add aggregate type error checks ( #5570 ) ( #5950 )
2025-05-20 09:10:22 -04:00
Ryszard Rozak
bed0456eca
Add ternary operator into branch coverage ( #5880 )
2025-05-19 09:35:35 -04:00
Wilson Snyder
ad08302e5f
Support parameter forward types.
2025-05-19 08:35:38 -04:00
Wilson Snyder
27eb8cfe8a
Fix extraneous WIDTH warning on assoc.exists()
2025-05-18 11:25:25 -04:00
Yutetsu TAKATSUKASA
b26658fd96
Fix wrong optimization result of shifted out variable ( #6016 ) ( #6019 )
2025-05-18 07:18:37 -04:00
Wilson Snyder
0c8c7fb03c
Remove symbol table from parser: Support redeclaring type as non-type; major parsing change ( #2412 ).
2025-05-18 07:13:37 -04:00
Wilson Snyder
6bb16d6c52
Disable symbol from parser: Support redeclaring type as non-type; major parsing change ( #2412 ).
2025-05-18 07:13:37 -04:00
Wilson Snyder
2c465d9741
Internals: Fix MSVC warning.
2025-05-17 22:56:59 -04:00
Wilson Snyder
3b632739a8
Internals: Add RequireDType and check for recursive data types, in prep for future parser.
2025-05-17 20:40:03 -04:00
Wilson Snyder
640339ec36
Revert 'Fix --x-initial and --x-assign random stability ( #2662 ) ( #5958 ).' See ( #6018 ).
...
Reverts 4581023805 plus line in Changes file
2025-05-17 20:27:03 -04:00
Wilson Snyder
647404ec1e
Tests: Improve warning coverage
2025-05-17 16:28:09 -04:00
Wilson Snyder
66667b6172
Support SARIF JSON diagnostic output with `--diagnostics-sarif`. ( #6017 )
2025-05-17 15:46:15 -04:00
Zhen Yan
fc700538a5
Fix arithmetic left-shift by constants over 32 bits ( #6007 ) ( #6015 )
2025-05-16 21:57:52 -04:00
github action
8d3b47a18a
Apply 'make format'
2025-05-16 23:16:40 +00:00
Wilson Snyder
1bcd5ee0c1
Fix spelling
2025-05-16 19:02:19 -04:00
Todd Strader
4581023805
Fix --x-initial and --x-assign random stability ( #2662 ) ( #5958 )
2025-05-16 13:54:51 -04:00
Ryszard Rozak
73b3648262
Fix skipped genblocks in toggle coverage ( #6010 )
...
Signed-off-by: Ryszard Rozak <rrozak@antmicro.com>
Co-authored-by: Tomasz Gorochowik <tgorochowik@antmicro.com>
2025-05-16 08:24:57 -04:00
Zhen Yan
6b42d789af
Fix checking for too-wide divide and modulus ( #6003 ) ( #6006 )
2025-05-15 10:43:45 -04:00
Ryszard Rozak
6db599da45
Fix slicing of AstExprStmt nodes ( #6005 )
2025-05-14 11:55:02 -04:00
Geza Lore
2f6ecd1853
Fix folding of LteS in DfgPeephole ( #6004 )
...
Fixes #6000
2025-05-14 13:33:20 +01:00
Wilson Snyder
4c4fdb5dfe
Internals: Refactor some JSON and error code
2025-05-13 22:26:15 -04:00
Ryszard Rozak
91c52a4972
Support for assignments to concatenations with impure RHS ( #6002 )
2025-05-12 19:19:38 -04:00
Wilson Snyder
ac2313ecb7
Fix some errors exceeding the --error-limit
2025-05-11 22:36:40 -04:00
Wilson Snyder
fe4ad7de64
Internals: Use magic string for warnMore so lock-free.
2025-05-10 18:06:33 -04:00
Wilson Snyder
680236b03e
Internals: Redo post-error additional information to be part of error calls.
2025-05-10 16:20:12 -04:00
Wilson Snyder
0f528d136d
Fix arithmetic right-shift by constants over 32 bits ( #5994 ).
2025-05-10 13:59:56 -04:00
Wilson Snyder
d9dcde60a6
Fix duplicate error first-lines, and some internal V3Error cleanups
2025-05-10 13:29:30 -04:00
Yutetsu TAKATSUKASA
100e3d7702
Fix const-bit-op-tree with single-bit masks ( #5993 ) ( #5998 )
2025-05-10 06:01:15 -04:00
Wilson Snyder
d22608a49f
Internals: Refactor common V3JsonFile. No functional change.
2025-05-09 22:00:29 -04:00
Wilson Snyder
5d0fd8b9a7
Commentary
2025-05-09 21:22:17 -04:00
Wilson Snyder
7191a0ba8b
Internals: Favor preincrements. No functional change.
2025-05-09 21:20:35 -04:00
Bartłomiej Chmiel
5f4646f617
Ignore dependencies from different hierarchical schedules ( #5954 )
...
Signed-off-by: Bartłomiej Chmiel <bchmiel@antmicro.com>
2025-05-08 11:45:10 +01:00
Yilou Wang
a80aa07de6
Support constrained random for associative arrays ( #5985 ) ( #5986 )
2025-05-07 07:07:16 -04:00
Ryszard Rozak
2358f5c2a2
Fix AstAssignW conversion ( #5991 ) ( #5992 )
2025-05-07 05:54:18 -04:00
Wilson Snyder
bc3bf6ab5e
Tests: Add t_param_type_bad3
2025-05-06 21:11:34 -04:00
Wilson Snyder
b099d6fe63
Fix implicit dtype numbering to be per-module.
...
Internals: Remove use of parser in implicit dtype numbering.
2025-05-06 20:39:17 -04:00
Wilson Snyder
d5f773f385
Internals: Move hasParameterList away from symbol table. No functional change intended.
2025-05-06 08:03:30 -04:00
Wilson Snyder
da5eb620bf
Internals: Move timeunit to pragma, in prep for future parser. No user-functional change intended.
2025-05-06 06:34:49 -04:00
Yutetsu TAKATSUKASA
2ed754d5ea
Fix Inconsistent assignment error by split-var ( #5984 ) ( #5988 )
2025-05-06 05:00:17 -04:00
Wilson Snyder
fe562d4715
Internals: Move Stream dtype conversion to V3Width, towards future parser
2025-05-05 19:54:52 -04:00
Wilson Snyder
69eb76ad66
Fix constant propagation of post-expand stages ( #5983 ).
2025-05-05 07:04:20 -04:00
Wilson Snyder
a3662cc3f5
Internals: Refactor to create replaceWithKeepDType. No functional change.
2025-05-05 06:31:06 -04:00
Bartłomiej Chmiel
1e74451534
Internals: Change naming convention for Vthread funcs ( #5982 )
...
Signed-off-by: Bartłomiej Chmiel <bchmiel@antmicro.com>
2025-05-05 05:25:39 -04:00
Wilson Snyder
66e105b444
Fix constant propagation of post-expand stages ( #5963 ) ( #5972 ).
2025-05-04 21:41:14 -04:00
Wilson Snyder
413183bad8
Fix localize of coroutines ( #5972 partial)
2025-05-04 21:25:44 -04:00
Wilson Snyder
11cfa61f80
Fix casting etc of typedef'ed doubles.
2025-05-04 16:34:37 -04:00
Wilson Snyder
27ad648c16
Commentary: Indicate V3Number width() criticality.
2025-05-04 16:24:36 -04:00
Wilson Snyder
d47b88a30c
Internals: Remove accidental debug message
2025-05-04 15:49:23 -04:00
Wilson Snyder
51616ecf2f
Internals: Rename to instances, and other minor cleanups
2025-05-04 14:57:10 -04:00
Geza Lore
223bb9ba9a
Fix streaming to/from packed arrays ( #5976 )
...
bug from 6bb57e4630
Fixes RTLMeter OpenTitan. Fixes #5955 .
2025-05-04 19:28:51 +01:00
Geza Lore
70c84d3abd
Preserve C++ widths in V3Expand ( #5975 )
...
During V3Expand, some w32/1 (width == 32, widthMin == 1), nodes (e.g.:
RedOr) are replaced with w1 nodes (width == widthMin == 1) (e.g.: Neq).
However, V3Expand runs after V3Clean, when we are in C++ width world,
so we need to preserve the width/widthMin distinction, otherwise a later
constant folding can eliminate e.g. a necessary AstAnd used clear an
intermediate result (isAllOnes is true for a Const 1 with w1, but false
for a Const 1 with w32/1).
Attempting to fix by preserving all width/widthMin during a replacement
in V3Expand.
DFG itself is fine, but the transformed code hits the above.
Fixes #5953
2025-05-04 16:31:27 +01:00
Wilson Snyder
ea65bcd86b
Add lib.map information to unsupported message, etc
2025-05-03 05:30:40 -04:00
Wilson Snyder
1a1c6e8797
Change cell messages to instance to match IEEE
2025-05-03 04:00:47 -04:00
Wilson Snyder
15ebbd309f
Fix always processes ignoring $finish ( #5971 ).
2025-05-02 07:36:42 -04:00
Wilson Snyder
8b52bd817f
Add PROCINITASSIGN on initial assignments to process variables ( #2481 ).
2025-04-30 22:00:06 -04:00
Wilson Snyder
b10b22d09f
Change unsupported 'tagged' into parse-level message
2025-04-30 18:30:19 -04:00
Wilson Snyder
0664cf407c
Fix constant propagation making upper bits Xs ( #5969 ).
2025-04-30 08:22:05 -04:00
Wilson Snyder
4e667fabb7
Internals: Add V3Number width-and-opAssign. No functional change.
2025-04-30 08:08:44 -04:00
Wilson Snyder
5ca62de167
Fix filename backslash escapes in C code ( #5947 ).
2025-04-29 19:27:38 -04:00
Wilson Snyder
d3016b62f5
Internals: Constructor cleanup. No functional change.
2025-04-29 19:23:35 -04:00
Wilson Snyder
9b3fccdcb7
Add BADVLTPRAGMA on unknown Verilator pragmas ( #5945 ).
2025-04-29 18:18:54 -04:00
Wilson Snyder
8da539ed8a
Fix sign extension of signed compared with unsigned case items ( #5968 ).
2025-04-28 22:22:50 -04:00
Wilson Snyder
3658e5f0f1
Internals: Rename widthToFit, no functional change.
2025-04-28 21:54:58 -04:00
Wilson Snyder
5083972536
Internals: Defer AstCast into V3LinkDot, in preparation for future parser
2025-04-28 19:34:40 -04:00
Wilson Snyder
f983ce4875
Internals: Defer DTypeRef versus IfaceDTypeRef determination into V3LinkDot, in preparation for future parser
2025-04-27 22:11:28 -04:00
Wilson Snyder
4c4a39a115
Internals: Refactor V3LinkDot dump and comments. No functional change intended.
2025-04-27 16:52:26 -04:00
Wilson Snyder
cb1661f9d0
Internals: Cleanups (from parse branch). No functional change intended.
2025-04-27 14:17:24 -04:00
Wilson Snyder
c3d1c3b952
Fix vlSelf error on fork repeats ( #5927 ).
2025-04-26 09:52:44 -04:00
Wilson Snyder
e7adae6f81
Internals: Cleanup some vlSelf code. No functional change intended.
2025-04-26 09:51:02 -04:00
Wilson Snyder
ebe49552b0
Fix packed selection using over 32-bit index ( #5957 ).
2025-04-24 18:25:55 -04:00
Bartłomiej Chmiel
d6e52b9400
Support profiling nested hierarchical mtasks with verilator_gantt ( #5956 )
2025-04-24 07:50:07 -04:00
github action
7aad136972
Apply 'make format'
2025-04-18 09:36:29 +00:00
John Khoo
fee839a80e
Update UNOPTFLAT warning to suggest isolate_assignments ( #5942 )
2025-04-18 18:35:36 +09:00
Ryszard Rozak
cbabd8abe1
Internals: Fix redundant edges in V3Trace ( #5939 ). No functional change intended..
...
Signed-off-by: Ryszard Rozak <rrozak@antmicro.com>
2025-04-17 06:23:18 -04:00
Yilou Wang
e0fdb933a0
Support constraint random for StructArray ( #5805 ) ( #5937 )
2025-04-16 07:08:46 -04:00
Krzysztof Sychla
d0c4cc3938
Support user-defined primitives (UDPs) ( #468 ) ( #5807 ) ( #5936 )
...
Co-authored-by: Bartłomiej Chmiel <bchmiel@antmicro.com>
Co-authored-by: Zhou Shen <599239118@qq.com>
2025-04-16 06:32:18 -04:00
Ryszard Rozak
6a6a7b7e9f
Fix stream expressions ( #5938 )
2025-04-15 11:50:43 -04:00
github action
e3e8f18a4e
Apply 'make format'
2025-04-15 01:41:13 +00:00
Brian Li
50d7f2afc6
Support assigning unpacked arrays to queues ( #5924 ) ( #5928 )
2025-04-14 21:40:17 -04:00
Wilson Snyder
7a2732f211
Fix parsing (no support) of covergroup functions
2025-04-12 13:07:38 -04:00
Robin Heinemann
10c3320c6b
Support soft unions ( #5912 ) ( #5932 )
2025-04-12 07:35:37 -04:00
Todd Strader
7336b9ebfc
Add V3EmitV support for sampled value functions ( #5931 )
2025-04-11 12:25:56 -04:00
Bartłomiej Chmiel
84f26ed3d7
Add visualization of multi-threaded waiting time with verilator_gantt ( #5929 )
2025-04-10 10:03:58 -04:00
Wilson Snyder
fc8e1b5a2e
Fix several cmake issues, including TRACE_VCD
2025-04-10 07:49:58 -04:00
Ryszard Rozak
6bb57e4630
Fix assignments with stream expressions and unpacked arrays ( #5915 )
2025-04-09 06:37:52 -04:00
Wilson Snyder
2eb9076381
Revert 1ea9018e59
2025-04-09 00:00:22 -04:00
Wilson Snyder
1ea9018e59
Change JSON make format to have trace_fst/trace_saif/trace_vcd
2025-04-08 22:42:02 -04:00
Wilson Snyder
a094fd954b
Internals: Remove duplication in verilated.cpp file lists. No functional change intended.
2025-04-08 22:30:44 -04:00
Wilson Snyder
7c2b1971a4
Support class extends with arguments.
2025-04-08 22:09:40 -04:00
Wilson Snyder
86f6ac2960
Fix port default values with `--coverage-line` creating `0=0` ( #5920 ).
2025-04-08 20:48:57 -04:00
Wilson Snyder
f5312b83b9
Fix %% on elaboration severity tasks ( #5922 ).
2025-04-07 08:38:05 -04:00
Wilson Snyder
b26a19279a
Support simple `checker` blocks ( #4066 ).
2025-04-06 23:42:49 -04:00
Wilson Snyder
c8a945f363
Internals: Minor refactoring of checker parsing/tests. No functional change.
2025-04-06 23:13:24 -04:00
Wilson Snyder
e9fe8f65a8
Change error messages to more often suggest documentation
2025-04-05 17:10:44 -04:00
Wilson Snyder
0984fd045f
Change `--trace` to `--trace-vcd`.
2025-04-05 10:46:39 -04:00
Yutetsu TAKATSUKASA
b9f0612db8
Fix LATCH warning for automatic variables ( #5918 )
2025-04-05 06:21:34 -04:00
Wilson Snyder
6ba06498db
Fix segfault in fork synchronization ( #5906 ).
2025-04-04 08:15:39 -04:00
Wilson Snyder
f55fee1cf0
Internals: Fix missing semis; no functional change
2025-04-02 23:13:43 -04:00
Ryszard Rozak
353a4b7b4a
Fix parameters referencing interface fields ( #1593 ) ( #5910 )
2025-04-02 09:43:12 -04:00
Krzysztof Sychla
cd5997a2e6
Support `$setuphold` ( #5884 )
2025-04-02 06:08:51 -04:00
Wilson Snyder
168f0ed9e5
Fix `new this` ( #5909 ).
2025-04-01 08:12:34 -04:00
Wilson Snyder
538f39edf9
Fix grammar.
2025-04-01 07:54:56 -04:00
github action
e3c1d36e6e
Apply 'make format'
2025-04-01 11:34:45 +00:00
Brian Li
559d990e82
Support command-line overriding `define ( #5900 ) ( #5908 )
2025-04-01 07:33:49 -04:00
Wilson Snyder
f3684a85b9
Fix delayed assignment malformed LHS assertion ( #5904 ).
2025-03-30 17:38:54 -04:00
Wilson Snyder
b49351356e
Fix delays inside interface functions, and classes inside interfaces ( #5846 ).
2025-03-30 16:40:22 -04:00
Wilson Snyder
844448655e
Add `systemc_header_post
2025-03-28 22:40:21 -04:00
Wilson Snyder
b4ef6ce860
Support `systemc_interface and related inside `class`.
2025-03-28 22:40:21 -04:00
Wilson Snyder
8e7f29b07e
Fix incorrect systemc block token names
2025-03-28 22:40:21 -04:00
Geza Lore
39c3e79a3c
Fix V3Gate assertion on eliminated circular logic ( #5889 ) ( #5898 )
...
Fixes #5889
2025-03-28 17:04:09 +00:00
Geza Lore
b6bcbd5660
Internals: Fix clang-tidy warnings in DFG ( #5893 ) ( #5897 )
2025-03-28 12:06:13 -04:00
Wilson Snyder
98b89d0f2c
Fix some cppcheck warnings. No functional change intended.
2025-03-27 19:46:59 -04:00
Wilson Snyder
5e69faff46
Fix clang 20 warnings
2025-03-27 19:01:25 -04:00
Bartłomiej Chmiel
8965401d10
Fix PGO profiling for multi-threaded hierarchical scenarios ( #5888 )
2025-03-27 11:10:48 -04:00
Bartłomiej Chmiel
fabded95df
Support multi-thread hierarchical simulation ( #2583 ) ( #5871 )
2025-03-24 18:39:29 -04:00
Wilson Snyder
7521c2c644
Standardize some error messages.
2025-03-23 19:51:54 -04:00
Wilson Snyder
f9109eb61f
Delay deletes in V3Fork ( #5862 attempt)
2025-03-22 08:03:25 -04:00
Wilson Snyder
48effad448
Add DEPRECATED warning on `--xml-only` and `--xml-output`.
2025-03-21 21:32:05 -04:00
Nick Brereton
27e39d7821
Fix interface array assignments ( #5270 ) ( #5633 ) ( #5869 )
2025-03-21 17:00:49 -04:00
Todd Strader
8c287134d7
Add warning on expression coverage class references ( #5870 )
2025-03-21 08:55:38 -04:00
Wilson Snyder
c508fd5d24
Internals: Remove single-statement braces. No functional change.
2025-03-19 22:55:11 -04:00
Todd Strader
d2b7b567df
Fix expression coverage on additional nodes ( #5849 partial) ( #5867 )
2025-03-19 19:01:31 -04:00
Wilson Snyder
39bdd427d6
Fix unresolved typedefs as parameters ( #5850 ).
2025-03-19 18:02:56 -04:00
Geza Lore
4a2212949e
Fix change detection at time 0 ( #5864 )
...
Initialize "previous value" variables in the static initializer
function, instead of the 'initial' blocks function. Fixes #5499
2025-03-18 13:34:04 +00:00
Wilson Snyder
780163b91e
Internals: Avoid extra op#() calls. No functional change intended.
2025-03-16 14:34:19 -04:00
Wilson Snyder
77cc93c176
Fix detecting bad datatype on $countones ( #5674 ).
2025-03-15 21:57:10 -04:00
Wilson Snyder
418fc2c246
Fix reduction-or on class pointers (prep #5674 )
2025-03-15 21:46:37 -04:00
William D. Jones
13c22690c4
Fix algorithm header portability in V3Os.cpp (for std::replace). ( #5861 )
2025-03-15 21:43:06 -04:00
Geza Lore
59cb53cfbc
Set trigger vector in whole words ( #5857 )
...
Having many triggers still hits a bottleneck in LLVM leading to long
compile times.
Instead of setting triggers bit-wise, set them as a whole 64-bit word
when possible. This improves C++ compile times by ~4x on some large
designs and has minor run-time performance benefit.
2025-03-14 14:06:51 +00:00
Ryszard Rozak
9a6598b36f
Fix streaming of unpacked arrays concatenations ( #5856 )
2025-03-13 13:56:29 +01:00