In reply to dave_59:
class multidsort;
rand bit [5:0] multi_array [0:2][0:2];
bit [5:0] linear_array[$] ;
bit [5:0] linear_array_ii[$] ;
task sortmulti_array();
{>>{linear_array}} = multi_array;
{<<{linear_array_ii}} = multi_array;
linear_array.rsort;
$display("multi_array = %p",multi_array);
$display("linear_array = %p",linear_array);
$display("linear_array_ii = %p",linear_array_ii);
endtask
endclass
module top();
initial begin
multidsort multidsort_ii;
multidsort_ii = new();
multidsort_ii.randomize();
multidsort_ii.sortmulti_array();
end
endmodule
Result:
> run
multi_array = '{'{'h31, 'h33, 'h1b}, '{'h3a, 'h20, 'h39}, '{'h3b, 'h1f, 'h12}}
linear_array = '{'h3b, 'h3a, 'h39, 'h33, 'h31, 'h20, 'h1f, 'h1b, 'h12}
linear_array_ii = '{'h12, 'h3e, 'h37, 'h27, 'h1, 'h17, 'h36, 'h33, 'h23}