
GR716-DS-UM, May 2019, Version 1.29
432
www.cobham.com/gaisler
GR716
Protection mask, bits 31:16 (
PMASK
[31:16]
): ahbmaskh
Protection mask, bits 15:0 (
PMASK
[15:0]
): ahbmaskl
Before the core performs an AMBA access it will perform the check:
(((incoming address) xor (protaddr)) and protmask) /= 0x00000000
If the above expression is true (one or several bits in the incoming address differ from the protection
address, and the corresponding mask bits are set to ‘1’) then the access is inhibited. As an example,
assume that
protaddr
is 0xA0000000 and
protmask
is 0xF0000000. Since
protmask
only has ones in
the most significant nibble, the check above can only be triggered for these bits. The address range of
allowed accessed will thus be 0xA0000000 - 0xAFFFFFFF..
The core will set the configuration register bit PROT if an access is attempted outside the allowed
address range. This bit is updated on each AHB access and will be cleared by an access inside the
allowed range.
43.5
Registers
The core is programmed through registers mapped into APB address space.
Table 579.
APB registers
APB address offset
Register
0x00
Control register
0x04
Status register
0x08
Protection address register
0x0C
Protection mask register