Vivado synthesis supports VHDL multi-dimensional array types.
RECOMMENDED: Although there is no restriction on the number of dimensions, describe no more than three dimensions.
Objects of multi-dimensional array type can be passed to functions and used in component instantiations. Objects of multi-dimensional array type that you can describe are signals, constants, and variables.