iverilog/ivtest/ivltests/pr2139593.v

25 lines
501 B
Verilog

module top;
tb #(1024) dut();
defparam dut.Y = 2048;
endmodule
module tb;
reg pass = 1'b1;
parameter Z = 256;
parameter Y = 128;
parameter B = $clog2(Z);
localparam C = $clog2(Y);
initial begin
if (B !== 10) begin
$display("FAILED: parameter value, expected 10, got %0d", B);
pass = 1'b0;
end
if (C !== 11) begin
$display("FAILED: localparam value, expected 11, got %0d", C);
pass = 1'b0;
end
if (pass) $display("PASSED");
end
endmodule