
242
6437E–ATARM–23-Apr-13
SAM9M11
To comply with SDRAM timing parameters, additional clock cycles are inserted between pre-
charge/active (Trp) commands and active/read (Trcd) commands. The DDRSDRC supports a
cas latency of two, two and half, and three (2 or 3 clocks delay). During this delay, the controller
uses internal signals to anticipate the next access and improve the performance of the control-
ler. Depending on the latency(2/3), the DDRSDRC anticipates 2 or 3 read accesses. In the case
of burst of specified length, accesses are not anticipated, but if the burst is broken (border, busy
mode, etc.), the next access is treated as an incrementing burst of unspecified length, and in
function of the latency(2/3), the DDRSDRC anticipates 2 or 3 read accesses.
Read accesses to the SDRAM are burst oriented and the burst length is programmed to 8. It
determines the maximum number of column locations that can be accessed for a given read
command. When the read command is issued, 8 columns are selected. All accesses for that
burst take place within these eight columns, meaning that the burst wraps within these 8 col-
umns if the boundary is reached. These 8 columns are selected by addr[13:3]; addr[2:0] is used
to select the starting location within the block.
In the case of incrementing burst (INCR/INCR4/INCR8/INCR16), the addresses can cross the
16-byte boundary of the SDRAM device. For example, when a transfer (INCR4) starts at
address 0x0C, the next access is 0x10, but since the burst length is programmed to 8, the next
access is 0x00. Since the boundary is reached, the burst wraps. The DDRSDRC takes into
account this feature of the SDRAM device. In the case of DDR-SDRAM devices, transfers start
at address 0x04/0x08/0x0C. In the case of SDR-SDRAM devices, transfers start at address
0x14/0x18/0x1C. Two read commands are issued to avoid wrapping when the boundary is
reached. The last read command may generate additional reading (1 read cmd = 4 DDR words
or 1 read cmd = 8 SDR words).
To avoid additional reading, it is possible to use the burst stop command to truncate the read
burst and to decrease power consumption.