Igor Zaworski
8c5ba3a0d7
Fix conflicting function/class name linking error ( #6182 )
2025-07-16 17:25:01 -04:00
Igor Zaworski
826e5b0826
Fix `--coverage-expr` null pointer dereference ( #6181 )
2025-07-16 12:07:34 -04:00
Artur Bieniek
abd509ce53
Support delays in emitted Verilog ( #6177 )
2025-07-16 11:52:56 -04:00
Ryszard Rozak
1bf24c7eb4
Add support for disabling begin just under fork from outside that begin ( #5432 partial) ( #6183 )
2025-07-16 16:04:17 +02:00
Wilson Snyder
1f0357ba93
Add NOEFFECT warning, replacing previous `foreach` error.
2025-07-16 08:18:57 -04:00
Wilson Snyder
db6b17fdb4
Fix error message
2025-07-15 17:41:08 -04:00
Artur Bieniek
f3e109d8c5
Support covergroup extends, etc. ( #6160 )
2025-07-15 09:31:08 -04:00
Wilson Snyder
371ac07c6f
Fix CVTREAL not being able to be disabled in e.g. primitive terminals.
2025-07-14 20:08:44 -04:00
Wilson Snyder
caf3522364
Support implicit enum declarations with packed dimensions
2025-07-14 19:50:02 -04:00
Geza Lore
03e0d49d99
Optimize DFG partial assignments ( #6176 )
...
This is mostly a refactoring, but also enables handling some more
UNOPTFLAT, when the variable is only partially assigned in the cycle.
Previously the way partial assignments to variables were handled were
through the DfgVerexVar types themselves, which kept track of all
drivers. This has been replaced by DfgVertexSplice (which always drives
a DfgVeretexVar), and all DfgVertexVar now only have a single source,
either a DfgVertexSplice, if partially assigned, or an arbitrary
DfgVertex when updated as a whole.
2025-07-14 17:09:34 -04:00
Ryszard Rozak
e2e5d9eaf1
Support disabling a fork from outside that fork ( #6174 )
2025-07-14 06:51:58 -04:00
Wilson Snyder
2f199f20cf
Add ENUMITEMWIDTH error, and apply to X-extended and ranged values.
2025-07-12 14:14:17 -04:00
Yilou Wang
1044398f95
Support member-level triggers for virtual interfaces ( #5166 ) ( #6148 )
2025-07-11 21:04:51 -04:00
Geza Lore
77180c4020
Optimize more cycles in DFG ( #6173 )
...
Added a second algorithm to break cycles in DFG by identifying which
bits of a circular variable are actually independent of the variable,
then reuse the existing (but extended) driver tracing algorithm to
eliminate them.
This can fix up things like: `assign gray = binary ^ (gray >> 1)`
2025-07-11 14:19:09 -04:00
Petr Nohavica
0982260d3b
Fix constructor parameters in inheritance hierarchies ( #6036 ) ( #6070 )
2025-07-11 13:10:36 -04:00
Artur Bieniek
58b867c39c
Support multiple variables on RHS of a `force` assignment ( #6163 )
2025-07-10 21:12:44 -04:00
Igor Zaworski
4e8a8a0398
Fix param-dependent class typedef linking ( #6171 )
2025-07-10 21:11:09 -04:00
Artur Bieniek
4dc6a31276
Fix omitting error when assigning to an input ( #6169 )
2025-07-10 20:37:55 -04:00
Geza Lore
ce77bac99a
Break some combinational cycles in DFG ( #6168 )
...
Added an algorithm that can break some combinational cycles in DFG, by
attempting to trace driver logic until we escape the cycle. This can
eliminate a decent portion of UNOPTFLAT warnings. E.g. due to this code:
```systemverilog
assign a[0] = .....;
assign a[1] = ~a[0];
```
2025-07-10 18:46:45 +01:00
Igor Zaworski
31c279a7b3
Support randomize() on class member selects ( #6161 )
2025-07-10 04:59:05 -04:00
Bartłomiej Chmiel
9ad0de1efd
Fix uninitialized thread PGO counters ( #6167 )
2025-07-10 04:56:14 -04:00
Wilson Snyder
d89df33fcd
Change control file `public_flat_*` and other signal attributes to support __ in names ( #6140 ).
2025-07-09 20:48:00 -04:00
Wilson Snyder
9fc7143fce
Fix genvar error with `-O0` ( #6165 ).
2025-07-09 19:11:48 -04:00
Igor Zaworski
dbfbc657e1
Fix class extends dotted error ( #6162 )
2025-07-09 17:12:11 -04:00
Ryszard Rozak
8b3a6ba542
Support disable dotted references ( #6154 )
2025-07-09 16:59:26 -04:00
Igor Zaworski
5777ab75c7
Fix crash with --dumpi-V3LinkDot without --debug ( #6159 )
2025-07-08 10:28:17 -04:00
Geza Lore
e494cf22a4
Add DfgPeephole patterns ( #6149 )
2025-07-07 16:25:29 +01:00
Wilson Snyder
5a6d5ed96b
Support property `iff` and `implies`.
2025-07-03 21:13:04 -04:00
Wilson Snyder
26c7f1adb6
Tests: Change default indent to 2 spaces (match edaplayground). No functional change.
2025-07-03 20:43:13 -04:00
Wilson Snyder
f77af4e6f6
Important: Change `--assert` to be the default; use `--no-assert` for legacy behavior and faster runtimes.
2025-07-03 19:36:28 -04:00
Todd Strader
08fef668cd
Fix more wide ternary + coverage cases ( #6155 )
2025-07-03 18:00:39 -04:00
Wilson Snyder
4ddc649836
Add UNSUPPORTED rather than syntax error on pullup/pulldown strengths
2025-07-02 20:54:47 -04:00
Wilson Snyder
77908447e6
Support scoped `new` ( #4199 ).
2025-07-02 19:54:57 -04:00
Todd Strader
ae0f29ed37
Fix wide non-blocking assignment mis-optimization ( #6150 ) ( #6152 )
2025-07-02 18:43:10 -04:00
Wilson Snyder
73ca2ab997
Support `$past_gclk`
2025-07-01 18:00:04 -04:00
Geza Lore
7a3f1f16ca
Optimize DFG before V3Gate ( #6141 )
2025-07-01 17:55:08 -04:00
Wilson Snyder
9598ef9315
Internals: Avoid - in enum name
2025-07-01 05:45:10 -04:00
github action
b27bd6526a
Apply 'make format'
2025-06-30 01:00:56 +00:00
Wilson Snyder
916a89761e
Add `--work` library-selection option ( #5891 partial).
2025-06-29 20:17:27 -04:00
Geza Lore
c3d86626ee
Internals: Remove unused AstNodeModule 'activesp' child ( #6138 )
2025-06-29 09:56:44 -04:00
Wilson Snyder
5d32fc56ac
Support 'config' parsing, but not functionally
2025-06-28 20:32:19 -04:00
Wilson Snyder
93f447dd4a
Support constant functions with left-hand-side concatenates.
2025-06-28 17:12:03 -04:00
Geza Lore
bc892deacc
Safely support non-overlapping blocking/non-blocking assignments ( #6137 )
...
The manual for the BLKANDNBLK warning describes that it is safe to
disable that error if the updated ranges are non-overlapping. This
however was not true (see the added t_nba_mixed_update* tests).
In this patch we change V3Delayed to use a new ShadowVarMasked
scheme for variables that have mixed blocking and non-blocking
updates (or the FlagUnique scheme for unpacked variables), which
is in fact safe to use when the updated parts are non-overlapping.
Furthermore, mixed assignments are safe as far as scheduling is
concerned if either:
- They are to independent parts (bits/members/etc) (with this patch)
- Or if the blocking assignment is in clocked (or suspendable) logic.
The risk in scheduling is a race between the Post scheduled NBA
commit, and blocking assignments in combinational logic, which might
order incorrectly.
The second point highlights that we can handle stuff like this safely,
which is sometimes used in testbenches:
```systemverilog
always @(posedge clk) begin
if ($time == 0) a = 0;
end
always @(posedge clk) begin
if ($time > 0) a <= 2;
end
````
The only dangerous case is:
```systemverilog
always @(posedge clk) foo[idx] <= val;
assign foo[0] = bar;
```
Whit this patch, this will still resolve fine at run-time if 'idx' is
never zero, but might resolve incorrectly if 'idx' is zero.
With the above in mind, the BLKANDNBLK warning is now only issued if:
- We can't prove that the assignments are to non-overlapping bits
- And the blocking assignment is in combinational logic
These are the cases that genuinely require user attention to resolve.
With this patch, there are no more BLKANDNBLK warnings in the RTLMeter
designs.
Fixes #6122 .
2025-06-28 20:45:45 +01:00
Wilson Snyder
62e5e3aa0c
Fix interface array connections with non-zero low declaration index.
2025-06-28 09:43:02 -04:00
Wilson Snyder
f508dadc97
Support `specparam` ( #5767 ).
2025-06-28 08:23:43 -04:00
Todd Strader
73696f0a71
Tests: Add coverpoints test ( #6118 )
2025-06-27 15:47:13 -04:00
Wilson Snyder
75229cc03d
Fix `pre_randomize`/`post_randomize` when no randomize ( #6122 ).
2025-06-26 18:34:20 -04:00
Wilson Snyder
e422c183ff
Fix method calls without parenthesis ( #6127 ).
2025-06-26 18:16:21 -04:00
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
Wilson Snyder
a9762e0c5c
Fix coredump on fork inside disable named block by adding an UNSUPPORTED
2025-02-27 21:42:20 -05:00
Wilson Snyder
7f94fa1da7
Add check for `let` misused in statement context ( #5733 ).
2025-02-26 09:08:41 -05:00
Wilson Snyder
3b98db17cc
Fix reset of automatic function variables ( #5747 ).
...
Also required V3Life optimize CRESET(x) ... ASSIGN(rhs, x) to remove the
extraneous CRESET to avoid creating new UNOPTFLAT situations.
2025-02-25 22:48:53 -05:00
Kamil Rakoczy
3ab89d5be7
Add used language to `--preproc-resolve` output ( #5795 )
2025-02-25 07:03:25 -05:00
Wilson Snyder
b35ab0b843
Tests: Fix last commit
2025-02-24 22:39:30 -05:00
Wilson Snyder
6c46c4f6f7
Tests: Add unsupported test for specparam ( #5767 ).
2025-02-24 21:01:05 -05:00
Wilson Snyder
d232923051
Change `--output-groups` to default to value of `--build-jobs`.
...
Those using build farms may need to now use `--output-groups 0` or otherwise.
2025-02-24 20:38:08 -05:00
Yilou Wang
dae4c8ee22
Support constrained random for arrays in structs ( #5765 ) ( #5802 )
2025-02-24 17:51:51 -05:00
Wilson Snyder
4ce8164277
Fix parsing input wire with default and range ( #5800 ).
2025-02-24 03:51:49 -05:00
Todd Strader
7ec32799b0
Fix expression coverage + VarXRefs ( #5797 )
2025-02-22 15:55:23 -05:00
Geza Lore
812861e7f2
Optimize splitting trigger computation and dump ( #5798 )
2025-02-23 05:57:36 +10:00
Wilson Snyder
1857f6399c
Fix `$monitor` with dotted references ( #5794 ).
2025-02-21 17:18:49 -05:00
Todd Strader
f7ccc013e7
Improve V3EmitV for interfaces ( #5796 )
2025-02-21 16:49:14 -05:00
Kamil Rakoczy
2e1fa8f338
Add `--preproc-resolve` for modules in preprocessor output ( #5789 )
...
Signed-off-by: Kamil Rakoczy <krakoczy@antmicro.com>
2025-02-22 04:47:54 +10:00
Todd Strader
70459b3208
Fix V3EmitV for non-zero based arrays ( #5790 )
2025-02-21 05:49:32 +11:00
Ryszard Rozak
2a23ec74e4
Fix dpi context functions ( #5788 )
2025-02-20 10:15:09 +01:00
Wilson Snyder
be1ace423e
Fix time import error on time parameters ( #5786 ).
2025-02-19 17:03:59 -05:00
Todd Strader
34ced254c0
Support expression coverage ( #5719 )
2025-02-19 16:42:23 -05:00
Yutetsu TAKATSUKASA
1a07af57a3
Fix unpacked split_var ( #5782 ) ( #5785 )
2025-02-18 05:34:57 +11:00
Kamil Rakoczy
c840ffb0ae
Support nested classes ( #4178 ) ( #5778 )
...
Signed-off-by: Kamil Rakoczy <krakoczy@antmicro.com>
2025-02-17 23:47:41 +11:00
Todd Strader
b645fcf027
More V3EmitV support ( #5779 )
2025-02-14 14:58:11 -05:00
Krzysztof Bieganski
ffb02cea15
Fix ignoring joins in stringify in preprocessor ( #5777 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2025-02-13 18:33:12 -05:00
Krzysztof Bieganski
f753ae2518
Support selects on arbitrary string expressions ( #5773 )
2025-02-11 12:06:34 -05:00
github action
cc1133c0d9
Apply 'make format'
2025-02-08 00:07:38 +00:00
Moubarak Jeje
ac659d525b
Support VPI array accessors ( #5612 )
2025-02-07 19:06:46 -05:00
Krzysztof Bieganski
283f6c7433
Add `--preproc-token-limit` ( #5768 )
2025-02-07 10:32:12 -05:00
Yilou Wang
6b4183632c
Support Unpacked Structures' Constrained Randomization ( #5657 ) ( #5759 )
2025-02-03 11:56:00 -05:00
Bartłomiej Chmiel
a379382d32
Fix handling forced assigns in V3Life ( #5757 )
2025-01-28 07:30:40 -05:00
Wilson Snyder
41bb54bc2c
Add Makefile targets count to stats
2025-01-25 13:35:56 -05:00
Wilson Snyder
001c098e5a
Optimize empty function definition bodies ( #5750 ).
2025-01-25 12:13:25 -05:00
Wilson Snyder
05c7a3b90b
Optimize labels as final `if` block statements ( #5744 ).
2025-01-25 10:29:35 -05:00
Wilson Snyder
694f2ff7c7
Tests: renames
2025-01-25 10:24:59 -05:00
Wilson Snyder
929e15fa4c
Fix various round-trip Verilog output, including packed arrays
2025-01-24 21:00:45 -05:00
Wilson Snyder
d8080008b4
Commentary
2025-01-24 07:47:32 -05:00
Bartłomiej Chmiel
35fa0d051d
Support integer atom type ports in `--hierarchical` ( #5748 )
2025-01-24 07:47:11 -05:00
Bartłomiej Chmiel
0507fb4655
Improve hierarchical DPI wrapper scheduling performance ( #2583 ) ( #5734 )
2025-01-20 14:24:09 -05:00
Geza Lore
f4a01eb452
Fix inlined expression with assignment under LHS of NBA ( #5736 ) ( #5740 )
2025-01-20 07:23:10 -05:00
Wilson Snyder
fa1b11252e
Fix duplicate-named class variable equivalence ( #5737 ).
2025-01-18 15:25:49 -05:00
Andrew Nolte
dddc1b5b4d
Fix vpiDefName issues with non-inlined scopes and dpi conflicts ( #5732 )
2025-01-16 15:02:36 -05:00
Wilson Snyder
fdf29b970f
Fix VL_UNLIKELY with constructors
2025-01-11 15:27:11 -05:00
Andrew Nolte
f8dd65c7cd
Add `--public-ignore` to ignore public metacomments ( #7819 )
2025-01-11 12:29:39 -05:00
Yilou Wang
d3e205f201
Support constraints on associative array user-defined keys ( #5671 ) ( #5729 )
2025-01-11 12:07:52 -05:00
Wilson Snyder
dfe28f7ed0
Fix misoptimizing away `$urandom` ( #5703 ).
2025-01-11 08:48:40 -05:00
github action
bb871728c9
Apply 'make format'
2025-01-10 00:05:16 +00:00
Krzysztof Starecki
69dce205d3
Support multidimensional array access via VPI ( #2812 ) ( #5573 )
2025-01-09 19:04:26 -05:00
Krzysztof Bieganski
052812bb87
Fix `BLKSEQ` on suspendable processes ( #5722 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2025-01-09 08:40:32 -05:00
Yilou Wang
0380a36c76
Fix constrained random for > 64-bit associative arrays ( #5670 ) ( #5682 )
2025-01-09 08:33:38 -05:00
Wilson Snyder
44f49669a3
Support side effects of form `variable[index_function()]++`.
2025-01-08 19:37:20 -05:00
github action
ff244c1d1f
Apply 'make format'
2025-01-08 14:44:48 +00:00
Krzysztof Starecki
260ac342f4
Tests: Add support for Questa in TestSimulator class ( #5718 )
2025-01-08 09:43:57 -05:00
Nick Brereton
87d856339f
Add lint error on importing package within a class ( #5634 ) ( #5679 )
2025-01-07 16:52:44 -05:00
Wilson Snyder
e171463fa2
Add COVERIGN warning, as a more specific UNSUPPORTED error.
2025-01-06 18:48:32 -05:00
Andrew Nolte
b8288b97f7
Improve VPI write errors ( #5712 )
2025-01-06 17:56:18 -05:00
Andrew Nolte
0d34f56b74
Fix packages with `--public-depth 1` ( #5708 )
2025-01-06 15:21:32 -05:00
Wilson Snyder
dcaf6476e8
Fix matching language extension options including dots.
2025-01-05 22:52:29 -05:00
Wilson Snyder
76b2ac9cc1
Support `+incdir` with multiple directories.
2025-01-05 19:30:39 -05:00
Wilson Snyder
b6a400ee9b
Support generated classes ( #5665 ).
2025-01-05 17:10:04 -05:00
Wilson Snyder
78d6ec8114
Fix error message when call task as a function ( #3089 ).
2025-01-04 12:55:15 -05:00
Wilson Snyder
b531001f55
Fix segfault when only enum value referenced in package ( #5714 ).
2025-01-04 10:36:34 -05:00
Wilson Snyder
1d0563212e
Fix pattern assignment to real inside struct ( #5713 ).
2025-01-03 19:39:48 -05:00
Wilson Snyder
8ca49d98c1
Fix %p format output for real inside struct ( #5713 ).
2025-01-03 19:15:03 -05:00
Geza Lore
010ae580b1
Fix V3Simulate constant reuse ( #5709 )
...
Use a generational allocator for reusing AstConst across
V3Simulate::clear(), instead of using user1 (which is also used
to store values of nodes).
Also fix invalid lookup on array initializer
2025-01-03 05:33:29 -05:00
Wilson Snyder
f52155a768
Copyright year update.
2025-01-02 06:21:30 -05:00
Wilson Snyder
8fbb725f34
Copyright year update.
2025-01-01 08:30:25 -05:00
Bartłomiej Chmiel
72a47e16c1
Fix verilator_gantt for hierarchically Verilated models ( #5700 )
2024-12-23 09:10:46 -06:00
Wilson Snyder
530ebecfb7
Tests: Add module-in-module coverage
2024-12-19 21:42:52 -05:00
Wilson Snyder
9a3dcaa10b
Fix spelling
2024-12-19 21:30:14 -05:00
Wilson Snyder
bb45fd6c6c
Add error on `--savable --timing` ( #5690 ).
2024-12-19 17:30:40 -05:00
Todd Strader
a23fad91a3
Tests: Reduce test_regress VPI copypasta ( #5694 ) ( #5693 )
2024-12-19 16:29:16 -05:00
Todd Strader
74d5d008bb
Fix VPI + SYMRSVDWORD intersection ( #5686 )
2024-12-19 15:15:28 -05:00
Todd Strader
8a9fc9237d
Tests: Execute t_emit_accessors ( #5689 ) ( #5688 )
2024-12-19 15:01:57 -05:00
Ryszard Rozak
c093b24342
Fix width extension of operands of `inside` operator ( #5685 )
2024-12-19 15:51:51 +01:00
Wilson Snyder
80b2fa3583
Add error on randc inside dist
2024-12-14 11:47:46 -05:00
Wilson Snyder
7886204690
Tests: Add t_class_new_scoped (unsupported)
2024-12-13 17:58:08 -05:00
Wilson Snyder
c2dcca980e
Improve to throw UNSUPPORTED instead of syntax error on extend class arguments
2024-12-13 17:15:04 -05:00
Wilson Snyder
a23dfdc4ee
Fix backward external constraint error, from recent new support.
...
(Thanks sv-tests!)
2024-12-13 16:54:14 -05:00
Todd Strader
41a038b79b
Fix interface bracketed array parameter access ( #5678 ) ( #5677 )
2024-12-13 12:00:49 -05:00
Ryszard Rozak
a8e06874bd
Fix `randomize..with` of parameterized classes ( #5676 )
...
Broke in 7a04a5b
2024-12-13 09:32:47 -05:00
Yilou Wang
54ef9ad31c
Support associative array basic constrained randomization ( #5658 ) ( #5670 )
2024-12-12 11:31:54 -05:00
Bartłomiej Chmiel
32f9cf072b
Fix hierarchical verilation for projects with dot-f dependency lists ( #5199 ) ( #5669 )
2024-12-12 11:25:19 -05:00
Ryszard Rozak
03e8ef0b0f
Fix wildcard equality and inside operators for non-fourstate expressions ( #5673 )
2024-12-12 14:51:48 +01:00
Wilson Snyder
a2f327f729
Support `extern constraint`
2024-12-12 08:16:19 -05:00
Bartłomiej Chmiel
58ddf997e3
Improve optimization of duplicate wide expressions ( #5637 )
...
Prevent inlining of expensive wide expressions in V3Gate (#5637 )
2024-12-11 11:45:31 +00:00
Ryszard Rozak
9656311521
Fix error on duplicated declaration of gen block ( #5663 )
2024-12-06 07:20:31 -05:00
Wilson Snyder
59fd238a05
Tests: Add t_interface_hidden
2024-12-03 12:00:56 -05:00
Yilou Wang
a64660a530
Fix foreach mixed array ( #5655 ) ( #5656 )
2024-12-03 07:57:50 -05:00
Todd Strader
e9a1c75b7f
Tests: Demonstrate unsupported scoped pattern array init ( #5652 )
2024-12-02 18:33:34 -05:00
Todd Strader
b6f292f556
Fix imported array assignment literals ( #5642 ) ( #5648 )
2024-12-02 15:08:47 -05:00
Wilson Snyder
4781a6046a
Update error as misnamed port dtype might be interface
2024-12-02 07:35:44 -05:00
Wilson Snyder
b4e91c87a6
Tests: Add t_interface_find
2024-12-02 07:20:40 -05:00
Bartłomiej Chmiel
a668b7c658
Fix missing VlProcess handle in coroutines with splits ( #5623 ) ( #5650 )
...
Signed-off-by: Bartłomiej Chmiel <bchmiel@antmicro.com>
2024-12-02 05:43:26 -05:00
Wilson Snyder
abd4c480cd
Tests: Fix JSON file number, from earlier commit
2024-12-01 23:00:27 -05:00
Wilson Snyder
d75f41b641
Tests: Add param type to t_typename test
2024-12-01 17:28:13 -05:00
Wilson Snyder
b0f898cec8
Internals: Determine needing verilated_std without symbol table
2024-12-01 11:35:00 -05:00
Wilson Snyder
9ec5413d33
Tests: Cleaner error summaries
2024-12-01 10:27:05 -05:00
Wilson Snyder
5021989cb6
Tests: Rename interface-to-wire ( #5649 test partial)
2024-11-30 19:05:26 -05:00
Wilson Snyder
2284ada723
Tests: Interface-to-wire ( #5649 test partial)
2024-11-30 19:00:00 -05:00
Wilson Snyder
e44f34dde3
Improve concat lint error & cleanups for future commit.
2024-11-30 18:56:00 -05:00
Wilson Snyder
93090c56ee
Fix mis-aliasing of instances with mailbox parameter types ( #5632 partial).
2024-11-29 09:20:02 -05:00
Wilson Snyder
d165671225
Improve error when no parameter type value ( #5645 partial)
2024-11-28 14:09:06 -05:00
Wilson Snyder
7a8f71e7d8
Add `--fno-slice` to disable array assignment slicing ( #5644 ).
2024-11-28 13:49:34 -05:00
Todd Strader
94e545bdca
Fix interface and struct pattern collision ( #5640 ) ( #5639 )
2024-11-27 17:20:21 -05:00