A system and method is provided for interleaving data in a communication
device. The system includes a memory that stores blocks of data to be
interleaved. A write module is configured to receive a burst of data and
write blocks of data from the burst into the memory. The write module is
configured to provide control information, including a rolling burst
counter and a burst profile bank identifier for each block. If
interleaving is activated, the control information includes information
pertaining to how the read module should interleave the block. If
interleaving is not activated, the control information includes the byte
length size of the burst. A read module reads blocks of data from memory
in either an interleaved fashion or a non-interleaved fashion in
accordance with the control information.