AEROFLEX GAISLER
17
RT-SPW-ROUTER
Copyright Aeroflex Gaisler AB
June 2012, Version 1.2
The scrubber starts at address 0 and simultaneously writes one location in the port setup memory and
the routing table memory. It then waits for a timeout period until it writes the next word. Eventually
the last location is reached and the process starts over from address 0.
The period between each word refresh is approximately 2
26
core clock cycles. The scrubber uses a
free slot when data traffic does not need to perform a table lookup to read and write the memories
which causes a small indeterminism in the period.
3.2.9
System time-distribution
The router contains a global time-counter register which handles system time-distribution. All the dif-
ferent port types support time-code transmission. Incoming time-codes on the ports are checked
against the time-counter which is then updated. If time-code was determined to have a count value
one more modulo 64 than the previous value then a tick is generated and the time-code is forwarded to
all the other ports. The time-codes are also forwarded to the FIFO and AMBA ports where they
appear on their respective external interfaces. Time-codes can also be transmitted from the FIFO and
AMBA ports. In that case they are also compared to the time-counter and propagated to the other
ports if valid.
The current router master time-counter and control flag values can be read through the configuration
port (see the time-code register in section 3.7).
In default mode the router does not check the control flags so time-codes will be accepted regardless
of their value. If the TF bit in the router configuration/status register is set to 1 time-code control flag
filtering is enabled and the time-codes are required to have the control flags set to “00” to be accepted,
otherwise they are dropped when received.
After reset all the ports are enabled to receive and transmit time-codes. The TE bit in a port’s control
register can be set to 0 to disable time-code transmission and reception on that port.
Time-code transfers can also be disabled globally using a signal.
3.2.10 Invalid address error
An invalid address error occurs when a port receives a packet with an destination address that belongs
to one or more of the three following groups:
1. Destination address is a path address corresponding to a non-existing port number. For example if
the router only has 8 ports and a packet has destination address 15 this error will occur. If a router has
31 ports (32 including the configuration port) this error cannot occur.
2. Destination address is a logical address corresponding to a routing table entry which has not been
configured. The routing table entries start at address 0x480.
3. Destination address is a logical address corresponding to a port setup register which has not been
configured. The port setup registers start at address 0x80 for logical addresses.
4. The destination port determined either through physical or logical address has the disable (DI) bit
set in the port control register.
3.2.11 Global configuration features
3.2.11.1 Self addressing
Normally the ports are allowed to address themselves i.e. a packet is received on a port with a destina-
tion address configured to be transmitted on the same port (which the packet was received on). This