Advice on how to slice a dynamic array

In reply to szy0014:

Your for loop does not make any sense because each iteration overwrites the previous value of hold_data. Also what is the relationship between data and wr_data. Where is the declaration of wr_data.

The range you are trying to describe [(iWORD_SIZE) : (iWORD_SIZE + (WORD_SIZE-1))] should be written as [(i*WORD_SIZE) +: WORD_SIZE].

You may want to take a look at the streaming pack/unpack operator in the LRM