verilator/test_regress/t/t_initial.v

46 lines
924 B
Systemverilog
Raw Normal View History

// DESCRIPTION: Verilator: Verilog Test module
//
// This file ONLY is placed under the Creative Commons Public Domain.
// SPDX-FileCopyrightText: 2003 Wilson Snyder
// SPDX-License-Identifier: CC0-1.0
2026-03-08 23:26:40 +01:00
module t (
input clk
);
2026-03-08 23:26:40 +01:00
reg _ranit;
2026-03-08 23:26:40 +01:00
`include "t_initial_inc.vh"
2026-03-08 23:26:40 +01:00
// surefire lint_off STMINI
initial assign user_loaded_value = 1;
2026-03-08 23:26:40 +01:00
initial _ranit = 0;
2026-03-08 23:26:40 +01:00
always @(posedge clk) begin
if (!_ranit) begin
_ranit <= 1;
2026-03-08 23:26:40 +01:00
// Test $time
// surefire lint_off CWECBB
if ($time < 20) $write("time<20\n");
// surefire lint_on CWECBB
2026-03-08 23:26:40 +01:00
// Test $write
$write("[%0t] %m: User loaded ", $time);
$display("%b", user_loaded_value);
if (user_loaded_value != 1) $stop;
// Test $c
`ifdef VERILATOR
2026-03-08 23:26:40 +01:00
$c("VL_PRINTF(\"Hi From C++\\n\");");
`endif
2026-03-08 23:26:40 +01:00
user_loaded_value <= 2;
2026-03-08 23:26:40 +01:00
$write("*-* All Finished *-*\n");
$finish;
end
end
endmodule