Asynchronous On-Chip Networks and Fault-Tolerant Techniques