User Manual
BCM1250/BCM1125/BCM1125H
10/21/02
B r o a d c o m C o r p o r a t i o n
Document
1250_1125-UM100CB-R
Section 3: System Overview
Page
11
I
NTERNAL
R
EGISTERS
There are a large number of internal registers. Their definitions are given in the sections of this manual that
describe their use.
Section: “Internal Register Addresses by Function” on page 446
has a summary of all the
register addresses. Each register is 1 byte, 2 bytes, 4 bytes or 8 bytes. However, even if a smaller size is
implemented registers are always allocated in an aligned 8 byte (64 bit) field. Most registers can be read or
written using a double-word (8 bytes), word (4 bytes), half-word (2 byte) or single byte access. However, some
of the registers can only be written with their full width (in these registers a wider write will work, but a narrower
write will leave the register value UNPREDICTABLE). All registers can be read with any size read, if the size
requested is larger than the size that is implemented in the register then the extra bits will be filled with
UNPREDICTABLE data (unless otherwise documented).
The address given in this manual for all registers is aligned to a double-word (i.e. the final hex digit is a
0
or an
8
), reflecting the field size rather than the register size. As is illustrated in
the base address may be
used for all access widths in a little endian system.
In a big endian system, if the access to the registers is as a double-word the base address should be used, for
a word access the address is the base address plus 4, for a half-word access use the base address plus 6 and
for a byte access use the base address plus 7. For example, consider a register with 1 valid byte and base
address
1234_0000
. Its double-word access address is
1234_0000
; word access address is
1234_0004
;
half-word access address is
1234_0006
; and single byte access address is
1234_0007
. This fits with the big
endian model for data position in double-word fields.
Figure 6: Internal Control and Status Register Alignment
The internal registers should be referenced by the CPUs in uncacheable space, so transactions will never be
wider than 8 bytes (and will never span more than a single 8 byte aligned range).
One source for initialization errors happens when a bit in a register is defined to have an UNPREDICTABLE
(1’bx) value after reset. It is possible that on all parts used in a small prototype build the bit has the same value,
but on a few parts in a larger build it has the other value. Thus if it is not initialized the error may only be
discovered late in the testing process.
7
0
Big Endian Byte Address [2:0]
000 001 010 011 100 101 110 111
Little Endian Byte Address [2:0]
111 110 101 100 011 010 001 000
15
0
31
0
63 56 55 48 47 40 39 32 31 24 23 16 15
8 7
0
8 Bit Register
16 Bit Register
32 Bit Register
64 Bit Register
Содержание BCM1125
Страница 18: ...BCM1250 BCM1125 BCM1125H User Manual 10 21 02 Broadcom Corporation Page xviii Document 1250_1125 UM100CB R ...
Страница 28: ...BCM1250 BCM1125 BCM1125H User Manual 10 21 02 Broadcom Corporation Page xxviii Document 1250_1125 UM100CB R ...
Страница 515: ...BCM1250 BCM1125 BCM1125H User Manual 10 21 02 Broadcom Corporation Page vii Index Document 1250_1125 UM100CB R ...