Commentary: Changes update

This commit is contained in:
Wilson Snyder 2026-04-21 00:33:40 -04:00
parent 94e3f387a7
commit 23ea3d7f11
7 changed files with 32 additions and 15 deletions

12
Changes
View File

@ -65,9 +65,11 @@ Verilator 5.047 devel
* Improve assignment-compatibility type check (#2843) (#5666) (#7052). [Pawel Kojma, Antmicro Ltd.] * Improve assignment-compatibility type check (#2843) (#5666) (#7052). [Pawel Kojma, Antmicro Ltd.]
* Improve error message when variable used as data type (#7318). [Ryszard Rozak, Antmicro Ltd.] * Improve error message when variable used as data type (#7318). [Ryszard Rozak, Antmicro Ltd.]
* Improve E_UNSUPPORTED warning messages (#7329). [Eunseo Song] * Improve E_UNSUPPORTED warning messages (#7329). [Eunseo Song]
* Improve NFA-based multi-cycle SVA evaluation engine (#7430). [Yilou Wang]
* Change array tracing to dump left index to right index (#7205). [Geza Lore, Testorrent USA, Inc.] * Change array tracing to dump left index to right index (#7205). [Geza Lore, Testorrent USA, Inc.]
* Change `--converge-limit` default to 10000 (#7209). * Change `--converge-limit` default to 10000 (#7209).
* Remove DFG extract optimization pass (#7394). [Geza Lore, Testorrent USA, Inc.] * Remove DFG extract optimization pass (#7394). [Geza Lore, Testorrent USA, Inc.]
* Remove multi-threaded FST tracing (#7443). [Geza Lore, Testorrent USA, Inc.]
* Optimize trace code for faster compiles on repeated types (#6707) (#6832). [Todd Strader] * Optimize trace code for faster compiles on repeated types (#6707) (#6832). [Todd Strader]
* Optimize size of trace declaration object code (#7150). [Szymon Gizler, Antmicro Ltd.] * Optimize size of trace declaration object code (#7150). [Szymon Gizler, Antmicro Ltd.]
* Optimize function call return value temporaries (#7152). [Geza Lore, Testorrent USA, Inc.] * Optimize function call return value temporaries (#7152). [Geza Lore, Testorrent USA, Inc.]
@ -80,11 +82,15 @@ Verilator 5.047 devel
* Optimize more patterns in DfgPeephole (#7332). [Geza Lore, Testorrent USA, Inc.] * Optimize more patterns in DfgPeephole (#7332). [Geza Lore, Testorrent USA, Inc.]
* Optimize read references in DFG (#7354). [Geza Lore, Testorrent USA, Inc.] * Optimize read references in DFG (#7354). [Geza Lore, Testorrent USA, Inc.]
* Optimize DFG only once, after scoping (#7362). [Geza Lore, Testorrent USA, Inc.] * Optimize DFG only once, after scoping (#7362). [Geza Lore, Testorrent USA, Inc.]
* Optimize more DFG peephole patterns (#7423). [Geza Lore, Testorrent USA, Inc.] * Optimize more DFG peephole patterns (#7423) (#7452). [Geza Lore, Testorrent USA, Inc.]
* Optimize DfgBreakCycles IndependentBits analysis ordering (#7446). [Geza Lore, Testorrent USA, Inc.]
* Optimize select patterns in DfgPeephole. [Geza Lore, Testorrent USA, Inc.]
* Optimize temporary insertion in DfgPeephole. [Geza Lore, Testorrent USA, Inc.]
* Optimize arithmetic right shift (>>>) in DfgBreakCycles (#7447). [Geza Lore, Testorrent USA, Inc.]
* Fix recursive default assignment for sub-arrays (#4589) (#7202). [Julian Carrier] * Fix recursive default assignment for sub-arrays (#4589) (#7202). [Julian Carrier]
* Fix virtual interface member trigger convergence (#5116) (#7323). [Yilou Wang] * Fix virtual interface member trigger convergence (#5116) (#7323). [Yilou Wang]
* Fix shift width mismatch in constraint solver SMT emission (#5420) (#7265). [Yilou Wang] * Fix shift width mismatch in constraint solver SMT emission (#5420) (#7265). [Yilou Wang]
* Fix returning wrong type from static function in parameterized class (#5479) (#7387) (#7411) (#7418). [em2machine] * Fix returning wrong type from static function in parameterized class (#5479) (#7387) (#7411) (#7418) (#7445) (#7450). [em2machine]
* Fix randomize size+element queue constraints (#5582) (#7225). [Rahul Behl, Testorrent USA, Inc.] * Fix randomize size+element queue constraints (#5582) (#7225). [Rahul Behl, Testorrent USA, Inc.]
* Fix null assignment to virtual interfaces (#5974) (#5990). [Maxim Fonarev] * Fix null assignment to virtual interfaces (#5974) (#5990). [Maxim Fonarev]
* Fix typedef scope resolution for parameterized class aliases (#5977) (#7319). [Nick Brereton] * Fix typedef scope resolution for parameterized class aliases (#5977) (#7319). [Nick Brereton]
@ -151,8 +157,10 @@ Verilator 5.047 devel
* Fix delete inside foreach skipping elements (#7407) (#7410) * Fix delete inside foreach skipping elements (#7407) (#7410)
* Fix std::randomize in parameterized-derived class (#7409) (#7416). [Yilou Wang] * Fix std::randomize in parameterized-derived class (#7409) (#7416). [Yilou Wang]
* Fix virtual interface implied comparison with null (#7421). [Alex Solomatnikov] * Fix virtual interface implied comparison with null (#7421). [Alex Solomatnikov]
* Fix uvm_hdl_release_and_read to release value and check success (#7425). [Christian Hecken, Heidelberg University]
* Fix inline constraint on array-indexed randomize target (#7431) (#7434). [Yilou Wang] * Fix inline constraint on array-indexed randomize target (#7431) (#7434). [Yilou Wang]
* Fix modification of members of object with const handle (#7433). [Kamil Danecki, Antmicro Ltd.] * Fix modification of members of object with const handle (#7433). [Kamil Danecki, Antmicro Ltd.]
* Fix `dist` under implication in constraints (#7440) (#7442). [Alex Solomatnikov] [Yilou Wang]
Verilator 5.046 2026-02-28 Verilator 5.046 2026-02-28

View File

@ -505,7 +505,7 @@ include directories and link to the SystemC libraries.
Deprecated and has no effect. Deprecated and has no effect.
Before Verialtor 5.048: Optional. Enable multithreaded FST trace; see In versions before 5.048: Optional. Enable multithreaded FST trace; see
:vlopt:`--trace-threads`. :vlopt:`--trace-threads`.
.. describe:: TRACE_VCD .. describe:: TRACE_VCD

View File

@ -333,6 +333,7 @@ Muhlestein
Multithreaded Multithreaded
Multithreading Multithreading
Mykyta Mykyta
NFA
NOUNOPTFLAT NOUNOPTFLAT
NaN NaN
Nalbantis Nalbantis
@ -837,6 +838,7 @@ gotFinish
goto goto
gprof gprof
gtkwave gtkwave
hdl
hdr hdr
hdzhangdoc hdzhangdoc
hh hh
@ -1211,6 +1213,7 @@ upcasting
urandom urandom
uselib uselib
utimes utimes
uvm
uwire uwire
uwires uwires
valgrind valgrind

View File

@ -1,6 +1,6 @@
%Error-UNSUPPORTED: t/t_assert_consec_rep_unsup.v:11:45: Unsupported: multi-cycle sequence expression inside consecutive repetition (IEEE 1800-2023 16.9.2) %Error-UNSUPPORTED: t/t_assert_consec_rep_unsup.v:13:45: Unsupported: multi-cycle sequence expression inside consecutive repetition (IEEE 1800-2023 16.9.2)
: ... note: In instance 't' : ... note: In instance 't'
11 | assert property (@(posedge clk) (a ##1 b) [* 2] |-> a); 13 | assert property (@(posedge clk) (a ##1 b) [* 2] |-> a);
| ^~ | ^~
... For error description see https://verilator.org/warn/UNSUPPORTED?v=latest ... For error description see https://verilator.org/warn/UNSUPPORTED?v=latest
%Error: Exiting due to %Error: Exiting due to

View File

@ -4,7 +4,9 @@
// SPDX-FileCopyrightText: 2026 PlanV GmbH // SPDX-FileCopyrightText: 2026 PlanV GmbH
// SPDX-License-Identifier: CC0-1.0 // SPDX-License-Identifier: CC0-1.0
module t (input clk); module t (
input clk
);
logic a, b; logic a, b;
// Unsupported: multi-cycle sequence expression inside consecutive repetition // Unsupported: multi-cycle sequence expression inside consecutive repetition

View File

@ -25,13 +25,19 @@ module mid #(
parameter type interrupts_t = logic, parameter type interrupts_t = logic,
parameter interrupts_t INTERRUPTS = '0 parameter interrupts_t INTERRUPTS = '0
) (); ) ();
leaf #(.interrupts_t(interrupts_t), .INTERRUPTS(INTERRUPTS)) l(); leaf #(
.interrupts_t(interrupts_t),
.INTERRUPTS(INTERRUPTS)
) l ();
endmodule endmodule
module t; module t;
localparam type irq_t = my_irq_t; localparam type irq_t = my_irq_t;
localparam irq_t IRQ = '{S_TIMER: 8'hAA, M_TIMER: 8'h55, M_EXT: 8'hCC}; localparam irq_t IRQ = '{S_TIMER: 8'hAA, M_TIMER: 8'h55, M_EXT: 8'hCC};
mid #(.interrupts_t(irq_t), .INTERRUPTS(IRQ)) m(); mid #(
.interrupts_t(irq_t),
.INTERRUPTS(IRQ)
) m ();
initial begin initial begin
#1; #1;
if (m.l.observed !== 8'h55) begin if (m.l.observed !== 8'h55) begin

View File

@ -10,15 +10,13 @@
// verilog_format: on // verilog_format: on
package pkg; package pkg;
typedef struct packed { typedef struct packed {logic [1:0][31:0] bar;} T;
logic [1:0][31:0] bar;
} T;
localparam T t = 64'h87654321_deadbeef; localparam T t = 64'h87654321_deadbeef;
endpackage endpackage
module foo #( module foo #(
parameter type T = int, parameter type T = int,
parameter T t = 0 parameter T t = 0
) (); ) ();
initial begin initial begin
`checkh(t.bar[0], 32'hdeadbeef); `checkh(t.bar[0], 32'hdeadbeef);
@ -30,7 +28,7 @@ endmodule
module top; module top;
foo #( foo #(
.T(pkg::T), .T(pkg::T),
.t(pkg::t) .t(pkg::t)
) u_foo (); ) u_foo ();
endmodule endmodule