GR740-UM-DS, Nov 2017, Version 1.7
145
www.cobham.com/gaisler
GR740
if the selected output port’s link interface is not in run-state. If group adaptive routing is enabled for
the address of the incoming packet then the packet is only spilled if none of the ports in the group is in
run-state. If packet distribution is enabled for the address of the incoming packet then the packet is
spilled unless the link interfaces for all selected output ports are in run-state. The spill-if-not-ready
feature has priority over the incoming port’s data character timer (section 13.2.15) and the output
port’s link-start-on-request feature (section 13.2.13). This means that if the spill-if-not-ready feature is
enabled, the packet is spilled before the timer starts and the link-start-on-request feature will never be
activated.
13.2.11 Self addressing
Self addressing occurs when the selected output port for a packet is the same port as the input port.
Whether or not this is allowed is controlled by the RTR.RTRCFG.SA bit. If self addressing is not
allowed, the incoming packet is spilled and an invalid address error occurs.
When group adaptive routing is used and self addressing is not allowed, the input port is still allowed
to be in the group of ports configured for the packet. The packet is not spilled until the router actually
selects the input port as output port. If the router selects one of the other ports in the group, the packet
is not spilled.
When packet distribution is used and self addressing is not allowed, the input port is not allowed to be
in the group of ports configured for the packet since the packet should be sent to all ports in the group.
13.2.12 Invalid address error
An invalid address error occurs under the conditions listed below.
•
When an incoming packet’s address corresponds to a non-existing port (physical addresses 13-
31).
•
When an incoming packet’s address is a logical address that is not enabled (RTR.RTACTRL.EN
= 0).
•
When an incoming packet’s address is a logical address for which the corresponding RTR.RTP-
MAP register is not initialized or for which the corresponding RTR.RTPMAP.PE field is set to all
zeros.
•
When only one output port is selected for an incoming packet and this port is disabled
(RTR.PCTRL.DI = 1).
•
When self addressing occurs and the router is configured to not allow self addressing
(RTR.RTRCFG.SA = 0).
•
When a packet is routed with the static routing feature and the physical address programmed in
RTR.PCTRL2.SD is 0 (static routing to port 0 is not allowed).
For all the invalid address cases above, the incoming packet is spilled and the RTR.PSTS.IA bit corre-
sponding to the input port will be set to 1.
13.2.13 Link-start-on-request
The link-start-on-request feature makes it possible to automatically start a SpaceWire port’s link inter-
face when a packet is routed to the port (i.e. the port is selected as output port). Each port can have the
feature individually enabled by setting the corresponding RTR.PCTRL.LR bit to 1.
If a packet arrives and the link interface of the selected output port is not in run-state and the port has
the link-start-on-request feature enabled, the router will try to start the link interface under the follow-
ing conditions:
1. The link interface is not already trying to start (RTR.PCTRL.LS = 0).
2. The link is not disabled (RTR.PCTRL.LD = 0).