Turbo-like Codes: Design for High Speed Decoding