diff --git a/ivtest/ivltests/module_instance_no_ports_fail.v b/ivtest/ivltests/module_instance_no_ports_fail.v new file mode 100644 index 000000000..da2b5f639 --- /dev/null +++ b/ivtest/ivltests/module_instance_no_ports_fail.v @@ -0,0 +1,8 @@ +// Check that a scalar module instance requires port parentheses. + +module M; +endmodule + +module test; + M m; +endmodule diff --git a/ivtest/ivltests/module_instance_no_ports_mixed_fail.v b/ivtest/ivltests/module_instance_no_ports_mixed_fail.v new file mode 100644 index 000000000..c4c548856 --- /dev/null +++ b/ivtest/ivltests/module_instance_no_ports_mixed_fail.v @@ -0,0 +1,8 @@ +// Check that a mixed instance list cannot omit scalar port parentheses. + +module M; +endmodule + +module test; + M first [1:0], middle, last(); +endmodule diff --git a/ivtest/ivltests/module_no_port_mixed_instances.v b/ivtest/ivltests/module_no_port_mixed_instances.v new file mode 100644 index 000000000..77173f70e --- /dev/null +++ b/ivtest/ivltests/module_no_port_mixed_instances.v @@ -0,0 +1,17 @@ +// Check that an instance list can mix omitted and empty port lists. + +module M; + localparam VALUE = 1; +endmodule + +module test; + M first [1:0], middle(), last [1:0]; + + initial begin + if (first[0].VALUE !== 1 || first[1].VALUE !== 1 || + middle.VALUE !== 1 || last[0].VALUE !== 1 || last[1].VALUE !== 1) + $display("FAILED"); + else + $display("PASSED"); + end +endmodule diff --git a/ivtest/regress-vvp.list b/ivtest/regress-vvp.list index 00de5ee70..8ceea6ff5 100644 --- a/ivtest/regress-vvp.list +++ b/ivtest/regress-vvp.list @@ -174,6 +174,9 @@ memsynth9 vvp_tests/memsynth9.json memsynth9-synth vvp_tests/memsynth9-synth.json mix_reset vvp_tests/mix_reset.json mix_reset-synth vvp_tests/mix_reset-synth.json +module_instance_no_ports_fail vvp_tests/module_instance_no_ports_fail.json +module_instance_no_ports_mixed_fail vvp_tests/module_instance_no_ports_mixed_fail.json +module_no_port_mixed_instances vvp_tests/module_no_port_mixed_instances.json module_ordered_list1 vvp_tests/module_ordered_list1.json module_ordered_list2 vvp_tests/module_ordered_list2.json module_port_array1 vvp_tests/module_port_array1.json diff --git a/ivtest/vvp_tests/module_instance_no_ports_fail.json b/ivtest/vvp_tests/module_instance_no_ports_fail.json new file mode 100644 index 000000000..418bed903 --- /dev/null +++ b/ivtest/vvp_tests/module_instance_no_ports_fail.json @@ -0,0 +1,4 @@ +{ + "type" : "CE", + "source" : "module_instance_no_ports_fail.v" +} diff --git a/ivtest/vvp_tests/module_instance_no_ports_mixed_fail.json b/ivtest/vvp_tests/module_instance_no_ports_mixed_fail.json new file mode 100644 index 000000000..48720e9a4 --- /dev/null +++ b/ivtest/vvp_tests/module_instance_no_ports_mixed_fail.json @@ -0,0 +1,4 @@ +{ + "type" : "CE", + "source" : "module_instance_no_ports_mixed_fail.v" +} diff --git a/ivtest/vvp_tests/module_no_port_mixed_instances.json b/ivtest/vvp_tests/module_no_port_mixed_instances.json new file mode 100644 index 000000000..6851d60be --- /dev/null +++ b/ivtest/vvp_tests/module_no_port_mixed_instances.json @@ -0,0 +1,4 @@ +{ + "type" : "normal", + "source" : "module_no_port_mixed_instances.v" +}