Add regression test for scalar and 1-bit parameters
Check that scalar typed parameters are handled correctly. Make sure the width of the parameter only depends on the type and not on the value assigned to the parameter. Same for parameters with a 1-bit range specification. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
This commit is contained in:
parent
37f9cde49f
commit
37392383b5
|
|
@ -0,0 +1,26 @@
|
|||
// Check that parameters with a implicit and 1-bit range type are handled correctly
|
||||
|
||||
module test #(
|
||||
// This should get truncated to 1'b1
|
||||
parameter [0:0] P = 2'b11
|
||||
);
|
||||
|
||||
reg failed = 1'b0;
|
||||
|
||||
`define check(expr, val) \
|
||||
if (expr !== val) begin \
|
||||
$display("FAILED: `%s`, expected %0d, got %0d", `"expr`", val, expr); \
|
||||
failed = 1'b1; \
|
||||
end
|
||||
|
||||
initial begin
|
||||
`check($bits(P), 1);
|
||||
`check(P + 1'b1, 1'b0);
|
||||
`check(P, 1'b1);
|
||||
|
||||
if (!failed) begin
|
||||
$display("PASSED");
|
||||
end
|
||||
end
|
||||
|
||||
endmodule
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
// Check that parameters with a scalar type are handled correctly
|
||||
|
||||
module test #(
|
||||
// This should get truncated to 1'b1
|
||||
parameter bit P = 2'b11
|
||||
);
|
||||
|
||||
bit failed = 1'b0;
|
||||
|
||||
`define check(expr, val) \
|
||||
if (expr !== val) begin \
|
||||
$display("FAILED: `%s`, expected %0d, got %0d", `"expr`", val, expr); \
|
||||
failed = 1'b1; \
|
||||
end
|
||||
|
||||
initial begin
|
||||
`check($bits(P), 1);
|
||||
`check(P + 1'b1, 1'b0);
|
||||
`check(P, 1'b1);
|
||||
|
||||
if (!failed) begin
|
||||
$display("PASSED");
|
||||
end
|
||||
end
|
||||
|
||||
endmodule
|
||||
|
|
@ -374,6 +374,7 @@ parameter_no_default_fail2 CE ivltests
|
|||
parameter_no_default_toplvl normal,-g2005-sv ivltests
|
||||
parameter_override_invalid7 CE,-g2005-sv ivltests
|
||||
parameter_override_invalid8 CE,-g2005-sv ivltests
|
||||
parameter_scalar normal,-g2005-sv ivltests
|
||||
parameter_type2 normal,-g2009 ivltests
|
||||
parpkg_test normal,-g2009 ivltests
|
||||
parpkg_test2 normal,-g2009 ivltests
|
||||
|
|
|
|||
|
|
@ -712,6 +712,7 @@ param_test2 normal ivltests gold=param_test2.gold
|
|||
param_test3 normal ivltests gold=param_test3.gold # PR#293
|
||||
param_test4 normal ivltests
|
||||
param_times normal ivltests # param has multiplication.
|
||||
parameter_1bit normal ivltests
|
||||
parameter_type normal ivltests gold=parameter_type.gold
|
||||
parameter_in_generate1 CE ivltests
|
||||
parameter_no_default CE ivltests
|
||||
|
|
|
|||
Loading…
Reference in New Issue