VLSI architectures for iterative decoding of concatenated codes with interleavers