Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.
IIRC, x'length(2) is defined for this. Most of the dimension attributes are overloaded to default to the first dimension, but do take an argument.
most synthesizers usually list support for arrays of arrays. eg "type mytype is array (natural range <>) of std_logic_vector(7 downto 0)". The tools may not like 2-d arrays in some situations, like unconstrained ports or unconstrained inputs to functions.