mirror of
https://github.com/verilator/verilator.git
synced 2025-01-07 15:17:36 +00:00
5c65e0cfa1
Fixes #3679
39 lines
1010 B
Systemverilog
39 lines
1010 B
Systemverilog
// DESCRIPTION: Verilator: Verilog Test module
|
|
//
|
|
// This file ONLY is placed under the Creative Commons Public Domain, for
|
|
// any use, without warranty, 2022 by Wilson Snyder.
|
|
// SPDX-License-Identifier: CC0-1.0
|
|
|
|
module t (/*AUTOARG*/
|
|
// Inputs
|
|
clk
|
|
);
|
|
|
|
input clk;
|
|
integer cyc=1;
|
|
|
|
reg [31:0] dly0;
|
|
|
|
// DFG can fold this into 'dly3 = dly1 = dly0 + 1' and 'dly2 = dly0 + 2',
|
|
// but the 'dly0 + 1' term having multiple sinks needs to considered.
|
|
wire [31:0] dly1 = dly0 + 32'h1;
|
|
wire [31:0] dly2 = dly1 + 32'h1;
|
|
wire [31:0] dly3 = dly0 + 32'h1;
|
|
|
|
always @ (posedge clk) begin
|
|
$display("[%0t] dly0=%h dly1=%h dly2=%h dly3=%h", $time, dly0, dly1, dly2, dly3);
|
|
cyc <= cyc + 1;
|
|
if (cyc == 1) begin
|
|
dly0 <= 32'h55;
|
|
end
|
|
else if (cyc == 3) begin
|
|
if (dly1 !== 32'h56) $stop;
|
|
if (dly2 !== 32'h57) $stop;
|
|
if (dly3 !== 32'h56) $stop;
|
|
$write("*-* All Finished *-*\n");
|
|
$finish;
|
|
end
|
|
end
|
|
|
|
endmodule
|