verilator/test_regress/t/t_enum_name_sformatf.v

39 lines
773 B
Systemverilog

// DESCRIPTION: Verilator: Demonstrate struct literal param assignment problem
//
// This file ONLY is placed under the Creative Commons Public Domain.
// SPDX-FileCopyrightText: 2024 Wilson Snyder
// SPDX-License-Identifier: CC0-1.0
module sub #(
parameter int param_a,
parameter bit [1:0] enum_param = '0
) ();
typedef enum logic [1:0] {
FOO = enum_param,
BAR,
BAZ
} enum_t;
enum_t the_enum = enum_t'(1);
initial $display("%s", the_enum.name());
endmodule
module t (
input clk
);
// finish report
always @(posedge clk) begin
$write("*-* All Finished *-*\n");
$finish;
end
sub #(.param_a(1)) the_sub1 ();
sub #(.param_a(2)) the_sub2 ();
sub #(
.param_a(2),
.enum_param(2'd1)
) the_sub3 ();
endmodule