A circuit is provided for performing interleaving and deinterleaving
functions in a digital communication system. The circuit includes a
single-port memory that reads first data units from a first interleaved
sequence of address locations to generate a first data stream and that
writes second data units from a second data stream to the address
locations. A first address generator module communicates with the
single-port memory and generates a first interleaved sequence of
addresses that correspond to the address locations and correspond to one
of an interleaving function and deinterleaving function between the first
data stream and the second data stream.