Packed arrays

Why do we need [1:0] [3:0] [7:0] array when we have [63:0] array?
What is the practical use of the former?

In reply to Shashank Gurijala:

Lets create a memory which is bit accessible, byte accessible and word accessible.


//Option 1:
logic [1:0] [3:0] [7:0] mem; 
   //mem[0],mem[1] -> word accessible 
   //mem[0][0], mem[0][1], mem[0][2], mem[0][3], mem[1][0],....,mem[1][3] -> byte accessible
   //mem[0][0][0],...,mem[0][3][7],mem[1][0][0],...,mem[1][3][7] -> bit accessible 

//Option 2:
logic [63:0] mem; 
   //mem[31:0], mem[63:32] -> word 
   //mem[7:0],..,mem[63:56] -> byte
   //mem[0]....mem[63] -> bit


Which one do you prefer ?


https://www.linkedin.com/in/patel-rahulkumar/