Many research works have proposed efficient routing mechanisms for NoC architectures. XY is a non-adaptive routing scheme [11
] and is well known because of its simplicity in NoC architecture. In the XY algorithm, packets are always first routed to the horizontal plane and then to the vertical plane to reach its destination. This algorithm invariably routes packets via the shortest route. However, the XY algorithm is not able to avoid busy and congested links. Deterministic/partially adaptive routing algorithms [12
] route packets while considering predetermined restricted turns to avoid livelocks and deadlocks in the network. Figure 1
depicts all the restricted turns in deterministic and partially adaptive routing algorithms. Negative first, north last, and west first have two restricted turns while odd even (OE) and XY have four restricted turns to avoid livelocks and deadlocks in the network.
On the other hand, fully adaptive routing algorithms dynamically adapt according to the network conditions. These algorithms add some virtual or physical channels to attain deadlock-free communication [13
]. Various fault-tolerant routing algorithms have been proposed [15
]. A partially adaptive fault-tolerant routing algorithm built on a negative-first approach is proposed in Glass and Ni [16
]. However, in multiple faulty node scenarios, this algorithm does not perform efficiently. Another partially adaptive fault-tolerant routing algorithm is proposed in Wu [17
], which is an enhanced version of the odd-even routing algorithm. An analogous algorithm, pertinent to the partially adaptive category, is proposed in References [18
]. Numerous other research works have also utilized virtual channels to achieve fault-tolerance in NoCs [20
]. The major drawback of virtual channel usage is the addition of the extra logic circuitry required for their implementation. Larger logical circuits yield an increased probability of faults occurring in the network, along with extra power requirements to operate them.
An adaptive fault-tolerant routing algorithm, which employs table-based routing for delivering packets from a particular source to the destination, is proposed in Schonwald et al. [22
]. This algorithm is an enhanced version of fully force-directed wormhole routing (FDWR). Every node maintains a routing table to perform route decisions when forwarding packets to other nodes in the network. This algorithm is unable to ensure in-order delivery of packets. Additionally, building and maintaining the routing table yields an extra control overhead. An adaptive fault-tolerant routing algorithm is proposed in Singh et al. [23
] that considers faults up to two hops away when considering the route selection for a packet. However, this algorithm does not manage busyness or hot spot regions in the network. Based on adaptive route selection, a fault-tolerant scheme is proposed in Savio Tse et al. [24
]; unfortunately, this algorithm also does not manage busyness and congested regions of the network.
Liu et al. proposed an efficient dynamic and adaptive routing (EDAR) algorithm [10
]. For route calculations, EDAR considers busy, congested, and faulty links up to one hop away. However, because this route decision is based on the knowledge of only one hop away, this may point to a congested region, which results in a further delay. Moreover, EDAR assigns the same priority weight to outports with an equal number of hops to a destination. Thus, EDAR is restricted regarding load balancing between available paths with an equal number of hops. A hybrid fault-tolerant routing algorithm (HFTRA) was proposed by Bishnoi et al.; however, HFTRA requires additional network power and area overheads because of the additional virtual channels employed. Additionally, the proposed algorithm does not have the mechanism of fault identification [25
]. Yang et al. [26
] presented a fault-tolerant routing algorithm designed for a honeycomb-like topology. This algorithm does not cater for 2D/3D mesh topologies. Furthermore, Moriam et al. [27
] designed an analytic approach to conduct the reliability assessment of adaptive routing algorithms of NoCs. Melo et al. [28
] proposed a finite state machine (FSM)-based router controller. Their study focused on mitigating the error propagation rate in the router controller. They did not cater to business and congestion avoidance mechanisms in their proposed algorithm. Zhang et al. proposed an improved fault-tolerant routing algorithm [29
]. Their study primarily focused on mitigating multiple packet diversions, which may result in livelocking. Unfortunately, they did not consider business and congestion avoidance scenarios in their proposed work. Low-power and high-performance adaptive routing for on-chip designs are proposed in Xiang and Pan [30
]. The study focused on bypassing k hops to deliver the packet to the final destination in a fewer number of cycles. The study did not consider congestion and business avoidance mechanisms in their proposed solution. Another similar study focusing on reducing the hop count toward a destination via the use of specialized channels, known as a transmission line (TL), was proposed in Deb et al. [31
]. This study also did not consider congestion and business avoidance mechanisms in their proposed algorithm. Song et al. proposed uniform-minimal-first (UMF) routing [32
]. UMF alternatively selects between XYX and YXY routing. This alternate selection leads to load balancing of traffic across the network; however, this study unfortunately did not consider fault tolerance, congestion, or business avoidance in their proposed mechanism. Liu et al. [33
] proposed a congestion-aware OE router, which employs fair arbitration for outport selection rather than random selection. This fair arbitration policy helps to obtain a lower latency and a higher throughput. This study is solely focused on congestion avoidance. Jin et al. proposed a history-aware-adaptive routing algorithm called HARE [34
]. HARE intends to solve the end-point congestion problem by identifying head-of-line blocking flits in buffers. HARE achieves higher throughput and lower latency because of its ability to separate head-of-line blocking flits. The study did not consider fault and busy port avoidance in the proposed mechanism. Table 1
summarizes the state-of-the-art routing algorithms of NoCs. The comparison identifies the primary focus of each study, the supported network topology, the simulation platform, and whether the study utilizes virtual channels to handle faults in the network. The key features that are essential for a routing algorithm are simplicity, fault tolerance, congestion, and business awareness. We selected EDAR to be optimized because it is a routing algorithm that possesses all these key features. We further optimized EDAR to propose NAFTR. NAFTR achieved a lower latency and higher throughput compared to EDAR, as indicated by the results presented in the experimental results section.