Input Unit
The Input unit contains virtual channel buffers and an input VC arbiter.
Route Info: use a separate set of registers (i.e., output port)
The input VC arbiter selects one VC as a winner among the flits at that port.
A flit arriving at an empty input port automatically wins the input VC arbitration, without having to wait an additional cycle.
Output Unit
The Output unit contains an output port arbiter, and a VC selector.
An arbiter at each output port arbitrates among requests from multiple input ports.
The grant from the output port is used to trigger VC selection and set the select lines for the crossbar muxes.
At each output port, a queue tracks the free VCs at the next router, and generates a hasVC signal if it is non-empty.
The head of the queue is stored in a separate register called nextVC.
When a flit wins the switch and is being sent out, it replaces its VC field with the nextVC register value and the dynamic VC queue pops the nextVC.
The signals, nextVC and hasVC, are decoupled so that they have no dependences.
SMART Unit
The SMART unit is instantiated by SMART routers and adds functionality for a single-cycle multi-hop traversal over the baseline router functionality.
It comprises of a SMART Setup Request (SSR) Generator, SSR Links, and a SMART Arbiter.
SMART Arbiter
The SMART arbiter reads the MSB from all SSR signals entering it; if any of these bits, it indicates a bypass request.
SMART arbiters set the SMART flag to bypass only if it
(a) receives a bypass request,
(b) the next router has a free VC,
(c) no local flit is requesting the same output port as the bypass flit that sent the SSR.
If a local flit also requests the output port, SMART arbiter prioritizes the local flit over a bypass flit.
This policy implements the Prio=local of SMART.
At each hop, all SSRs shift up by one slot;
this removes the furthest SSR (which has reached HPCmax-1 hops) and the bottom slot is occupied by the SSR from that router.
In addition to this shift, the SSR signals on all links shift left by 1-bit to decrease remaining bypass hops.
Thus the MSB of any SSR at a router indicates its intent to request a bypass at that router or not.
SMART Router