verilator/test_regress/t/t_param_implicit_local_bad.v

56 lines
1.0 KiB
Systemverilog

// DESCRIPTION: Verilator: Verilog Test module
//
// This file ONLY is placed into the Public Domain, for any use,
// without warranty, 2023 by Anthony Donlon.
// SPDX-License-Identifier: CC0-1.0
module t;
class NestedCls #(
parameter A = 0
);
parameter B = 0;
endclass
NestedCls #(1, 2) cls;
mod1 # ( 3, 4, 5 ) i_mod1 ();
mod2 # ( 5, 12, 13 ) i_mod2 ();
mod3 # ( 7, 24, 25 ) i_mod3 ();
intf1 # ( 8, 15, 17 ) i_intf1 ();
prgm1 # ( 9, 40, 41 ) i_prgm1 ();
endmodule
`define CHECK_PARAMS if (A**2 + B**2 != C**2) $error("A**2 + B**2 != C**2")
module mod1 # (
parameter A = 1, B = 1
);
parameter C = 1;
`CHECK_PARAMS;
endmodule
module mod2 ();
parameter A = 1, B = 1, C = 1;
`CHECK_PARAMS;
endmodule
module mod3 #() ();
parameter A = 1, B = 1, C = 1;
`CHECK_PARAMS;
endmodule
interface intf1 # (
parameter A = 1, B = 1
);
parameter C = 1;
`CHECK_PARAMS;
endinterface
program prgm1 # (
parameter A = 1, B = 1
);
parameter C = 1;
`CHECK_PARAMS;
endprogram