IDT DDR Controller
Theory of Operation
79RC32438 User Reference Manual
7 - 3
November 4, 2002
Notes
Two sets of differential DDR clocks (DDRCKP[1:0] and DDRCKN[1:0]) are provided to ease loading
constraints and board design. Both clocks have the same frequency, which is equal to the IPBus clock
(ICLK), and phase relationship. All DDR transactions are synchronous to these clocks. Thus, all of the
timing parameters in the DDR Control (DDRC) register are in terms of DDR clock cycles.
The DDR controller contains a single control register (DDRC) since DDRs connected to both chip
selects must share a common configuration. The DDR controller supports only sequential burst lengths of
two. This burst length refers to the burst length value programmed in the DDR’s MODE register. By pipe-
lining addresses issued to the DDR, the RC32438 can support burst read and write transactions of any
length. The Data Bus Width (DBW) field in this register selects the width of the DDR controller data bus
(either 16-bits or 32-bits).
During DDR transactions, the address bus is multiplexed as shown in Table 7.3 for 32-bit data width
mode and in Table 7.4 for 16-bit data width mode. The exact address multiplexing is dependent on the DDR
device type selected in the device type (DTYPE) field of the DDRC register. Selecting a DTYPE results in
the same multiplexing as that for 64Mb devices organized as 2M x 8 x 4 banks. Address and bank select
signals connect directly to the corresponding DDR pins in both 16-bit and 32-bit data path modes (i.e., no
address shifting is required for x16 and x32 DDR organizations).
Each chip select supports four page comparators. Although each page comparator is 14 bits in size, not
all bits are used in all DDR configurations. When the CPU performs a read or write operation to DDR space,
the page comparator associated with the selected DDR bank is checked. If the bank was left active and the
value in the comparator matches the DDR row address, then the access can be made without first closing
the currently active page and opening a different page. Otherwise, if the active page in the comparator does
not match the DDR row address, then the active page must first be closed (i.e., precharged) and the correct
page opened (i.e., made active) before the access may be performed. Finally, if no page is active in the
bank, the required page must first be opened (i.e., made active) before the access may be performed.
The DDR controller normally operates with a DDR data strobe per byte lane (i.e., DDRDQS[1:0] in 16-bit
data bus width mode and DDRDQS[3:0] in 32-bit data bus width mode). Some DDR devices have a single
data byte strobe for ALL byte lanes (e.g., x32 DDR devices in a TQFP package). When the Single Data
Strobe (SDS) bit is set in the DDRC register, DDRDQS[0] is used for all byte lanes.
DDR Address Multiplexing Scheme
DDR
Organization
Cycle
DDR
Bank
DDR Address
1
0
13
12
11
10
9
8
7
6
5
4
3
2
1
0
64Mb 2Mx8x4 banks
(9-bit page)
Row
a24
a23
x
1
x
a22
a21
a20
a19
a18
a17
a16
a15
a14
a13
a12
a11
Column
a24
a23
x
x
x
AP
2
x
a10
a9
a8
a7
a6
a5
a4
a3
a2
64Mb 1Mx16x4 banks
(8-bit page)
Row
a23
a22
x
x
a21
a20
a19
a18
a17
a16
a15
a14
a13
a12
a11
a10
Column
a23
a22
x
x
x
AP
x
x
a9
a8
a7
a6
a5
a4
a3
a2
64Mb 512Kx32x4banks
(8-bit page)
Row
a22
a21
x
x
x
a20
a19
a18
a17
a16
a15
a14
a13
a12
a11
a10
Column
a22
a21
x
x
x
x
x
AP
a9
a8
a7
a6
a5
a4
a3
a2
128Mb 4Mx8x4 banks
(10-bit page)
Row
a25
a24
x
x
a23
a22
a21
a20
a19
a18
a17
a16
a15
a14
a13
a12
Column
a25
a24
x
x
x
AP
a11
a10
a9
a8
a7
a6
a5
a4
a3
a2
128Mb 2Mx16x4 banks
(9-bit page)
Row
a24
a23
x
x
a22
a21
a20
a19
a18
a17
a16
a15
a14
a13
a12
a11
Column
a24
a23
x
x
x
AP
x
a10
a9
a8
a7
a6
a5
a4
a3
a2
128Mb 1Mx32x4 banks
(8-bit page)
Row
a23
a22
x
x
a21
a20
a19
a18
a17
a16
a15
a14
a13
a12
a11
a10
Column
a23
a22
x
x
x
x
x
AP
a9
a8
a7
a6
a5
a4
a3
a2
Table 7.3 DDR Address Multiplexing in 32-bit Mode (Part 1 of 2)