GR740-UM-DS, Nov 2017, Version 1.7
420
www.cobham.com/gaisler
GR740
already been sent when the data is read. If the AHB error occurs the packet will be truncated and
ended with an EEP. See also the AMBA ERROR propagation description in section 5.10.
Errors up to and including Invalid Data CRC (number 8) are checked before verified commands. The
other errors do not prevent verified operations from being performed.
The details of the support for the different commands are now presented. All defined commands
which are received but have an option set which is not supported in this specific implementation will
not be executed and a possible reply is sent with error code 10.
35.7.3 Write commands
The write commands are divided into two subcategories when examining their capabilities: verified
writes and non-verified writes. Verified writes have a length restriction of 4 bytes and the address
must be aligned to the size. That is 1 byte writes can be done to any address, 2 bytes must be halfword
aligned, 3 bytes are not allowed and 4 bytes writes must be word aligned. Since there will always be
only one AHB operation performed for each RMAP verified write command the incrementing
address bit can be set to any value.
Non-verified writes have no restrictions when the incrementing bit is set to 1. If it is set to 0 the num-
ber of bytes must be a multiple of 4 and the address word aligned. There is no guarantee how many
words will be written when early EOP/EEP is detected for non-verified writes.
35.7.4 Read commands
Read commands are performed on the fly when the reply is sent. Thus if an AHB error occurs the
packet will be truncated and ended with an EEP. There are no restrictions for incrementing reads but
non-incrementing reads have the same alignment restrictions as non-verified writes. Note that the
“Authorization failure” error code will be sent in the reply if a violation was detected even if the
length field was zero. Also note that no data is sent in the reply if an error was detected i.e. if the status
field is non-zero.
35.7.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.
35.7.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.