Hardware Reference
In-Depth Information
Routing Computation
outAvailable[0...N-1]
outPort
ready output[0...N-1]
RC
en
1
dst
head
1
requests
en
outLock
ready
valid
granted
grants
valid/data
data
Input #0
Fig. 3.16 Routing computation selects the output port that each packet should follow according
to the packet's destination address. The remaining request generation and grant handling logic
remains exactly the same
the request generation logic. The requests used at each router are thrown away by
shifting accordingly the bits of the head flit.
In the case of distributed routing the head flit carries only the address of the
destination node. Depending on the routing algorithm, each router should translate
the destination address to a local output request allowing each packet to move closer
to its destination. This translation is an obligation of the routing computation logic.
The routing computation logic can be implemented using a simple lookup table or
with simple turn-prohibiting logic (Flich and Duato 2008 ). Routing computation is
driven by the destination address of each packet and returns the id of the output
port that the packet should use for leaving the current router, as shown in Fig. 3.16 .
This id will be used for selecting the appropriate output availability flags and ready
signals and will be stored to the outPort variable of each input controller.
In the case of adaptive routing where each packet is allowed to follow more
than one paths to reach its final destination the routing computation logic delivers
a set of eligible output ports instead of a single output. Selecting the output port to
which the packet can leave the router needs an extra selection step that may take
other network-level metrics into account such as the available credits of the eligible
outputs or additional congestion notification signals that will be provided outside
the routers (Ascia et al. 2008 ).
3.6.1
Lookahead Routing Computation
Routing computation reads the destination address of the head flit of a packet and
translates it to a local outPort request following the rules of the network-wide
Search WWH ::




Custom Search