Ref.:
UoD_SpW-10X_
UserManual
Issue:
3.4
SpW-10X
SpaceWire Router
User Manual
Date:
11
th
July 2008
Preliminary
90
8.3.2.4 Arbitration of packets with different priority (2)
In Figure 8-8 another example of arbitration of packets with different priority is illustrated. Only router
ports 1-5 are shown for clarity.
At stage one input ports 1 and 3 have packets with logical addresses 80 and 52 respectively, which
are both to be routed to output port 5. Logical address 80 is high priority and 52 low priority. Input port
4 has just finished transferring a packet to output port 5.
At stage two the previous port selected by output port 5 was input port 4 therefore the high priority
packet waiting at input port 1 which has logical address 80 is selected and its packet transferred to
output port5. In the meantime a packet with high priority logical address 80 arrives at input port 4.
At stage three the packet from input port 1 has been forwarded and the packet with HIGH priority at
input port 4 is selected by the routing control logic as the next packet to be routed to output port 5. In
the meantime a packet with low priority logical address 52 arrives at input port 4.
At stage number four the high priority packet from input port 4 has been forwarded and the routing
control logic arbitrates again for access to output port 5. There are no high priority packets waiting to
use output port 5 so the low priority packets that are waiting are considered. The previous low priority
packet that was routed through output port 5 was from input port 1, therefore the next packet selected
by the routing control logic is the one from input port 3.
At stage number five the packet from input port 3 has completed and the low priority packet waiting at
input port 1 gets its chance to access output port 5 and is forwarded.
Note that low priority packets will not be routed until there are no more high priority packets waiting to
be routed to the same output port. Therefore, in the situation when there is a high volume of high
priority traffic coming from multiple ports, a low priority packet could never get the chance to be routed.
This low priority packet would never timeout even when timeout is enabled, thus blocking the link
indefinitely. If the tail of this packet goes through another SpW-10X router, this other router will timeout
and spill the tail of the router.