Add regression tests for UDP declaration diagnostics
Check that UDP initial values on non-registered outputs generate compile errors for both old-style and ANSI-style UDP declarations. Also check that conflicting UDP port declarations generate an error and that a valid ANSI-style `output reg` initializer is accepted. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
This commit is contained in:
parent
8d4faf2744
commit
c8568998af
|
|
@ -0,0 +1,8 @@
|
|||
// Check that an ANSI-style UDP output initializer requires a reg output.
|
||||
|
||||
primitive udp_ansi_initial_nonreg_fail (output o = 1'b0, input i);
|
||||
table
|
||||
0 : 0;
|
||||
1 : 1;
|
||||
endtable
|
||||
endprimitive
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
// Check that an ANSI-style UDP reg output can have an initializer.
|
||||
|
||||
primitive udp_ansi_initial_reg (output reg o = 1'b0, input i);
|
||||
table
|
||||
0 : ? : 0;
|
||||
1 : ? : 1;
|
||||
endtable
|
||||
endprimitive
|
||||
|
||||
module test;
|
||||
reg i;
|
||||
wire o;
|
||||
|
||||
udp_ansi_initial_reg i_udp(o, i);
|
||||
|
||||
initial begin
|
||||
i = 1'b0;
|
||||
#1;
|
||||
$display("PASSED");
|
||||
end
|
||||
endmodule
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
// Check that an old-style UDP initial statement requires a reg output.
|
||||
|
||||
primitive udp_initial_nonreg_fail (o, i);
|
||||
output o;
|
||||
input i;
|
||||
initial o = 1'b0;
|
||||
|
||||
table
|
||||
0 : 0;
|
||||
1 : 1;
|
||||
endtable
|
||||
endprimitive
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
// Check that conflicting UDP port declarations generate an error.
|
||||
|
||||
primitive udp_port_decl_conflict_fail (o, i);
|
||||
output o;
|
||||
input o;
|
||||
input i;
|
||||
|
||||
table
|
||||
0 : 0;
|
||||
1 : 1;
|
||||
endtable
|
||||
endprimitive
|
||||
|
|
@ -430,7 +430,11 @@ test_va_math vvp_tests/test_va_math.json
|
|||
test_vams_math vvp_tests/test_vams_math.json
|
||||
timing_check_syntax vvp_tests/timing_check_syntax.json
|
||||
timing_check_delayed_signals vvp_tests/timing_check_delayed_signals.json
|
||||
udp_ansi_initial_nonreg_fail vvp_tests/udp_ansi_initial_nonreg_fail.json
|
||||
udp_ansi_initial_reg vvp_tests/udp_ansi_initial_reg.json
|
||||
udp_empty_table_fail vvp_tests/udp_empty_table_fail.json
|
||||
udp_initial_nonreg_fail vvp_tests/udp_initial_nonreg_fail.json
|
||||
udp_port_decl_conflict_fail vvp_tests/udp_port_decl_conflict_fail.json
|
||||
uwire_fail2 vvp_tests/uwire_fail2.json
|
||||
uwire_fail3 vvp_tests/uwire_fail3.json
|
||||
value_range1 vvp_tests/value_range1.json
|
||||
|
|
|
|||
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"type" : "CE",
|
||||
"source" : "udp_ansi_initial_nonreg_fail.v"
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"type" : "normal",
|
||||
"source" : "udp_ansi_initial_reg.v"
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"type" : "CE",
|
||||
"source" : "udp_initial_nonreg_fail.v"
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"type" : "CE",
|
||||
"source" : "udp_port_decl_conflict_fail.v"
|
||||
}
|
||||
Loading…
Reference in New Issue