How a tool decides to organize an array in the host simulator’s memory is not visible to the tool user. You get better (greater) performance when the array element boundaries align with the host memory byte or word boundaries. Since unpacked arrays are more likely to be accessed one element at time, the compiler might decide to allocate one byte for each bit of the array.
Thank you dave_59.
But do you mean to say that packed arrays don’t align with the host memory byte or word?
That is why packed array performance is poorer than unpacked?
In reply to dave_59:
How does the alignment with host memory exactly help in faster access of the unpacked array?
Does it mean there are lesser number of clock cycles involved to get the element from the memory?
Yes, performance is always measured by clock cycles per operation. Unaligned read access means you might have to read more memory locations, and an unaligned write might require a read-modify-write operation.