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 6: DRAM
Page
111
The address range covered by each of the chip selects is set in the
mc_cs_start
and
mc_cs_end
registers.
The start address register holds address bits [39:24] that when extended with zeros in bits [23:0] give the
lowest address in the range. The end address register holds address bits [39:24] that when extended with
zeros in bits [23:0] give the first address above the range. The comparison is done after addresses have been
translated from physical addresses to memory addresses (see
Section: “Mapping” on page 109
).
If two chip select regions are interleaved (mixed_cs mode) their start address registers must be set to the start
of the common range, and their end address registers are set to the end address of the common range plus 1
(i.e. they are programmed identically, to a range twice the size of one of them). The address bit that selects
between the two chip selects is configured by writing a single one in that bit position of the
mc_cs_interleave
register.
If all four chip select regions are interleaved (interleaved_cs mode) their start address registers must be set to
the start of the common range, and their end address registers are set to the end address of the common range
plus 1 (i.e. they are programmed identically, to a range four times the size of one of them). The address bits
that selects between the two chip selects is configured by writing two ones in adjacent bit positions of the
mc_cs_interleave
register.
If a chip select is not used its start and end address should both be set to zero.
If the two channels are interleaved then the chip select region sizes will be doubled and must be identical for
both channels.
If a request is received by the memory controller that does not match in any of the chip select regions no
SDRAMs will be selected. On writes the data will be discarded. On reads the memory controller will terminate
the cycle by reading UNPREDICTABLE data. The controller can be configured to return either a bus error or
a valid data flag with the data. In normal operation the bus error would be used to signal that a bad memory
address was used. During system testing and sizing it may be useful to have the controller always return valid
data. The controller will not hang during an access with no chip select asserted.