3.4 LPDDR4 (For PolarFire SoC FPGA Only)
(Ask a Question)Automatic initialization of LPDDR4 memory (for embedded MSS DDR controller only) involves the following steps:
- Training logic performs HS_IO_CLK-to-SYS_CLK training.
- DDR controller waits for the PHY to be ready. At this point, it is assumed that the PHY outputs stable clocks and signal levels.
- Controller asserts RESET_N, and CKE is held LOW.
- Controller deasserts RESET_N after 200 μs, and then deasserts CKE after an additional 2 ms.
- Controller waits for tXPR.
- The MR13, MR1, MR2, MR3, MR4, MR11, MR16, MR17, MR22, and MR13 registers are configured (in that order) using the MRS command.
- 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.
- Training logic performs CMD/ADDR to REF_CLK training.
- Training logic performs write leveling.
- Training logic performs Read Gate (Read DQS gate) training.
- Training logic aligns read data (DQ) bits.
- Training logic aligns read data strobe (DQS) to DQ.
- Write calibration is performed.
- Sanity check is performed.
- Normal operation begins.
The following figure shows the LPDDR4 automatic initialization flow.