Add regression tests for nested dynamic arrays and queues

SystemVerilog allows to declare signals of nested unpacked types. E.g. a
queue of dynamic arrays.

This is currently not supported by Icarus. Add regression test nevertheless
to check that this is reported as a non-supported construct and does not
result in random crashes.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
This commit is contained in:
Lars-Peter Clausen 2022-04-12 22:42:54 +02:00
parent f42ab248a4
commit 818dfa55f3
9 changed files with 72 additions and 0 deletions

View File

@ -0,0 +1,8 @@
// Check that declarations for dynamic arrays of queues are supported.
module test;
// Dynamic array of queues
int q[$][];
endmodule

View File

@ -0,0 +1,8 @@
// Check that declarations for dynamic arrays of dynamic arrays are supported.
module test;
// Dynamic array of dynamic arrays
int q[][];
endmodule

View File

@ -0,0 +1,8 @@
// Check that declarations for dynamic arrays of unpacked arrays are supported.
module test;
// Dynamic array of unpacked arrays
int q[10][];
endmodule

View File

@ -0,0 +1,8 @@
// Check that declarations for unpacked arrays of dynamic arrays are supported.
module test;
// Unpacked array of dynamic arrays
int q[][10];
endmodule

View File

@ -0,0 +1,8 @@
// Check that declarations for queues of queues are supported.
module test;
// Queue of queues
int q[$][$];
endmodule

View File

@ -0,0 +1,8 @@
// Check that declarations for queues of dynamic arrays are supported.
module test;
// Queue of dynamic arrays
int q[][$];
endmodule

View File

@ -0,0 +1,8 @@
// Check that declarations for queues of unpacked arrays are supported.
module test;
// Queue of unpacked arrays
int q[10][$];
endmodule

View File

@ -0,0 +1,8 @@
// Check that declarations for unpacked arrays of queues are supported.
module test;
// Unpacked array of queues
int q[$][10];
endmodule

View File

@ -125,7 +125,15 @@ br971 normal ivltests
br1005 normal ivltests
br1015b normal ivltests
br_ml20150315b normal ivltests
sv_darray_nest1 normal ivltests
sv_darray_nest2 normal ivltests
sv_darray_nest3 normal ivltests
sv_darray_nest4 normal ivltests
sv_deferred_assert1 normal ivltests
sv_deferred_assert2 normal ivltests
sv_deferred_assume1 normal ivltests
sv_deferred_assume2 normal ivltests
sv_queue_nest1 normal ivltests
sv_queue_nest2 normal ivltests
sv_queue_nest3 normal ivltests
sv_queue_nest4 normal ivltests