
GR716-DS-UM, May 2019, Version 1.29
314
www.cobham.com/gaisler
GR716
33.8.5 RMW commands
All read-modify-write sizes are supported except 6 which would have caused 3 B being read and writ-
ten on the bus. The RMW bus accesses have the same restrictions as the verified writes. As in the ver-
ified write case, the incrementing bit can be set to any value since only one AHB bus operation will be
performed for each RMW command. Cargo too large is detected after the bus accesses so this error
will not prevent the operation from being performed. No data is sent in a reply if an error is detected
i.e. the status field is non-zero.
33.8.6 Control
The RMAP target mostly runs in the background without any external intervention, but there are a
few control possibilities.
There is an enable bit in the control register of the core which can be used to completely disable the
RMAP target. When it is set to ‘0’ no RMAP packets will be handled in hardware, instead they are all
stored to the DMA channel.
There is a possibility that RMAP commands will not be performed in the order they arrive. This can
happen if a read arrives before one or more writes. Since the target stores replies in a buffer with more
than one entry several commands can be processed even if no replies are sent. Data for read replies is
read when the reply is sent and thus writes coming after the read might have been performed already
if there was congestion in the transmitter. To avoid this the RMAP buffer disable bit can be set to
force the target to only use one buffer which prevents this situation.
The last control option for the target is the possibility to set the destination key which is found in a
separate register.