Skip to Main Content
A fault tolerant routing algorithm is presented in this paper. The proposed routing algorithm is based on making a redundant copy of each packet as well as sending the redundant packets through the paths with low traffic loads. Since two copies of each packet reach the destination node, the erroneous packets are detected and replaced with the correct ones. To effectively use the paths with lower traffic loads, the redundant packets are routed according to YX routing while the original packets are routed according to Duato's routing algorithm. Minimizing the number of sent redundant packets and exploiting different paths for sending the original and redundant packets enable the proposed algorithm to improve the reliability of NoCs with negligible power and performance overheads. VHDL simulations confirm that the proposed routing algorithm imposes lower power and performance overheads while providing almost the same reliability in comparison with flood-based routing algorithms.