Kamil Rakoczy
d183b4edde
Fix variables declared in fork after taskify ( #6126 )
2025-06-26 10:28:58 -04:00
Wilson Snyder
6cd0948c8c
Internals: Standardize Makefile indents. No functional change intended.
2025-06-25 21:10:46 -04:00
Wilson Snyder
3209bee3b3
Fix colon-divide operator without space ( #6121 ).
2025-06-25 04:56:52 -04:00
Wilson Snyder
51545b36ca
Internals: Add format-make rule and standardize Makefile indents. No functional change intended.
2025-06-24 17:58:55 -04:00
Wilson Snyder
6af694b04b
Support `$timeformat` with missing arguments ( #6113 ).
2025-06-24 17:30:05 -04:00
Geza Lore
916d473eff
Internals: Replace unnecessary AstSel::widthp() child node with const in node ( #6117 )
2025-06-24 11:59:09 -04:00
Wilson Snyder
544cb4a90f
Fix decoding octal string escapes with 1-2 digits ( #6108 ).
2025-06-23 18:37:44 -04:00
Geza Lore
2daa09a255
Optimize constify within Expand and Subst ( #6111 )
...
These passes blow up the Ast size on some designs, so delaying running V3Const
until after the whole pass can notably increase peak memory usage. In this
patch we apply V3Const per CFunc within these passes, which saves on memory.
Added -fno-const-eager to disable the intra-pass V3Const application, for
debugging.
2025-06-23 17:58:26 -04:00
Wilson Snyder
49fe129634
Fix `--lib-create` with double-underscore ( #6099 ).
2025-06-18 08:56:32 -04:00
Peter Birch
75df36bc8f
Add hint of the signed rhsval in oversized replication error ( #6098 )
2025-06-17 16:59:18 -07:00
Geza Lore
48600c77b5
Fix DFG binToOneHot table index missing driver ( #6100 )
2025-06-17 15:53:47 +01:00
Geza Lore
277611bcdd
Add DFG binToOneHot pass to generate one-hot decoders ( #6096 )
...
Somewhat commonly, there is code out there that compares an expression (or
variable) against many different constants, e.g. a one-hot decoder:
```systemverilog
assign oneHot = {x == 3, x == 2, x == 1, x == 0};
```
If the width of the expression is sufficiently large, this can blow up
a GCC pass and take an egregious amount of memory and time to compile.
Adding a new DFG pass that will generate a cheap one-hot decoder:
to compute:
```systemverilog
wire [$bits(x)-1:0] idx = <the expression being compared many times>
reg tab [1<<$bits(x)] = '{default: 0};
reg [$bits(x)-1:0] pre = '0;
always_comb begin
tab[pre] = 0;
tab[idx] = 1;
pre = idx ; // This assignment marked to avoid a false UNOPFTLAT
end
```
We then replace the comparisons `x == CONST` with `tab[CONST]`.
This is generally performance neutral, but avoids the compile time and memory
blowup with GCC (128GB+ -> 1GB in one example).
We do not apply this if the comparisons seem to be part of a `COMPARE ?
val : COND` conditional tree, which the C++ compilers can turn into jump
tables.
This enables all XiangShan configurations from RTLMeter to now build with GCC,
so in this patch we enabled those in the nightly runs.
2025-06-16 23:14:24 +01:00
Todd Strader
47f5a6a52b
Fix unpacked to packed parameter assignment ( #6088 ) ( #6081 )
2025-06-12 12:47:58 -04:00
Todd Strader
206a0b4fd2
Fix casting reals to large integrals ( #6085 )
2025-06-12 11:53:10 -04:00
Bartłomiej Chmiel
dc307270f7
Fix nested hier blocks workers error ( #6087 )
...
Signed-off-by: Bartłomiej Chmiel <bchmiel@antmicro.com>
2025-06-12 07:15:46 -04:00
Wilson Snyder
4990b44120
Fix trace hierarchicalName runtime errors ( #5668 ) ( #6076 ).
2025-06-10 20:17:32 -04:00
Paul Swirhun
4925f9ad73
Support 1-bit params with -G and -pvalue ( #6051 ) ( #6082 )
2025-06-10 17:39:13 -04:00
Paul Swirhun
ac06b6fc4f
Fix streaming operator packing order ( #5903 ) ( #6077 )
2025-06-10 17:23:16 -04:00
Kamil Rakoczy
58ea7ad361
Fix class typedef elaboration ( #6080 )
2025-06-10 12:03:26 -04:00
Todd Strader
d9534ec626
Fix x assign vs init randomization ( #6075 )
2025-06-09 17:59:01 -04:00
Wilson Snyder
5b2dc52681
Fix array bounds checking with class member selects ( #5996 ) ( #5997 ).
2025-06-07 17:20:48 -04:00
Todd Strader
a044697990
Fix signed cast ( #6912 ) ( #6068 )
2025-06-06 21:13:31 -04:00
Todd Strader
d49efa79df
Fix type operator for interface signals ( #6050 ) ( #6049 )
2025-06-06 11:29:33 -04:00
Ryszard Rozak
1a3fd92063
Tests: Fix t_interface_array2 tests ( #6065 )
2025-06-06 06:28:29 -04:00
Wilson Snyder
ed46878f7b
Fix virtual interface array typedef expressions ( #6057 ).
2025-06-04 21:43:46 -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
Wilson Snyder
b0d1f720e0
Tests: Rename t_dpi_instr_count_large
2025-05-29 18:58:22 -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
4b041c636f
Fix --x-initial and --x-assign random stability ( #2662 ) ( #5958 ) ( #6018 ) ( #6025 )
2025-05-27 09:31:55 -04:00
Paul Swirhun
e84fe36518
Tests: Add test coverage for stream to packed N-dim arrays ( #6039 )
2025-05-26 09:50:40 -04:00
Bartłomiej Chmiel
9cc4cc0efd
Add `--hierarchical-threads` ( #6037 )
2025-05-26 09:37:35 -04:00
Paul Swirhun
c9fa54536e
Tests: Fix MacOS test driver when child process finishes ( #6032 ) ( #6038 )
...
os.read(fd, 1) returns b'' on MacOS when the
child process exits, whereas it must be throwing an OSError
on other platforms.
2025-05-26 08:58:20 -04:00
Petr Nohavica
22d484d54d
Fix associative arrays with enum keys ( #6034 ) ( #6035 )
2025-05-24 17:59:23 -04:00
Wilson Snyder
091be59f0d
Tests: Use make -j when few tests.
2025-05-22 17:53:04 -04:00
Wilson Snyder
7b2dc46399
Commentary: Changes update
2025-05-22 06:45:39 -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
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
19be36dbcb
Tests: Cleanup some type tests
2025-05-17 21:09:05 -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
Wilson Snyder
7a5c223ccf
Tests: Improve warning coverage
2025-05-16 22:32:25 -04:00
Wilson Snyder
2dbe897e1b
Add security policy
2025-05-16 22:08:12 -04:00
Zhen Yan
fc700538a5
Fix arithmetic left-shift by constants over 32 bits ( #6007 ) ( #6015 )
2025-05-16 21:57:52 -04: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
Ryszard Rozak
91c52a4972
Support for assignments to concatenations with impure RHS ( #6002 )
2025-05-12 19:19:38 -04:00
Wilson Snyder
0162e15b6e
Tests: Rename property tests
2025-05-11 08:24:11 -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
Ryszard Rozak
c2d289dc71
Tests: Fix t_math_signed3 test ( #5995 )
2025-05-09 11:09:33 -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
Yutetsu TAKATSUKASA
2ed754d5ea
Fix Inconsistent assignment error by split-var ( #5984 ) ( #5988 )
2025-05-06 05:00:17 -04:00
Wilson Snyder
49e5c305a4
Tests: Split and rename t_parse_sync_bad
2025-05-05 18:35:50 -04:00
Wilson Snyder
69eb76ad66
Fix constant propagation of post-expand stages ( #5983 ).
2025-05-05 07:04:20 -04:00
Wilson Snyder
66e105b444
Fix constant propagation of post-expand stages ( #5963 ) ( #5972 ).
2025-05-04 21:41:14 -04:00
Wilson Snyder
11cfa61f80
Fix casting etc of typedef'ed doubles.
2025-05-04 16:34:37 -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
2c0372acdf
Tests: Fix relocation of extract tests
2025-04-30 23:02:19 -04:00
Wilson Snyder
8b52bd817f
Add PROCINITASSIGN on initial assignments to process variables ( #2481 ).
2025-04-30 22:00:06 -04:00
Wilson Snyder
38dd9a344e
Improve documentation for BADVLTPRAGMA
2025-04-30 20:32:30 -04:00
Wilson Snyder
cbf46d0ded
Tests: Add mis-include test.
2025-04-30 19:00:17 -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
5ca62de167
Fix filename backslash escapes in C code ( #5947 ).
2025-04-29 19:27:38 -04:00
Wilson Snyder
7d4d618d98
Test: display fix
2025-04-29 19:23:08 -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
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
c9be36911f
Cleanup documentated option sort order, and enforce with test
2025-04-26 17:14:49 -04:00
Wilson Snyder
c3d1c3b952
Fix vlSelf error on fork repeats ( #5927 ).
2025-04-26 09:52:44 -04:00
Wilson Snyder
abc46db3c0
Tests: Cleanup some .cpp paths. No test functional change indended.
2025-04-25 20:57:11 -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
John Khoo
fee839a80e
Update UNOPTFLAT warning to suggest isolate_assignments ( #5942 )
2025-04-18 18:35:36 +09: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
github action
999f251b3d
Apply 'make format'
2025-04-12 11:36:25 +00: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
Ryszard Rozak
6bb57e4630
Fix assignments with stream expressions and unpacked arrays ( #5915 )
2025-04-09 06:37:52 -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
fcefa96397
Tests: Disable warning in t_gantt_numa.
2025-04-06 23:16:51 -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
c7ff82f06b
Tests: Fix driver.py not stopping on interrupts ( #5752 ) ( #5921 )
2025-04-06 19:03:39 -04:00
Wilson Snyder
6997a7c516
Fix format mis-indendenting t_assert_ctl_arg
2025-04-06 12:44:30 -04:00
Wilson Snyder
eefbd94966
Fix format mis-indendenting t_assert_ctl_arg
2025-04-06 10:39:07 -04:00
Wilson Snyder
d1a0bad334
Tests: Add test for ( #4040 ).
2025-04-06 10:24:49 -04:00
github action
5cca1b101c
Apply 'make format'
2025-04-06 01:19:33 +00:00
Wilson Snyder
18aeb080ad
Fix empty test, part of last commit.
2025-04-05 21:14:27 -04:00
Wilson Snyder
e9fe8f65a8
Change error messages to more often suggest documentation
2025-04-05 17:10:44 -04:00
github action
eccfd8c6f9
Apply 'make format'
2025-04-05 19:37:32 +00:00
Wilson Snyder
af03d91714
Tests: Fix truncated file
2025-04-05 15:36:24 -04:00
Wilson Snyder
c3fd34b489
Tests: Add t_virtual_interface_delayed ( #4322 )
2025-04-05 15:31:17 -04:00
Wilson Snyder
e12b971ba6
Optimize SAIF writes ( #5916 )
2025-04-05 15:09:32 -04:00
github action
2bbb24eb38
Apply 'make format'
2025-04-05 18:20:51 +00:00
Wilson Snyder
34a760b75b
Optimize duplicate timestamps out of traces ( #4686 )
2025-04-05 14:19:58 -04:00
Wilson Snyder
7cc40d277b
Tests: Cleanup some .out filenames. No test coverage change.
2025-04-05 13:46:22 -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
73d52c00bb
Tests: Note other simulator results
2025-04-04 07:44:04 -04:00
Wilson Snyder
87ee6c8746
Tests: Only != is globally allowed to compare strings
2025-04-03 21:26:53 -04:00
Mateusz Gancarz
e4771dac7f
In SAIF dumps include signals with TC 0 ( #5914 )
2025-04-03 16:25:10 -04:00
Ryszard Rozak
353a4b7b4a
Fix parameters referencing interface fields ( #1593 ) ( #5910 )
2025-04-02 09:43:12 -04:00
Wilson Snyder
6d1e82b908
Add numactl-like automatic assignment of processor affinity ( #5911 )
2025-04-02 08:27:23 -04:00
Krzysztof Sychla
cd5997a2e6
Support `$setuphold` ( #5884 )
2025-04-02 06:08:51 -04:00
Wilson Snyder
0b9c2163d5
Tests: Cleanup some gantt tests; no test functional change
2025-04-01 22:54:39 -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
0a860f151c
Cleanup some missed `make clean` files
2025-03-30 11:02:05 -04:00
Wilson Snyder
2116b424b9
Tests: Cleanup as --binary implies --timing. No test functional change.
2025-03-29 15:50:07 -04:00
Wilson Snyder
2b8b1c4281
Tests: Disable running some lint tests on vltmt
2025-03-29 07:14:45 -04:00
Wilson Snyder
9b48cc33db
Fix process comparisons ( #5896 ).
2025-03-28 22:40:21 -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
6edf2f80a2
Tests: Rename t_extend_c_class
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
Wilson Snyder
5e69faff46
Fix clang 20 warnings
2025-03-27 19:01:25 -04:00
Wilson Snyder
d26d62a176
Tests: Add driver.py --driver-clean
2025-03-27 18:33:18 -04:00
Bartłomiej Chmiel
8965401d10
Fix PGO profiling for multi-threaded hierarchical scenarios ( #5888 )
2025-03-27 11:10:48 -04:00
Wilson Snyder
ce058cc432
Fix `$fscanf` not returning -1 on EOF ( #5881 ).
2025-03-25 08:28:36 -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
464e19caaa
Tests: Fix ubuntu24.04-arm issues
2025-03-22 16:55:53 -04:00
Wilson Snyder
0b6be2809e
Tests: Fix bad ETA at startup
2025-03-22 08:49:40 -04:00
Wilson Snyder
48effad448
Add DEPRECATED warning on `--xml-only` and `--xml-output`.
2025-03-21 21:32:05 -04:00
Wilson Snyder
29b439b93f
Commentary
2025-03-21 17:43:07 -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
77cc93c176
Fix detecting bad datatype on $countones ( #5674 ).
2025-03-15 21:57:10 -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
Wilson Snyder
0aac3074b6
Fix recursive error on virtual interfaces ( #5854 ).
2025-03-12 17:57:02 -04:00
github action
a5eb9a5b9d
Apply 'make format'
2025-03-11 23:58:06 +00:00
Andrew Voznytsa
6a48d3bb83
Add `--make json` to enable integration with non-make/cmake build systems ( #5799 )
2025-03-11 19:57:21 -04:00
Wilson Snyder
53151d7c5f
Fix emitting `this` ( #5849 )
2025-03-11 17:53:35 -04:00
github action
f62b3faaf2
Apply 'make format'
2025-03-11 21:45:01 +00:00
Gilberto Abram
4dbb066b96
Fix removal of callbacks no longer in current list ( #5851 ) ( #5852 )
2025-03-11 17:44:12 -04:00
Yilou Wang
7fe51583e5
Fix foreach of assocArr inside a constraint block ( #5727 ) ( #5841 )
2025-03-11 13:32:34 -04:00
Geza Lore
6ecdd14fdb
Fix NBA shared flag reuse ( #5848 )
...
Fixes #5847
2025-03-11 07:40:21 -04:00
Geza Lore
d9701e6406
Automatically split some packed variables ( #5843 )
...
This patch adds a heuristic to V3SplitVar, and it attempts to split up
packed variables that are only referenced via constant index,
non-overlapping bit/range selects. This can eliminate some UNOPTFLAT cases.
2025-03-09 10:31:01 -04:00
Wilson Snyder
128231b077
Tests: Parameter pattern init ( #3144 )
2025-03-08 19:13:20 -05:00
Wilson Snyder
8026b2a7f3
Fix checking built-in method arguments ( #5839 )
2025-03-08 14:11:12 -05:00
Wilson Snyder
51fcb881d5
Fix error on out-of-range lvalue part select ( #5820 ).
2025-03-08 11:05:58 -05:00
Geza Lore
20b964a9a2
Fix splitting of packed ports with non-zero based ranges ( #5842 )
2025-03-08 09:37:30 -05:00
Mateusz Gancarz
9b4509f7d9
Add `--trace-saif` for SAIF power traces ( #5812 )
2025-03-07 10:41:29 -05:00
Krzysztof Bieganski
b2093b513a
Fix type_id package scope resolution ( #5826 )
2025-03-06 17:41:27 -05:00
Wilson Snyder
8e87a99628
Fix `rand_mode` method with cast ( #5831 ).
2025-03-05 21:43:50 -05:00
Wilson Snyder
258becd179
Add empty veriuser.h for legacy compatibility.
2025-03-04 21:25:28 -05:00
Bartłomiej Chmiel
a3b2c2af17
Support force/release with a variable reference ( #5721 ) ( #5810 )
2025-03-04 10:12:02 -05:00
Wilson Snyder
27d3eb5b7b
Fix UNOPTFLAT warnings with `--coverage-trace` and always_comb ( #5821 ).
2025-03-02 20:02:55 -05:00
Wilson Snyder
b54f897090
Tests: Fix Ubuntu24.04 clang test issues, and enable action ( #5824 )
2025-03-02 16:53:59 -05:00
Geza Lore
0133bc6b09
Do not use function locals in SenExprBuilder ( #5822 )
...
Function locals are not safe here because we might need to split up
the generated function. V3Localize can fix them later if safe.
2025-03-02 16:13:59 +00:00
Geza Lore
fc302a5207
Fix sorting of wide SenItems ( #5816 )
...
This used to throw Error: Value too wide for 64-bits expected in this context
2025-03-01 22:11:43 +00:00
Geza Lore
14f618b0f6
Fix invalid code motion over branches ( #5811 ) ( #5814 )
2025-02-28 13:32:03 -05:00