3.1 DDR3

Automatic initialization of DDR3 memory involves the following steps:

  1. Training logic performs HS_IO_CLK-to-SYS_CLK training.
  2. Training logic performs CMD/ADDR to REF_CLK training.
  3. DDR controller waits for the PHY to be ready. At this point, it is assumed that the PHY outputs stable clocks and signal levels.
  4. Controller asserts RESET_N and CKE low.
  5. Controller deasserts RESET_N after 200 μs, and then deasserts CKE after an additional 600 μs.
  6. Controller waits for tXPR.
  7. The MR2, MR3, MR1, and MR0 registers are configured (in that order) using the MRS command.
  8. Controller waits for 512 clock cycles. During this wait time, the ZQCL (long) command is sent to each rank independently to calibrate the RTT and RON values.
  9. Training logic performs write leveling.
  10. Training logic performs DQS gate training.
  11. Training logic aligns read DQ bits.
  12. Training logic aligns read DQS to DQ.
  13. Write calibration is performed.
  14. Normal operation begins.

The controller reinitializes the SDRAM memory when a low-to-high transition is detected on the reinitialization control signal (CTRLR_INIT).

The following figure shows the DDR3 automatic initialization flow.

Figure 3-1. Automatic Initialization Flow for DDR3 Memory
Note: If the CTRLR_READY signal is not asserted, find the state of the failure using the DDR Debug option of SmartDebug.