Intel
®
81341 and 81342—DDR SDRAM Memory Controller
Intel
®
81341 and 81342 I/O Processors
Developer’s Manual
December 2007
586
Order Number: 315037-002US
Example 12. DDR Registers Programming Example 4
The user wants to program the DDR registers to support two banks and each DDR bank
is 256 MBytes, yielding in a total memory of 512 G Byte (2*256 MB). The user wants
the DDR memory space to start at B E000 0000H. The 32-bit memory region is
128 Mbytes (Bank 0 is entirely 32-bit region since half of the bank space is lost). The
memory space summary is:
The registers would be programmed as follows:
Bank Size = 256 MB, SBSR[31:27] = 00010
2
Number of Banks = 2, SBSR[2] = 0
2
S32SR[29:20] = 080H, S32SR = 0800 0000H
SDUBR = 0000 000BH, SDUBR[3:0] = 1011
2
SDBR = E000 0000H, SDBR[31:28] = 1110
2
,
SSDBR = Not Applicable, as Secondary Bank Size is Empty.
Secondary Bank Size = Empty, SBSR[21:16] = 000000
2
Note:
In the above example, although 32-bit region is enabled, the entire DDR memory space
is still configured as supporting a 64-bit wide data bus, that is SDCR0[1] = 0
2
.
Example 13. DDR Registers Programming Example 5
The user wants to program the DDR registers to support 1 bank of 32-bit memory only.
The smallest DDR2 size that can be supported is 128 M Bytes, as dictated by the DDR2
technology. The user wants the DDR memory space to start at B F800 0000H. The
memory space summary is:
The registers would be programmed as follows:
Bank Size = 128 MB, SBSR[31:27] = 00001
2
Number of Banks = 1, SBSR[2] = 1
2
S32SR[29:20] = 000H, S32SR = 0000 0000H
SDCR0[1] = 1
2
, Enable 32-bit data bus width
SDUBR = 0000 000BH, SDUBR[3:0] = 1011
2
SDBR = F800 0000H, SDBR[31:27] = 11111
2
SSDBR = Not Applicable, as Secondary Bank Size is Empty.
Secondary Bank Size = Empty, SBSR[21:16] = 000000
2
Example 14. Address Register Programming Example 6
The user wants to program the DDR registers to support two banks and each DDR bank
is 512 MBytes, yielding in a total memory of 1 GBytes (2*512 MB). The user wants the
DDR memory space to start at A C000 0000H. The user wants a 256-MByte secondary
window starting at 0 C00 0000H. Note that the secondary memory window overlaps the
primary memory window and starts at the bottom of the primary memory window in
this example. There are no 32-bit memory region. The memory space summary is:
The registers would be programmed as follows:
Bank Size = 512 MB, SBSR[31:27] = 00100
2
Number of Banks = 2, SBSR[2] = 0
2
S32SR[29:20] = 0H, S32SR = 00000000H
SDUBR = 0000 000AH, SDUBR[3:0] = 1010
2
SDBR = C000 0000H, SDBR[31:28] = 1100
2
SSDBR = C000 0000H
Secondary Bank Size = 256 MB, SBSR[21:16] = 000100
2