VLSI architectures for turbo codes