![Aeroflex Gaisler RT-SPW-ROUTER Скачать руководство пользователя страница 16](http://html1.mh-extra.com/html/aeroflex-gaisler/rt-spw-router/rt-spw-router_user-manual_2862505016.webp)
AEROFLEX GAISLER
16
RT-SPW-ROUTER
Copyright Aeroflex Gaisler AB
June 2012, Version 1.2
3.2.7.7
Timer enabled and packet distribution enabled, ports running but busy
If at least one port is busy but all are running when packet distribution is enabled the packet will wait
indefinitely. When the transmission has started the timer is restarted each time a character is transmit-
ted and if the timer expires the remaining part of the packet is spilt and an EEP written to all the desti-
nation ports.
3.2.7.8
Timer functionality when accessing the configuration port
Timers work in the same way when accessing the configuration port as for the other ports. When the
command is being received by the RMAP target the timer on the source port will trigger if the source
of the command is too slow, spill the remaining part of the packet and insert an EEP to the configura-
tion port. The RMAP target will always be able to receive the characters quick enough. If the source is
too slow when the reply is sent the configuration port’s timer will trigger and the remaining part of the
packet is spilled and an EEP is inserted. This is to prevent the configuration port from being locked up
by a malfunctioning source port.
3.2.8
On-chip memories
There are two memory blocks in the routing table, one for the port setup registers and one for the rout-
ing table. The port setup memory bit width is equal to the number of ports including the configuration
port with depth 256. The routing table is 256 locations deep and 2 bits wide.
Each port excluding the configuration port also have FIFO memories. The SpaceWire ports have one
FIFO per direction (rx, tx) which are 9-wide. The FIFO ports have the exact same FIFO configuration
as the SpaceWire ports.
The AMBA ports have one 9-bit wide receiver FIFO and two 32-bit wide AHB FIFOs.
Parity is used to protect the memories and up to four bits per word can be corrected and there is a sig-
nal indicating an uncorrectable error.
If a memory error occurs in the port setup table or the routing table the memory error (ME) bit in the
router configuration/status register is set and remains set until cleared by the user. If a memory error is
detected in any of the ports FIFO memories the memory error (ME) bit in the respective port status
register is set and remains set until cleared by the user. The ME bits are only set for uncorrectable
errors.
When an uncorrectable error is detected in the port setup or routing table when a packet is being
routed it will be discarded. Unocrrectable errors in the FIFO memories are not handled since they
only affect the contents of the routed packet not the operation of the router itself. These type of errors
should be caught by CRC checks if used in the packet.
The ME bit for the ports is only usable for detecting errors and statistics since there is no need to cor-
rect the error manually since the packet has already been routed when it is detected. The ME indica-
tion for the routing table and port setup registers can be used for starting a scrubbing operation if
detected. There is also an option of having automatic scrubbing (see section 3.2.8.1)
3.2.8.1
Autoscrub
With autoscrubbing the routing table and port setup registers will be periodically read and rewritten.
This is done to prevent buildup of SEUs to cause an uncorrectable error in the memories. It will run in
the background and has no impact on routing table lookup for traffic but can delay configuration
accesses with two cycles.