From 6991b2d84feb2da2772491092aa065126e2ac8fa Mon Sep 17 00:00:00 2001 From: Lars-Peter Clausen Date: Sat, 17 Jun 2023 11:58:59 -0700 Subject: [PATCH] Add regression tests for assigning scalar value to array Check that trying to assign a scalar value to an array results in an error. Signed-off-by: Lars-Peter Clausen --- ivtest/ivltests/sv_array_assign_fail1.v | 13 +++++++++++++ ivtest/ivltests/sv_array_assign_fail2.v | 14 ++++++++++++++ ivtest/regress-vvp.list | 2 ++ ivtest/vvp_tests/sv_array_assign_fail1.json | 5 +++++ ivtest/vvp_tests/sv_array_assign_fail2.json | 5 +++++ 5 files changed, 39 insertions(+) create mode 100644 ivtest/ivltests/sv_array_assign_fail1.v create mode 100644 ivtest/ivltests/sv_array_assign_fail2.v create mode 100644 ivtest/vvp_tests/sv_array_assign_fail1.json create mode 100644 ivtest/vvp_tests/sv_array_assign_fail2.json diff --git a/ivtest/ivltests/sv_array_assign_fail1.v b/ivtest/ivltests/sv_array_assign_fail1.v new file mode 100644 index 000000000..be9601785 --- /dev/null +++ b/ivtest/ivltests/sv_array_assign_fail1.v @@ -0,0 +1,13 @@ +// Check that trying to do a procedural assign of a scalar to an array results +// in an error. + +module test; + + integer x[1:0]; + + initial begin + x = 10; // Error, scalar assigned to array + $display("FAILED"); + end + +endmodule diff --git a/ivtest/ivltests/sv_array_assign_fail2.v b/ivtest/ivltests/sv_array_assign_fail2.v new file mode 100644 index 000000000..ab7fc6026 --- /dev/null +++ b/ivtest/ivltests/sv_array_assign_fail2.v @@ -0,0 +1,14 @@ +// Check that trying to do a continuous assign of a scalar to an array results +// in an error. + +module test; + + integer x[1:0]; + + assign x = 10; // Error, scalar assigned to array + + initial begin + $display("FAILED"); + end + +endmodule diff --git a/ivtest/regress-vvp.list b/ivtest/regress-vvp.list index e4bca4a36..41501aaa6 100644 --- a/ivtest/regress-vvp.list +++ b/ivtest/regress-vvp.list @@ -53,6 +53,8 @@ sv_ap_uarray5 vvp_tests/sv_ap_uarray5.json sv_ap_uarray6 vvp_tests/sv_ap_uarray6.json sv_ap_uarray_fail1 vvp_tests/sv_ap_uarray_fail1.json sv_ap_uarray_fail2 vvp_tests/sv_ap_uarray_fail2.json +sv_array_assign_fail1 vvp_tests/sv_array_assign_fail1.json +sv_array_assign_fail2 vvp_tests/sv_array_assign_fail2.json sv_array_cassign6 vvp_tests/sv_array_cassign6.json sv_array_cassign7 vvp_tests/sv_array_cassign7.json sv_foreach9 vvp_tests/sv_foreach9.json diff --git a/ivtest/vvp_tests/sv_array_assign_fail1.json b/ivtest/vvp_tests/sv_array_assign_fail1.json new file mode 100644 index 000000000..a6a36932a --- /dev/null +++ b/ivtest/vvp_tests/sv_array_assign_fail1.json @@ -0,0 +1,5 @@ +{ + "type" : "CE", + "source" : "sv_array_assign_fail1.v", + "iverilog-args" : [ "-g2005-sv" ] +} diff --git a/ivtest/vvp_tests/sv_array_assign_fail2.json b/ivtest/vvp_tests/sv_array_assign_fail2.json new file mode 100644 index 000000000..c90a0b9d8 --- /dev/null +++ b/ivtest/vvp_tests/sv_array_assign_fail2.json @@ -0,0 +1,5 @@ +{ + "type" : "CE", + "source" : "sv_array_assign_fail2.v", + "iverilog-args" : [ "-g2005-sv" ] +}