Commentary: Changes update

This commit is contained in:
Wilson Snyder
2026-03-16 22:21:51 -04:00
parent e4bc792732
commit de2c891ca5
7 changed files with 39 additions and 12 deletions
+16
View File
@@ -11,6 +11,11 @@ contributors that suggested or implemented a given issue are shown in []. Thanks
Verilator 5.047 devel
==========================
**Important:**
* Support jemalloc as the default allocator on Linux (#7250). [Yangyu Chen]
For better performance, `apt install libjemalloc-dev` or equivalent before running ./configure.
**Other:**
* Support inout inside SV interface (#3466) (#7134). [Nick Brereton]
@@ -24,6 +29,10 @@ Verilator 5.047 devel
* Support Z non-blocking assignment (#7192) (#496) (#7197). [Nick Brereton]
* Support constraint `with` item.index array reduction (#7198). [Rahul Behl]
* Support constant expressions without parentheses in `PATHPULSE$` (#7199). [Pawel Kojma, Antmicro Ltd.]
* Support $sformat with runtime format string (#7212).
* Support dist and solve...before inside foreach constraints (#7245) (#7253). [Yilou Wang]
* Support array and struct info metadata in FST traces (#7255). [Geza Lore, Testorrent USA, Inc.]
* Support dynamic array .size in inline randomize() with constraints (#7258) (#7266). [Yilou Wang]
* Add VPI callback support to --main (#7145).
* Add V3LiftExpr pass to lower impure expressions and calls (#7141) (#7164). [Geza Lore, Testorrent USA, Inc.]
* Add --func-recursion-depth CLI option (#7175) (#7179).
@@ -34,11 +43,14 @@ Verilator 5.047 devel
* Optimize function call return value temporaries (#7152). [Geza Lore, Testorrent USA, Inc.]
* Optimize conditional merging across some impure statements (#7159). [Geza Lore, Testorrent USA, Inc.]
* Fix recursive default assignment for sub-arrays (#4589) (#7202). [Julian Carrier]
* Fix shift width mismatch in constraint solver SMT emission (#5420) (#7265). [Yilou Wang]
* Fix randomize size+element queue constraints (#5582) (#7225). [Rahul Behl, Testorrent USA, Inc.]
* Fix lambda coroutines (#6106) (#7135). [Nick Brereton]
* Fix super constructor calls with local variables (#6214) (#6933). [Igor Zaworski, Antmicro Ltd.]
* Fix false recursive definition error (#6769) (#7118). [Alex Zhou]
* Fix interface localparam dependencies and arbitrary nesting (#6936) (#7128) (#7188) (#7190). [em2machine]
* Fix errant integer promotion (#7012). [Todd Strader]
* Fix randc solver hang with wide variables (#7068) (#7248). [Yilou Wang]
* Fix scheduling non-determinism (#7120) (#7162) (#7165). [Geza Lore, Testorrent USA, Inc.]
* Fix parameters inside std::randomize `with` clause (#7140). [Kamil Danecki, Antmicro Ltd.]
* Fix forcing unpacked variables (#7149). [Ryszard Rozak, Antmicro Ltd.]
@@ -50,12 +62,16 @@ Verilator 5.047 devel
* Fix library/hier_block tracing when top name is empty (#7200). [Geza Lore, Testorrent USA, Inc.]
* Fix wrong $bits() for parameterized interface struct typedefs (#7218) (#7219). [em2machine]
* Fix `dist` operator inside constraint if blocks (#7221) (#7224). [Rahul Behl, Testorrent USA, Inc.]
* Fix array reduction in constraints crashing with class inheritance (#7226) (#7263). [Yilou Wang]
* Fix soft cross-object constraint priority inversion (#7228) (#7233). [Yilou Wang]
* Fix internal error when derived class calls this.randomize() with inherited rand members (#7229) (#7234). [Yilou Wang]
* Fix enum range constraints missing for rand variables in sub-objects (#7230) (#7235). [Yilou Wang]
* Fix vpi_put_value release on non-continuous signal (#7231) (#7241). [Christian Hecken]
* Fix tracing of typedefed 1D packed arrays with --trace-structs (#7237). [Geza Lore, Testorrent USA, Inc.]
* Fix rand variable used as array index in constraint evaluated as constant (#7238) (#7247). [Yilou Wang]
* Fix --hierarchical dropping arguments in -f/-F files (#7240). [Clara Sparks]
* Fix `final` asserts and $stop (#7249). [Artur Bieniek, Antmicro Ltd.]
* Fix vpi_put_value with vpiIntVal on VlWide data (#7256). [Christian Hecken]
Verilator 5.046 2026-02-28
+5
View File
@@ -16,3 +16,8 @@ C++14 compiler support
(Although this date has expired, this change is currently on hold until
the Ubuntu LTS versions of GCC and clang use C++20 by default, estimated
May 2028.)
tcmalloc support
Verilator currently supports the default malloc, tcmalloc, or jemalloc.
As jemalloc has better performance, support for tcmalloc may be removed
no sooner than January 2026.
+1
View File
@@ -739,6 +739,7 @@ There are two functions for managing timing logic called by ``_eval()``:
schedulers whose triggers were set in the current iteration.
Thanks to this separation a coroutine:
* awaiting a trigger cannot be suspended and resumed in the same iteration
(``test_regress/t/t_timing_eval_act.v``) - which is necessary to make
Verilator more predictable; this is the reason for introduction of 3rd stage
+5
View File
@@ -878,6 +878,7 @@ iostream
ish
isunbounded
isunknown
jemalloc
jobserver
json
jwoutersymatra
@@ -891,6 +892,7 @@ len
libc
libext
libgoogle
libjemalloc
liblist
libsystemc
libtcmalloc
@@ -917,6 +919,7 @@ lxt
macromodule
makefile
makefiles
malloc
manpages
metacomment
metacomments
@@ -1146,6 +1149,7 @@ sys
systemc
taskify
tcmalloc
tcmalloc
tenghtt
testbench
threadsafe
@@ -1239,6 +1243,7 @@ vpiConstType
vpiDefName
vpiInertialDelay
vpiInstance
vpiIntVal
vpiLeftRange
vpiModule
vpiSigned
+1 -1
View File
@@ -56,7 +56,7 @@ class ImplicationShift;
endclass
module t;
AlignedPacket pkt1;
AlignedPacket pkt1;
ConstShiftPacket pkt2;
ImplicationShift pkt3;
int ok;
+7 -7
View File
@@ -4,11 +4,11 @@
// SPDX-FileCopyrightText: 2026 Antmicro
// SPDX-License-Identifier: CC0-1.0
module tb();
initial begin
$finish();
end
final begin
assert(1 == 0);
end
module tb ();
initial begin
$finish();
end
final begin
assert (1 == 0);
end
endmodule
+4 -4
View File
@@ -6,18 +6,18 @@
module t;
class uvm_built_in_comp #(
type T = int
type T = int
);
endclass
class uvm_in_order_comparator #(
type T = int,
type comp_type = uvm_built_in_comp#(T)
type T = int,
type comp_type = uvm_built_in_comp#(T)
);
endclass
class uvm_in_order_built_in_comparator #(
type T = int
type T = int
) extends uvm_in_order_comparator #(T);
endclass