Ref.:
UoD_SpW-10X_
UserManual
Issue:
3.4
SpW-10X
SpaceWire Router
User Manual
Date:
11
th
July 2008
Preliminary
101
8.3.5.3 Waiting for an output port
When a packet arrives at an input port of the SpW-10X router is has to wait to be forwarded to an
output port. How long the packet waits will depend on whether the router is in Blocking Allowed or
Watchdog Timer mode and on what the output ports are doing. Various situations are considered
below:
In Blocking Allowed mode packets will wait indefinitely to be granted access to an output port. There is
one exception to this: if the destination port is a SpaceWire port and the port is not started the packet
will only wait as long as the timeout period and then the router will spill the packet. If group adaptive
routing is being used and at least one of the output ports in the group is running then the packet will
wait indefinitely until the running port is ready, even if one or more of the other ports are not started.
In Watchdog Timer mode there are several possible cases which are considered below.
Output port not running
: If a packet arrives at an input port of the SpW-10X router and the output
port that it is to be routed to is not running, the router will wait for the output port to start for the
watchdog timeout period and will then spill the packet if the link has not started. If Start on Request
has been enabled the router will wait for the watchdog timer timeout interval for the output port to start.
The packet will be routed to the output port as soon as it starts and a connection is made. If the port
does not start before the end of the timeout interval then the waiting packet will be spilt.\
Output port running and not busy:
If a packet arrives at an input port on the SpW-10X router and
the output port that it is to be router to is running but not currently sending a packet, then the newly
arrived packet will be routed immediately.
Output port running and busy:
If a packet arrives at an input port on the SpW-10X router and the
output port that it is to be router to is running and currently sending a packet the newly arrived packet
will wait indefinitely for the output port to finish sending is current packet. The waiting packet will then
be sent. This approach is taken because it is clear that the output port is operational and not blocked,
so the newly arrived packet will wait for the current packet to complete transfer.
Output port in a group, not running:
A packet arrives at an input port of the SpW-10 router and the
packet has a logical address addressing a group of possible output ports. If all of the ports in the group
are not running, the router will wait for an output port to start for the watchdog timeout period and will
then spill the packet if one of the links has not started. If Start on Request is enabled then the router
will try to start all the ports in the group. The packet will be router to whichever port starts first. If none
of the ports starts before the timeout interval has expired the packet will be spilt.
Output port in a group with one port running and not busy:
If a packet arrives at an input port
with a group logical address and one of the output ports in the group is running and not currently busy
sending a packet, the newly arrived packet will be routed to that output port immediately.
Output port in a group with one port busy:
If a packet arrives with a group logical address and one
of the output ports in the group is busy sending a packet and the other output ports in the group are
not running, the SpW-10X will wait indefinitely to send the packet, whether or not Start on Request is
enabled. When the busy output port finished sending its packet the waiting packet will be sent.