Wilson Snyder
d359fffcdc
Internals: Refactor V3Task and add loop assert ( #6218 )
2025-07-27 10:30:19 -04:00
Wilson Snyder
c4b3f1e99c
Tests: Add test and assert for nested simulated loops ( #6223 )
2025-07-27 09:43:46 -04:00
Geza Lore
895b85a16e
Fix Replicate with unsigned count but MSB set ( #6231 ) ( #6233 )
...
Correctly compute witdh of AstReplicate in its constructor when the
count is unsigned but its MSB is set.
2025-07-27 12:30:19 +02:00
Wilson Snyder
1725ee9c52
Fix loop initialization visibility outside loop ( #4237 ).
2025-07-27 03:42:41 -04:00
Wilson Snyder
470f99694e
Revert d8dbb08a: Support bit queue streaming ( #5830 ) ( #6103 )
2025-07-26 17:59:52 -04:00
Wilson Snyder
f3560837ec
Add error on missing forward declarations ( #6207 ).
2025-07-26 17:11:35 -04:00
Paul Swirhun
d8dbb08a95
Support bit queue streaming ( #5830 ) ( #6103 )
2025-07-26 16:53:51 -04:00
Wilson Snyder
39a5c731ac
Tests: Fix missing forward decls ( #6202 partial)
2025-07-26 15:48:19 -04:00
Geza Lore
504884b7d5
Refactor DFG context objects ( #6232 )
...
- Move All DFG context objects to V3DfgContext.h
- Add separate object for ast2dfg and dfg2ast passes
- Factor out commonalities
No functional change
2025-07-26 20:37:01 +01:00
Wilson Snyder
d289934ca9
Improve `--skip-identical` to skip on identical input file contents ( #6109 ).
2025-07-26 02:43:57 -04:00
github action
20bd80698d
Apply 'make format'
2025-07-25 18:06:24 +00:00
George Polack
f1826a7c20
Support Verilog real to SystemC double ( #6136 ) ( #6158 )
2025-07-25 20:05:36 +02:00
Wilson Snyder
fa62cd3486
Fix `--stats` overridden by skipping identical build ( #6220 ).
2025-07-25 07:23:02 -04:00
Yilou Wang
10ac99ac05
Support randomization of scope variables with 'std::randomize()' ( #5438 ) ( #6185 )
2025-07-25 12:13:46 +02:00
Wilson Snyder
b408e097f6
Fix unsigned replicate ( #6229 )
2025-07-24 22:55:26 -04:00
Geza Lore
94bebb2bcb
Fix dereferencing stale iterator in DfgVertex::scopep() ( #6227 )
...
Fix dereferencing stale iterator in DfgVertex::scopep()
Fixes part of #6225
2025-07-24 15:31:31 +01:00
Geza Lore
2be257369a
Fix component numbers of new Vertices in V3DfgBreakCycles ( #6228 )
...
Fix component numbers of new Vertices in V3DfgBreakCycles
Fixes part of #6225
2025-07-24 15:31:09 +01:00
Artur Bieniek
04c38d5b3b
Tests: Switch to measuring CPU time instead of real time in test timeouts ( #6224 )
...
Signed-off-by: Artur Bieniek <abieniek@internships.antmicro.com>
2025-07-24 11:27:02 +02:00
Wilson Snyder
db5b2669fc
Add current memory usage statistic ( #6192 partial)
2025-07-24 08:36:58 +02:00
Wilson Snyder
460bfbf181
Fix replicate of negative giving 'REPLICATE has no expected width' internal error ( #6048 ).
2025-07-23 18:07:50 -04:00
Wilson Snyder
050e5ddb5b
Fix internal error after bad method
2025-07-23 17:17:35 -04:00
Wilson Snyder
393f0e4acb
Tests: Example format
2025-07-23 14:58:58 -04:00
Geza Lore
7c5d462564
Remove AstJumpLabel ( #6221 )
...
Remove AstJumpLabel
AstJumpGo now references one if its enclosing AstJumpBlocks, and
branches straight after the referenced block.
That is:
```
JumpBlock a {
...
JumpGo(a);
...
}
// <--- the JumpGo(a) goes here
```
This is sufficient for all use cases and makes control flow much easier to
reason about. As a result, V3Const can optimize a bit more aggressively.
Second half of, and fixes #6216
2025-07-23 17:51:16 +01:00
Geza Lore
763183f067
Internals: Remove AstWhile::precondsp() ( #6219 ). No functional change intended.
2025-07-23 08:50:39 -04:00
Geza Lore
2958a5aaae
Internals: Do not emit temporaries for atomic assignments. ( #6217 )
...
Added test for a particularly convoluted case requiring fixup in
V3Premit. To help with statistics stability, also prevent V3Premit from
introducing temporaries for assignment where the RHS reads the LHS, but
the assignment is known to be atomic (by emitted C++ semantics).
Also rename `createWideTemp` to `createTemp`, as it is used for non-wide
expressions as well.
2025-07-23 11:48:55 +02:00
Geza Lore
344fabf56a
Fix incorrect assumption in V3DfgDecomposition ( #6215 )
...
Due to SCC merging the deleted assumption/assertion can be violated.
Fixes #6211 .
2025-07-22 14:03:35 +01:00
Geza Lore
9f04ee68c8
Optimize combinational cycles through arrays in DFG ( #6210 )
...
Extending V3DfgBreakCycles to handle common cases involving unpacked
arrays.
2025-07-22 08:23:45 +01:00
Danny Oler
74d4b0c0ea
Fix automatic task variables in unrolled loops with forks ( #6194 ) ( #6201 ).
2025-07-21 19:28:50 -04:00
Geza Lore
a8dca71ed0
Support more complex combinational assignments in DFG. ( #6205 )
...
Previously DFG was limited to having a Sel, or an ArraySel potentially
under a Concat on the LHS of combinational assignments. Other forms or
combinations were not representable in the graph.
This adds support for arbitrary combinations of the above by
combining DfgSplicePacked and DfgSpliceArray vertices introduced in
#6176 . In particular, Sel(ArraySel(VarRef,_),_) enables a lot more code
to be represented in DFG.
2025-07-21 12:33:12 -04:00
Igor Zaworski
98b8d43a4a
Fix parameter-dependent type linking ( #6170 )
2025-07-21 07:30:10 -04:00
Max Wipfli
a50ea2a1a6
Optimize 2 ** X to 1 << X if base is signed ( #6203 )
2025-07-20 09:56:34 -04:00
Wilson Snyder
078bb21a89
Add wire data type checking per IEEE.
2025-07-20 07:21:30 -04:00
Wilson Snyder
b8b9478938
Improve enum base type checking error message.
2025-07-19 22:37:07 -04:00
Ibrahim Burak Yorulmaz
9d146eae16
Fix VPI signal range order ( #6189 ) ( #6200 )
2025-07-19 20:22:02 -04:00
Wilson Snyder
7d43a935bd
Add SPECIFYIGN warning for specify constructs that were previously silently ignored.
2025-07-18 19:32:34 -04:00
Yilou Wang
9b99d9697f
Fix virtual interface member propagation ( #6175 ) ( #6184 )
2025-07-18 09:07:31 -04:00
Ryszard Rozak
a21ecb2ab9
Add support for randomize..with on objects of aliased types ( #6195 )
2025-07-18 13:04:47 +02:00
Wilson Snyder
c1506deef9
Add enum base type checking per IEEE.
2025-07-17 20:20:43 -04:00
Wilson Snyder
87050670b4
Fix structure select causing 'Wide Op' error ( #6191 ).
2025-07-17 18:17:49 -04:00
Wilson Snyder
fb1373b854
Tests: Reformat. Ignore whitespace if comparing. No test functional change.
2025-07-16 21:31:40 -04:00
Wilson Snyder
7f1011e5f7
Make some CVTREAL fatal where IEEE requires it.
2025-07-16 18:07:07 -04:00
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
Wilson Snyder
99daa8d24b
Support `default disable iff` and `$inferred_disable` ( #4016 ).
2024-11-26 22:27:32 -05:00
Wilson Snyder
bee344d1ae
Add error on illegal `--prefix` etc. values ( #5507 ).
2024-11-26 21:06:43 -05:00
Wilson Snyder
713dab278c
Fix mis-public interfaces, broke in f58aee2ff2
2024-11-26 19:16:05 -05:00
Wilson Snyder
29ad93c89d
Tests: Add t_interface_colon_bad ( #5281 )
2024-11-25 21:50:24 -05:00
Wilson Snyder
7a9140821d
Fix public_module requiring a wire to become public ( #4916 ).
2024-11-25 21:21:11 -05:00
Wilson Snyder
2ba0749993
Tests: Verify function ref ( #3385 )
2024-11-25 20:38:41 -05:00
Wilson Snyder
25d75ee86f
Add `--fno-inline-funcs` to disable function inlining.
2024-11-25 19:59:10 -05:00
Wilson Snyder
1277a40b31
Tests: Add driver --obj-suffix option
2024-11-24 21:12:08 -05:00
Wilson Snyder
f5ee7aa0ab
Internals: Decouple Bison class/package symbol table parsing from Link symbol table. ( #5629 )
...
Not intended to change non-error cases, but side-effects are likely.
2024-11-24 18:19:19 -05:00
Wilson Snyder
7e9535381a
Tests: Use VM_PREFIX
2024-11-23 22:02:19 -05:00
github action
0d5fedce92
Apply 'make format'
2024-11-24 03:02:04 +00:00
sumpster
24b5c641f5
Fix array of struct member overwrites on member update ( #5605 ) ( #5618 ) ( #5628 )
2024-11-23 22:01:02 -05:00
sumpster
ca31bcdbb6
Tests: Fix solver help output detection case insensitive ( #5626 ) ( #5627 )
2024-11-23 18:10:37 -05:00
Ryszard Rozak
ae990ebcda
Add warning on global constraints ( #5625 )
2024-11-22 08:47:14 -05:00
Ryszard Rozak
5470cf9fa9
Support randomize size constraints with restrictions ( #5582 partial) ( #5611 )
2024-11-15 10:45:06 -05:00
Wilson Snyder
81ac386a4a
Tests: Renames
2024-11-14 21:05:59 -05:00
Greg Davill
904be103df
Support parameter names in pattern initialization ( #5593 ) ( #5596 )
2024-11-14 07:25:58 -05:00
Wilson Snyder
8e82440a55
Fix extranous local:: error
2024-11-13 19:15:10 -05:00
Wilson Snyder
d4a8cbb1d6
Fix `function fork...join_none` regression with unknown type ( #4449 ).
2024-11-13 08:00:43 -05:00
Wilson Snyder
192236a832
Fix `module automatic`
2024-11-13 07:10:48 -05:00
github action
c7dbdf876a
Apply 'make format'
2024-11-13 03:12:11 +00:00
Wilson Snyder
3ffea76e11
Add `--no-std-waiver` and default reading of standard lint waivers file ( #5607 ).
2024-11-12 22:11:19 -05:00
Wilson Snyder
09547f839f
Tests: Remove file-number hardcoded dependencies.
2024-11-12 21:39:13 -05:00
Wilson Snyder
0bf413b260
Add `lint_off --contents` in configuration files. ( #5606 )
2024-11-12 20:21:16 -05:00
Krzysztof Starecki
1d06364284
Support vpiDefName ( #5572 )
2024-11-12 11:28:39 -05:00
Wilson Snyder
833c215c45
Tests: Move uvm to subdirectory and add context-sensitive waivers
2024-11-11 20:49:59 -05:00
Wilson Snyder
4d95f6f7b8
Add `--waiver-multiline` for context-sensitive `--waiver-output`.
2024-11-11 20:00:26 -05:00
Wilson Snyder
7c8ff1d19c
Add `--no-std-package` as subset-alias of `--no-std`.
2024-11-11 08:30:07 -05:00
Wilson Snyder
151c5b6a1d
Tests: Rename some tests
2024-11-10 20:00:16 -05:00
Wilson Snyder
15d1751b23
Internals: Defer `class extends` resolution until link
2024-11-10 19:34:00 -05:00
Wilson Snyder
75e9986d39
Fix local:: mis-allowed in `class extends`
2024-11-10 16:43:21 -05:00
Geza Lore
863abdb1f7
Fix NBAs to unpacked arrays of unpacked structs ( #5603 )
...
This happened to work before #5516 , by creating a whole shadow copy of
the entire array. Revert back to that behaviour for now, it will be
slow, but works still.
Fixes #5590
2024-11-10 17:38:28 +00:00
Geza Lore
03bd1bfc63
Move Concat balancing from DFG to FuncOpt ( #5602 )
...
This means it applies more widely, e.g. inside sequential logic.
2024-11-10 17:23:11 +00:00
Wilson Snyder
4257fcf9d0
Change parsing of cells to be non-symbol table sensitive.
2024-11-10 12:08:37 -05:00
Geza Lore
77ef2cd487
Split up assignments to wides with Concat on the RHS ( #5599 )
...
Add a new pass to split up (recursively):
foo = {l, r};
into the following, with the right indices, iff the concatenation
straddles a wide word boundary.
foo[_:_] = r;
foo[_:_] = l;
This eliminates more wide temporaries.
Another 23% speedup on VeeR EH2 high_perf. Also brings the predicted
stack size from 8M to 40k.
2024-11-10 15:51:59 +00:00
Wilson Snyder
7f1aae640f
Fix dotted reference in delay value ( #2410 ).
2024-11-10 10:23:29 -05:00
Wilson Snyder
bc87270ca9
Add UNSUPPORTED on property variable, instead of syntax error.
2024-11-09 22:26:59 -05:00
Wilson Snyder
b741105329
Tests: Fix t_dist_whitespace error message
2024-11-09 20:47:59 -05:00
Wilson Snyder
2f4d1647f0
Fix non-interface error message
2024-11-09 20:28:47 -05:00
Wilson Snyder
4a88ddc616
Tests: Fix interface syntax error
2024-11-09 17:22:16 -05:00
Wilson Snyder
c7a7965c49
Rename identifer token
2024-11-09 16:49:34 -05:00
Geza Lore
f073b278f9
Balance concatenations in DFG ( #5598 )
...
The DFG peephole pass converts all associative trees into right leaning,
which is good for simplifying pattern recognition, but can lead to an
excessive amount of wide intermediate results being constructed for
right leaning concatenations.
Add a new pass to balance concatenation trees by trying to:
- Create VL_EDATASIZE (32-bit) sub-terms, so words can then be packed
easily afterwards
- Try to ensure the operands of a concat are roughly the same width
within a concatenation tree. This does not yield the shortest tree,
but it ensures it has many sub-nodes that are small enough to fit into
machine registers.
This can eliminate a lot of wide intermediate results, which would need
temporaries, and also increases ILP within sub-expressions (assuming the
C compiler can't figure that out itself).
This is over 2x run-time speedup on the high_perf configuration of
VeeR EH2 (which you could arguably also get with -fno-dfg, but oh well).
2024-11-09 18:14:19 +00:00
Wilson Snyder
4969125e5a
Add error on soft constraints of randc
2024-11-09 12:45:55 -05:00
Wilson Snyder
d230ccd716
Add error on `solve before` of `randc` variable.
2024-11-09 12:26:48 -05:00
Wilson Snyder
3fae11595a
Support `pure constraint`.
2024-11-09 12:05:26 -05:00
Wilson Snyder
1e546bb9d9
Add assertion on firing event inside class ( #5597 )
2024-11-09 09:28:40 -05:00
Wilson Snyder
3438d8f2b0
Tests: Use illegal struct
2024-11-09 08:34:17 -05:00
Wilson Snyder
a55daf5367
Commentary
2024-11-09 07:56:47 -05:00
Yilou Wang
a173883b2d
Support basic constrained random for multi-dimensional dynamic array and queue ( #5591 )
2024-11-08 14:04:58 -05:00
Ryszard Rozak
6083480abb
Fix `rand` dynamic arrays with null handles ( #5594 )
...
l
2024-11-08 06:53:43 -05:00
Yilou Wang
e47208d9b3
Support queue's assignment `push_back/push_front('{})` ( #5585 ) ( #5586 )
...
Co-authored-by: Udaya Raj Subedi <075bei047.udaya@pcampus.edu.np>
2024-11-06 17:31:48 -05:00
Wilson Snyder
87bd8fefa0
Add error on `wait` with missing `.triggered`. ( #4457 )
2024-11-05 01:22:56 -05:00
Wilson Snyder
753ea29df8
Add error on illegal enum base type ( #3010 ).
2024-11-05 00:58:46 -05:00
Wilson Snyder
b1dfdef0a9
Add error when improperly storing to parameter ( #5147 ).
2024-11-05 00:17:40 -05:00
Bartłomiej Chmiel
4e71f359bf
Fix duplicate scope identifiers decoding ( #5584 )
...
Signed-off-by: Bartłomiej Chmiel <bchmiel@antmicro.com>
Co-authored-by: Ryszard Rozak <rrozak@antmicro.com>
2024-11-04 06:06:15 -08:00
Wilson Snyder
7854118883
Fix negative assignment pattern keys ( #5580 ).
2024-11-02 10:06:01 -04:00
Zhou Shen
589612f914
Fix can't locate scope error in interface task delayed assignment ( #5462 ) ( #5568 )
2024-11-02 09:42:57 -04:00
Geza Lore
76b4c2f254
driver.py: Properly detect cfg with ccache ( #5579 )
2024-11-01 17:14:17 +00:00
Wilson Snyder
b097cec72d
Tests: Reduce false t_const_number_unsized_parse timeouts ( #5577 )
2024-11-01 12:39:29 -04:00
Geza Lore
aac0186871
Fix pylint 3.2.7 global-variable-not-assigned ( #5578 )
2024-11-01 15:27:08 +00:00
Geza Lore
f458951b17
Fix slow unsized number parsing ( #5577 )
...
Try to avoid allocating and deallocating a full --max-num-width
buffer on parsing every single unsized number literal.
2024-11-01 14:10:44 +00:00
Andrew Nolte
4448778dbf
Add coverage point hierarchy to coverage reports ( #5575 ) ( #5576 )
2024-11-01 09:30:44 -04:00
Todd Strader
dab826bef9
VPI error instead of fatal for vpi_get_value() on large signals ( #5571 )
2024-10-31 17:02:37 -04:00
Todd Strader
0f2a8c6c22
Fix BLKANDNBLK for for VARXREFs ( #5569 )
2024-10-29 07:27:40 -04:00
Wilson Snyder
2f272a4190
Fix `$countbits` in assert with non-tristates ( #5566 ).
2024-10-27 09:30:54 -04:00
Todd Strader
ec2eae607a
Fix enum name method ( #5563 )
2024-10-25 18:49:45 -04:00
Ryszard Rozak
292c2e289e
Support `rand` dynamic arrays of objects ( #5557 ) ( #5564 )
2024-10-25 12:00:43 -04:00
Ryszard Rozak
87ac61140d
Tests: Don't use indices in check_rand ( #5561 )
...
Signed-off-by: Ryszard Rozak <rrozak@antmicro.com>
2024-10-25 11:06:32 -04:00
Geza Lore
81ee89de15
Properly skip t_ccache_report when no ccache ( #5562 )
2024-10-25 14:33:26 +01:00
Todd Strader
83081aaefc
Fix struct literal on pattern assignment ( #5552 ) ( #5559 )
2024-10-24 18:50:57 -04:00
Ryszard Rozak
4cd69f9feb
Fix queue element access ( #5551 )
2024-10-24 09:40:54 -04:00
Todd Strader
8cc7e180ca
Fix array trace splitting ( #5549 )
2024-10-23 11:51:48 -04:00
Todd Strader
d3d45c0be5
Tests: Fix file_grep_count() error message ( #5550 )
2024-10-23 10:07:03 -04:00
Yilou Wang
2409f32d87
Fix multi-range indices assignment ( #5534 ) ( #5547 )
...
Co-authored-by: Udaya Raj Subedi <075bei047.udaya@pcampus.edu.np>
2024-10-21 09:56:50 -04:00
Yilou Wang
8c3cc3af8f
Fix struct array assignment ( #5455 ) ( #5537 )
2024-10-21 09:54:33 -04:00
Todd Strader
76fe224e7c
Fix complex user type problem with --x-assign ( #5543 )
2024-10-18 19:52:25 -04:00
Krzysztof Boroński
7ccc93d9df
Fix reduction methods for verilated types ( #5542 )
2024-10-18 19:51:44 -04:00
Geza Lore
55661e7f71
Install public executables into bindir instead of pkgdatadir ( #5140 ) ( #5544 )
...
Instead of installing redirect scripts in to bindir, and real
executables in to pkgdatadir/bin, we now put the real executables into
bindir, and add redirect scripts into pkgdatadir/bin. (That is, we
redirect in the opposite direction as before).
This enables the same relocatable and testable installations as before
without putting architecture specific binaries into pkgdatadir, so
hopefully we now conform to the Linux Filesystem Hierarchy Standard.
This requires a small fixup in the installed `verilator` script to
hardcode the relative path between bindir and pkgdatadir.
Fixes #5140
2024-10-18 10:06:28 +01:00
Ryszard Rozak
0dce97b09d
Fix assignments of concatenation to queues and dynamic arrays ( #5540 )
2024-10-15 07:35:59 -04:00
Ryszard Rozak
a3d0cc6522
Fix static function wrappers ( #5536 )
...
Signed-off-by: Ryszard Rozak <rrozak@antmicro.com>
2024-10-14 07:41:17 -04:00
Wilson Snyder
1df20f7076
Remove driver.pl - deprecated earlier with driver.py
2024-10-13 21:55:31 -04:00
Wilson Snyder
2fc94557a0
Fix error on enums with x/z using .name(), and internal refactoring
2024-10-11 22:37:48 -04:00
Vito Gamberini
789698cb5c
Fix coverage counts missing due to table optimization ( #5473 ) ( #5474 ).
...
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
2024-10-10 21:22:06 -04:00
Yilou Wang
3cced9baad
Fix foreach on associative arr with the same logic and update the tests ( #5530 )
2024-10-10 12:50:43 -04:00
Yilou Wang
f3cc32554c
Fix `foreach` with 2-D queues and dynamic arrays ( #5525 ) ( #5529 )
2024-10-10 10:50:37 -04:00
Ryszard Rozak
2a905c1d6e
Fix copy constructor of classes that use std::process ( #5528 )
...
Signed-off-by: Ryszard Rozak <rrozak@antmicro.com>
2024-10-10 14:40:07 +02:00
Wilson Snyder
9f34764f4b
Tests: Find filenames with fix me
2024-10-10 07:48:23 -04:00
Wilson Snyder
69ac3c14e8
Fix crash with internal assertion on short array initializer (partial #5511 )
2024-10-10 07:20:44 -04:00
Zhou Shen
1710b6bab4
Support for wired nets, `wor`/`trior`/`wand`/`triand`. ( #5496 )
2024-10-09 17:53:46 -04:00
Geza Lore
5acced1e33
Refactor V3Delay for extensibility ( #5516 )
...
* Refactor V3Delay for extensibility
Introduce the concept of an "NBA Scheme", which is the lowering pattern
we can use for various variables that are the targets of NBAs.
E.g.:
- ShadowVariable (old default scheme)
- FlagShared (old array set flag scheme)
- ValueQueueWhole (recent dynamic commit queue)
We now analyse all AstAssignDly before making any decisions on which
scheme to apply. We then choose a specific scheme for each variable that
is the target of an NBA, and then all NBAs targeting that variable use
the same scheme. This enables easy mix and match of schemes as needed,
while remaining consistent by design after extensions.
Output is perturbed due to node insertion order, but no functional
or performance change is intended.
2024-10-09 10:39:40 +01:00
Yilou Wang
920c8012de
Support unconstrained randomization for associative array and queue ( #5515 )
2024-10-08 10:54:20 -04:00
Wilson Snyder
b873c23cf2
Internals: Refactor into V3Width enumSelect function
2024-10-07 21:44:07 -04:00
Wilson Snyder
13c7b6e827
Tests: Faster first retry
2024-10-07 21:44:07 -04:00
Wilson Snyder
bbce7926b9
Tests: Remove unused clk input
2024-10-07 21:44:07 -04:00
Ryszard Rozak
009d1f2f5b
Fix -j option without argument in hierarchical verilation ( #5514 )
...
Signed-off-by: Ryszard Rozak <rrozak@antmicro.com>
2024-10-07 07:31:59 -04:00
Wilson Snyder
28ecd8e908
Support `local` and `protected` on `typedef` ( #5460 ).
2024-10-06 18:08:40 -04:00
Wilson Snyder
bc8a332ee8
Tests: Disable last test due to clang warning
2024-10-06 05:00:57 -04:00
Wilson Snyder
d52822781c
Tests: Fix driver for --iv etc
2024-10-06 04:49:53 -04:00
Wilson Snyder
4b713e9882
Fix pattern initialization with typedef key ( #5512 ).
2024-10-06 04:01:15 -04:00
Wilson Snyder
fd9f5ab34e
Fix not reporting class reference with extra parameters ( #5467 ).
2024-10-04 05:38:36 -04:00
Wilson Snyder
d06f986b51
Add elaboration dot-error message context, plus debug improvements
2024-10-04 05:38:05 -04:00
Wilson Snyder
8638e46cb7
Fix IEEE version number
2024-10-04 05:22:09 -04:00
Wilson Snyder
85909f02b3
Commentary
2024-10-04 05:21:18 -04:00
Wilson Snyder
ff1d20d50c
Tests: Add t_struct_initial_assign, still fails ( #5380 ) ( #5381 ).
2024-10-03 20:36:23 -04:00
Wilson Snyder
c300075a20
Tests: Remove driver Python version package requirement ( #5505 )
2024-10-03 19:39:28 -04:00
Wilson Snyder
4bdfc653a3
Add error on misused genvar ( #408 ).
2024-10-03 18:54:30 -04:00
Wilson Snyder
b90b81e12c
Tests: Fix string !== for other simulators.
2024-10-03 18:14:53 -04:00
Han Qi
bf2b4e1b6a
Fix equivalence checking when replacing type parameters ( #5213 ) ( #5255 )
2024-10-03 21:19:07 +01:00
Yilou Wang
c05c48aaf3
Support unpacked array Constrained Randomization ( #5437 ) ( #5489 )
2024-10-02 10:29:47 -04:00
Mariusz Glebocki
0547108e3f
Add `-output-groups` to build with concatenated .cpp files ( #5257 )
...
Signed-off-by: Bartłomiej Chmiel <bchmiel@antmicro.com>
Signed-off-by: Ryszard Rozak <rrozak@antmicro.com>
Signed-off-by: Arkadiusz Kozdra <akozdra@antmicro.com>
Co-authored-by: Mariusz Glebocki <mglebocki@antmicro.com>
Co-authored-by: Arkadiusz Kozdra <akozdra@antmicro.com>
Co-authored-by: Bartłomiej Chmiel <bachm44@gmail.com>
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
Co-authored-by: Ryszard Rozak <rrozak@antmicro.com>
2024-09-30 21:42:36 -04:00
Bartłomiej Chmiel
1a31aa5d62
Internals: Fix annotation checker not considering base class virtual function annotations ( #5459 )
2024-09-30 21:34:34 -04:00
Wilson Snyder
d0ec6092b3
Change package import/export to link post-parsing, prep for later commit.
2024-09-28 20:55:22 -04:00
Wilson Snyder
5c923d6629
Fix to avoid IMPLICIT creation if data type of same name.
2024-09-28 17:58:26 -04:00
Arkadiusz Kozdra
5b56c80830
Better error recovery ( #5493 )
...
Signed-off-by: Arkadiusz Kozdra <akozdra@antmicro.com>
2024-09-27 20:38:49 +02:00
Wilson Snyder
2291d3d4c6
Tests: Fix some non-IEEE issues in tests.
2024-09-27 09:00:20 -04:00
Arkadiusz Kozdra
02e7767886
Fix randomize with foreach constraints ( #5492 )
...
Signed-off-by: Arkadiusz Kozdra <akozdra@antmicro.com>
2024-09-26 19:31:06 +02:00
Geza Lore
2a01365f9b
Fix V3Table trying to generate 'x' bits in the lookup table. ( #5491 )
...
Due to out of range selects, V3Table attempted to create a table in the
constant pool with an 'x' value in it, which caused an internal error.
Ensure V3Table behaves the same for out of range selects as the original
logic would.
There is a related bug #5490 , about leaving partially out of range
selects in the logic after inserting bounds checks in V3Unknown.
2024-09-26 16:31:47 +01:00
Arkadiusz Kozdra
91c8866ac3
Fix exponential ConcatN ( #5488 )
...
Signed-off-by: Arkadiusz Kozdra <akozdra@antmicro.com>
Co-authored-by: Szymon Gizler <sgizler@internships.antmicro.com>
2024-09-26 05:12:24 -04:00
Wilson Snyder
798bbe98e8
Add syntax error on empty case items, per IEEE grammar.
2024-09-25 22:40:28 -04:00
Wilson Snyder
a3bbf13506
Internals: Minor parser reorgs in prep for future pull. No functional change intended.
2024-09-25 20:41:49 -04:00
Wilson Snyder
650da7beb2
Examples: Cleanup some spacing
2024-09-25 14:24:01 -04:00
Geza Lore
3bc09d49fb
Generate one trigger per SenItem instead of per SenTree ( #5483 )
2024-09-25 10:35:50 +01:00
Wilson Snyder
6c61a9aff3
Support objcache when compiling Verilated files with cmake.
2024-09-24 20:55:11 -04:00
Wilson Snyder
a4085f3a06
Internals: Standardize format of CMake files with gersemi. No functional change intended.
2024-09-24 20:43:19 -04:00
Wilson Snyder
3ae18af8dd
Fix short-circuting on method calls ( #5486 ).
2024-09-24 20:24:27 -04:00
Wilson Snyder
811eab8fa5
Fix short-circuting with associative array access ( #5484 ).
2024-09-24 19:24:01 -04:00
Wilson Snyder
4ec75b2618
Fix over-permissive parsing of UDPs without identifiers
2024-09-24 18:53:32 -04:00
Wilson Snyder
c48d80592e
Fix extra dot in coverage point hierarchy when using name()=''.
2024-09-23 07:34:12 -04:00
Wilson Snyder
0aa8356eca
Change `--main` and `--binary` to use a TOP hierarchy name of "" ( #5482 ).
2024-09-22 23:03:51 -04:00
Wilson Snyder
706679e6b1
Support DPI imports and exports with double underscores.
2024-09-22 22:06:39 -04:00
Wilson Snyder
d288488b7f
Fix --binary with .cpp PLI filenames under relative directory paths.
2024-09-22 16:47:15 -04:00
Wilson Snyder
88bd479bc7
Add error on instances without parenthesis.
2024-09-22 12:25:35 -04:00
Wilson Snyder
90215878f8
Tests: Improve t_dist_warn_coverage.py
2024-09-22 09:10:03 -04:00
Wilson Snyder
a1a74cb1d9
Fix mis-parsing of `constraint = new`.
2024-09-22 09:10:01 -04:00
Wilson Snyder
9f9770e722
Parse elaboration-time nettype declarations (as UNSUPPORTED)
2024-09-21 21:00:02 -04:00
Wilson Snyder
888af29a72
Delay struct type determination until elaboration
2024-09-21 20:27:55 -04:00
Wilson Snyder
5f39c69d19
Delay parameter type assignment determination until elaboration
2024-09-21 20:27:41 -04:00
Wilson Snyder
e7de2c5a05
Remove warning on unsized numbers exceeding 32-bits.
2024-09-21 19:19:12 -04:00
Geza Lore
59b07529b1
driver.py: fix aslr_off ( #5477 )
2024-09-21 16:37:51 +01:00
Geza Lore
a6e9bce0dd
driver.py: consume all stdout from subprocess ( #5476 )
2024-09-21 16:24:45 +01:00
Wilson Snyder
2c52119d6c
Tests: Rename some tests into proper groups. No functional change.
2024-09-21 10:04:58 -04:00
Wilson Snyder
48faf8d036
Fix tracing when name() is empty ( #5470 ).
2024-09-21 08:25:14 -04:00
Wilson Snyder
0484143282
Tests: Update t_timing_finish ( #5472 )
2024-09-21 07:46:04 -04:00
Wilson Snyder
0ee214a157
Tests: Fix t_timing_fork_comb_bad committed earlier
2024-09-20 22:16:00 -04:00
Wilson Snyder
5a6f2b661d
Tests: Avoid multiple lint/compile runs in one test; hard to debug
2024-09-20 20:34:35 -04:00
Wilson Snyder
80cba789f4
Internals: Remove V3LinkParse's need of class links. No functional change intended.
2024-09-20 18:26:23 -04:00
Wilson Snyder
92dd8ee8f5
Fix timing mode not exiting on empty events ( #5472 ).
2024-09-20 17:46:27 -04:00
Todd Strader
1665d15d4d
Fix user-type parameter overlap ( #5469 )
2024-09-20 14:29:31 -04:00
Wilson Snyder
f0fb0b05ff
Internals: Misc V3Param cleanups.
2024-09-20 08:59:10 -04:00
Wilson Snyder
02e88e3848
Fix suppression of WIDTH* warnings when immediately under a size cast ( #3417 ).
2024-09-19 22:56:47 -04:00
Wilson Snyder
87eef36b1c
Tests: Fix driver race sometimes missing final log data
2024-09-19 22:49:40 -04:00
Wilson Snyder
579257bc42
Tests: Fix driver not accepting debug pass-down flags to Verilator, broke earlier commit.
2024-09-19 22:08:40 -04:00
Yilou Wang
70112438c3
Support packed/unpacked and dynamic array unconstrained randomization ( #5414 ) ( #5415 )
2024-09-19 20:07:05 -04:00
Wilson Snyder
175e1dde73
Tests: Run t_hier_block_cmake.py first so finishes
2024-09-19 19:33:43 -04:00
Wilson Snyder
e990415ee0
Tests: Improve driver performance with forkserver
2024-09-19 19:28:07 -04:00
Wilson Snyder
1543b202b2
Tests: Move per-command expect= to instead check logfiles
2024-09-19 18:53:22 -04:00
Wilson Snyder
c7e1358bb7
Tests: Fix --gdb with one test ( #5466 )
2024-09-19 17:06:32 -04:00
Arkadiusz Kozdra
dd95e033e7
Support inside array constraints ( #5448 )
...
Signed-off-by: Arkadiusz Kozdra <akozdra@antmicro.com>
2024-09-19 07:27:59 -04:00
Wilson Snyder
371a4055b0
Fix false LIFETIME warning on `repeat` in `fork-join` ( #5456 ).
2024-09-18 21:20:17 -04:00
Wilson Snyder
f251f7b774
Tests: CONSTRIAINTIGN, ZERODLY no longer need suppression on UVM
2024-09-17 21:21:08 -04:00
Wilson Snyder
7081ea0ede
Support as a task call
2024-09-17 20:53:08 -04:00
Wilson Snyder
fb04765c0e
Fix class reference with pin that is a class reference ( #5454 ).
2024-09-17 17:38:18 -04:00
Wilson Snyder
b8bda729d4
Tests: Fix debug message
2024-09-16 20:29:23 -04:00
Wilson Snyder
c8de3630a5
Tests: Fix driver error report, and passing `--dumpi-tree`
2024-09-15 21:10:44 -04:00
Wilson Snyder
19170badd3
Fix warning IEEE reference ( #5453 )
2024-09-15 11:05:48 -04:00
Wilson Snyder
77fc771ed0
Tests: Fix missing stdout on execute()
2024-09-14 18:01:49 -04:00
Wilson Snyder
0fe8c73d19
Fix `$fatal` to not be affected by `+verilator+error+limit` ( #5135 ).
2024-09-13 20:45:44 -04:00
Wilson Snyder
eb66e137db
Fix fault on defparam with UNSUPPORTED ignored ( #5450 ).
2024-09-13 18:31:55 -04:00
Wilson Snyder
c2b82c293f
Tests: Fix driver creating .out with --gold
2024-09-13 18:31:35 -04:00
Arkadiusz Kozdra
0b7510befa
Support basic dist constraints ( #5431 )
2024-09-12 05:20:36 -07:00
Wilson Snyder
22d6bb8180
Fix display with multiple string formats ( #5311 ).
2024-09-11 08:41:11 -04:00
Wilson Snyder
f4e4602dcb
Tests: Fix driver handling of interrupts
2024-09-10 20:29:26 -04:00
Wilson Snyder
521c5c2f75
Fix extra events in traces ( #5405 ).
2024-09-10 19:14:52 -04:00
Wilson Snyder
3525484730
Commentary
2024-09-10 19:04:55 -04:00
Arkadiusz Kozdra
4a58997604
Support basic constrained queue randomization ( #5413 )
...
Signed-off-by: Arkadiusz Kozdra <akozdra@antmicro.com>
2024-09-10 09:33:14 -04:00
Arkadiusz Kozdra
ef259f63ca
Fix randomize treated as std::randomize in classes ( #5436 )
2024-09-10 09:10:36 -04:00
Arkadiusz Kozdra
2f690c0530
Fix foreach colliding index names ( #5444 )
...
Signed-off-by: Arkadiusz Kozdra <akozdra@antmicro.com>
2024-09-10 07:17:21 -04:00
Wilson Snyder
283a5edbdb
Tests: Make GCOV_PREFIX path directories
2024-09-09 21:47:47 -04:00
Wilson Snyder
e566b5a4f5
Change .vlt config files to be read before .v files ( #5185 ).
2024-09-09 20:18:54 -04:00
Wilson Snyder
4e4fdd3b66
Fix multidimensional function return value selects ( #5382 ).
2024-09-09 19:56:09 -04:00
Wilson Snyder
434896d50c
Tests: test class IGNOREDRETURN.
2024-09-09 19:48:15 -04:00
Andrew Nolte
1e7611edea
Change to use maximum for cover point aggregation ( #5402 )
2024-09-09 14:20:18 -04:00
Geza Lore
2890126110
Remove out of range Sel in V3Unknown ( #5443 )
...
Fixes #5393
2024-09-09 14:09:29 +01:00
Wilson Snyder
07bb8c701d
Convert test driver to Python ( #5427 )
2024-09-08 13:00:03 -04:00
Wilson Snyder
55ae48ac13
Commentary
2024-09-08 11:11:20 -04:00
Wilson Snyder
c83ee391bb
Fix associative array next/prev/first/last mis-propagating constants ( #5435 ).
2024-09-07 15:25:35 -04:00
Wilson Snyder
3a73d83741
Tests: Fix clang 18 warning
2024-09-07 10:20:59 -04:00
Wilson Snyder
7eb1b6c32b
Tests: Fix GCC 13.2.0 issues. No functional change.
2024-09-06 22:04:49 -04:00
Andrew Nolte
083fb7e9c2
Add partial coverage symbol and branch data in lcov info files ( #5388 )
2024-09-06 18:15:18 -04:00
Krzysztof Bieganski
afb8428db4
Support IEEE-compliant intra-assign delays ( #3711 ) ( #5441 )
2024-09-06 18:13:52 -04:00
Wilson Snyder
1c38744fd1
Tests: Fix requiring core dump
2024-09-04 20:10:05 -04:00
Krzysztof Bieganski
51691dfde5
Fix driving clocking block in Reactive
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2024-09-04 07:57:51 -04:00
Wilson Snyder
e4ff0909dc
Tests: Misc test cleanups from Python branch.
2024-09-03 21:42:06 -04:00
Wilson Snyder
d3670b6890
Test: Remove old test
2024-09-03 21:32:09 -04:00
Wilson Snyder
551862a55e
Tests: Move some misplaced files. No functional change.
2024-09-02 15:50:40 -04:00
Arkadiusz Kozdra
d3fcec3e84
Fix clearing trigger of events with no sentrees ( #5426 )
...
Signed-off-by: Arkadiusz Kozdra <akozdra@antmicro.com>
2024-09-02 18:19:49 +02:00
Krzysztof Bieganski
088862d449
Support appending to queue via `[]` ( #5421 )
2024-09-02 09:45:47 -04:00
Wilson Snyder
b698bfd850
Tests: Untabify some tests.
2024-09-01 21:12:37 -04:00
Wilson Snyder
c9970ff822
Tests: Fix --verbose broken display
2024-09-01 21:01:07 -04:00
Wilson Snyder
df594ee430
Tests: Fix ll scan test.
2024-09-01 20:59:42 -04:00
Todd Strader
201e343795
Fix sformatf internal error on initial automatics ( #5423 )
2024-08-30 19:35:47 -04:00
Wilson Snyder
9a307c4abd
Tests: Cleanup trace_filename use. No test functionality change.
2024-08-30 18:34:42 -04:00
Krzysztof Bieganski
657d7f257b
Support named event locals ( #5422 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2024-08-30 17:10:47 +02:00
Wilson Snyder
0ec5e02ce1
Improve hex too many digits error ( #5419 ).
2024-08-30 07:48:00 -04:00
Wilson Snyder
cdfb2221bb
Tests: Remove ancient GCC 4.4 skip.
2024-08-29 19:25:22 -04:00
Krzysztof Bieganski
f133a2811f
Fix capturing params in `randomize() with` ( #5416 ) ( #5418 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2024-08-29 23:02:21 +02:00
Krzysztof Bieganski
675d9a641e
Call `pre`/`post_randomize` on `randomize() with` ( #5412 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2024-08-28 19:42:49 +02:00
Krzysztof Bieganski
d896f1ff08
Fix queue `[$-i]` select as reference argument ( #5411 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2024-08-28 17:29:12 +02:00
Kaleb Barrett
e04ef5d83a
Add method to check if there are VPI callbacks of the given type ( #5399 )
2024-08-27 17:36:51 -04:00
Krzysztof Bieganski
155dcc5658
Fix empty `foreach` in `if` in constraints ( #5408 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2024-08-27 15:39:36 +02:00
Krzysztof Bieganski
f623db7d68
Normalize types in constraints ( #5407 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2024-08-27 12:53:44 +02:00
Wilson Snyder
34bb013941
Tests: Fix broken t_proc.pl, and misc cleanups.
2024-08-26 21:53:36 -04:00
Wilson Snyder
ae35be9102
Internals: Reformat with new settings (last commit). No functional change.
2024-08-26 21:53:36 -04:00
Krzysztof Bieganski
b1927e4fb5
Fix infinite recursion due to recursive functions/tasks ( #5398 )
2024-08-26 12:18:52 -04:00
Yilou Wang
c4cb26fa9a
Support unconstrained randomization for unions ( #5395 ) ( #5396 )
2024-08-26 11:04:45 -04:00
Wilson Snyder
4e86e60491
Tests: Use only case-sensitve non-extended regexps
2024-08-26 08:14:39 -04:00
Wilson Snyder
a9635aaa2c
Tests: Default to check_finished=>1
2024-08-24 19:27:59 -04:00
Wilson Snyder
f0cd6dd95c
Fix REALCVT warning on integral timescale conversions ( #5378 ).
2024-08-24 08:01:28 -04:00
Bartłomiej Chmiel
ffe76717c6
Thread pool rewrite ( #5161 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
Signed-off-by: Bartłomiej Chmiel <bchmiel@antmicro.com>
Signed-off-by: Arkadiusz Kozdra <akozdra@antmicro.com>
Co-authored-by: Krzysztof Bieganski <kbieganski@antmicro.com>
Co-authored-by: Arkadiusz Kozdra <akozdra@antmicro.com>
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
2024-08-23 08:36:49 -04:00
Arkadiusz Kozdra
ed7040adc0
Fix dot fallback finding wrong symbols ( #5394 )
2024-08-22 15:49:08 -04:00
Krzysztof Bieganski
930f35acc9
Support `constraint_mode` ( #5338 )
2024-08-21 06:16:44 -04:00
Krzysztof Bieganski
13e0fc7c27
Fix virtual interface null checks ( #5391 )
2024-08-21 05:40:52 -04:00
Bartłomiej Chmiel
a730daabef
Support 'parameter type' in hierarchical blocks ( #5309 ) ( #5333 )
2024-08-21 05:30:59 -04:00
Andrew Nolte
3c28b72897
Tests: Add info files to golden ( #5390 )
2024-08-21 06:44:02 +03:00
Wilson Snyder
43a57da950
Add quotes to not-found filenames
2024-08-20 14:47:43 -04:00
James Bailey
99a43b7695
Fix +: and -: unpacked array slicing when array has nonzero low index ( #5345 ) ( #5387 )
...
Co-authored-by: James Bailey <james.bailey@awaveip.com>
2024-08-20 14:20:48 -04:00
Krzysztof Bieganski
59d2eea302
Fix capturing fields from superclass in `randomize() with` ( #5389 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2024-08-20 13:25:58 -04:00
Drew Ranck
48c71ef76c
Support default value on module input ( #5358 ) ( #5373 )
2024-08-15 10:04:07 -04:00
Ryszard Rozak
563faeb33f
Internals: Fix removing nodes in V3Life ( #5365 )
2024-08-14 09:23:24 +02:00
Krzysztof Bieganski
6cb0a41857
Support inline random variable control ( #5317 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2024-08-13 14:20:31 -04:00
Ethan Sifferman
1b15509a9c
Fix lint_off on Errors ( #5351 ) ( #5363 )
2024-08-11 21:04:46 +02:00
Wilson Snyder
24b097b228
Improve new class error ( #5359 )
2024-08-11 10:09:05 -04:00
Tim Hutt
c812a9b18f
Fix shortened module names when searching for files ( #5196 ) ( #5246 )
2024-08-09 17:23:00 -04:00
Arkadiusz Kozdra
367249ec84
Add parsing but otherwise ignore std::randomize ( #5354 )
2024-08-09 17:21:32 -04:00
Wilson Snyder
f4acc59b82
Tests: Check for wrong quotes in docs ( #5355 )
2024-08-09 17:18:59 -04:00
Krzysztof Bieganski
ec0815e9ac
Fix NBAs in suspendables ( #5348 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2024-08-08 22:12:00 +01:00
Krzysztof Bieganski
97e9996f0b
Fix optimized-out sentrees with `--timing` ( #5080 ) ( #5349 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2024-08-08 21:57:12 +01:00
Krzysztof Bieganski
b7af859ba3
Fix forks capturing non-input ports in tasks ( #5237 ) ( #5343 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2024-08-08 21:55:46 +01:00
Krzysztof Bieganski
701fa5438a
Fix output clockvar overwriting signal ( #5320 ) ( #5347 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2024-08-08 21:48:25 +01:00
Geza Lore
004865a8b2
Fix tracing_{on,off} in the presence of non-inlined modules ( #5346 )
...
Previously "*.foo.*" failed to match non-inlined instances called 'foo'.
2024-08-08 17:16:54 +01:00
Arkadiusz Kozdra
3e5859e5da
Support constraining AstSel ( #5344 )
...
Signed-off-by: Arkadiusz Kozdra <akozdra@antmicro.com>
2024-08-08 15:37:08 +01:00
Arkadiusz Kozdra
78555b683c
Fix missing type coercion in 'inside {array}' ( #5340 )
2024-08-08 03:46:41 -04:00
Wilson Snyder
c2e44dbd99
Fix $sformat with array arguments ( #5330 ).
2024-08-08 03:32:07 -04:00
Wilson Snyder
f4f8ea0dcf
Internals: Change cast fileline to point to cast operator
2024-08-07 18:45:53 -04:00
Arkadiusz Kozdra
f78c4e8490
Fix compilation error on unreachable disable fork / wait fork ( #5339 )
...
Signed-off-by: Arkadiusz Kozdra <akozdra@antmicro.com>
2024-08-07 18:44:02 -04:00
Arkadiusz Kozdra
e6fe367bdb
Support streams to/from arrays of wide data ( #5334 )
2024-08-06 16:18:16 +01:00
Ryszard Rozak
3426ee5170
Fix purity of functions with AstJumpBlock or AstStmtExpr ( #5332 )
2024-08-06 16:07:38 +01:00
Arkadiusz Kozdra
a32b8d80f9
Support streaming operator on arrays and wide data ( #5326 )
...
Signed-off-by: Arkadiusz Kozdra <akozdra@antmicro.com>
2024-08-06 08:48:46 -04:00
Wilson Snyder
6abd556f5a
Tests: Fix GCC 11.4.0 hang
2024-08-06 08:47:28 -04:00
Varun Koyyalagunta
31c1df638b
Fix assert on wide expression ( #5319 ) ( #5324 )
2024-08-06 01:45:57 -04:00
Krzysztof Bieganski
f4cb2c8cf2
Add more `rand_mode` unsupported errors ( #5329 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2024-08-05 17:56:03 -04:00
Bartłomiej Chmiel
7d5e19365e
Support assertcontrol directive type ( #5310 )
...
Signed-off-by: Bartłomiej Chmiel <bchmiel@antmicro.com>
2024-08-05 17:54:13 -04:00
Bartłomiej Chmiel
99c619a4c9
Error on static variable initializers using automatic variables in procedures ( #5296 )
2024-08-05 08:39:43 +01:00
Krzysztof Bieganski
37a4002098
Fix stringify in nested preprocessor macros ( #5323 )
2024-08-02 11:46:02 -04:00
Krzysztof Boroński
45ee949cc4
Internals: Disambiguate variable references under `with` clauses of `randomize()` methods ( #5277 )
2024-08-02 11:45:17 -04:00
Arkadiusz Kozdra
54f9f4b6a9
Support foreach constraints ( #5302 )
...
Signed-off-by: Arkadiusz Kozdra <akozdra@antmicro.com>
2024-08-02 10:03:55 -04:00
Arkadiusz Kozdra
a61178bd89
Internals: Convert foreach loops in V3Begin as well as V3Width ( #5283 )
2024-08-02 08:29:05 -04:00
Krzysztof Bieganski
2f5c58b345
Support `rand_mode` ( #5273 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2024-07-31 22:30:48 +01:00
Wilson Snyder
3a659d460d
Fix ==? and !=? with X values.
2024-07-28 14:40:55 -04:00