Temporal Redundancy Based Encoding Technique for Peak Power and Delay Reduction of On-Chip Buses