Rsort() for Multidimensional Array

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}