Hardware Reference
In-Depth Information
outVCAvailable
gather grants
per output VC
output VC
granted
reqPort[i]
N
V
NV
NV
NV
NxV
centralized
allocator
V
reqVC[i]
V
NV
NV
NV
VCgranted[i]
selOutVC[i]
V
per input VC
Fig. 7.18
The organization of a VC allocator that uses a NV NV centralized allocator
Fig. 7.19 The organization
of a switch allocator that uses
a N
per input
N
N centralized allocator
V:1
arb
V
N
local MUX
select
N
N
N
NxN
centralized
allocator
N
N
N
N
gather grants
per output
crossbar
select
output is matched to at most one input. The only thing that remains to be selected
is the VC per input that actually won. For each input, the VCs that requested the
matched output are kept alive through a masking process. Since these can be more
than one input VCs that requested the selected output port, a final V W 1 arbiter is
used to select which input VC will finally send a flit to the selected output port.
7.4
Take-Away Points
The operation of a VC-based router includes multiple steps that should be executed
in the correct order in order to allow the packets placed at the input VCs to move to
their selected output port. The execution of each step such as routing computation,
VC allocation and switch allocation is supported by additional per-input VC and
per-output VC state variables that guide request generation and grant handling for
the allocation steps, and implement the virtual-channel flow control mechanism of
the input and output links. Input VCs allocate an output VC to their selected output
 
Search WWH ::




Custom Search