Re-Ordering for LPDDR3 and LPDDR2
For LPDDR3 and LPDDR2, you can only re-order the signals for bytes 2 and 3.
| Byte | Signals | Re-Ordering Allowed? |
|---|---|---|
| 0 | DQS[0], DQ[7:0], DM[0] | No |
| 1 | DQS[1], DQ[15:8], DM[1] | No |
| 2 | DQS[2], DQ[23:16], DM[2] | Yes |
| 3 | DQS[3], DQ[31:24], DM[3] | Yes |
When laying out your PCB, follow these guidelines:
| Memory | Function | Guideline |
|---|---|---|
| LPDDR3, LPDDR2 | MRR | Connect DQS[0], DQ[7:0], DM[0] to the FPGA's DQS[0], DQ[7:0], and DM[0] pins correctly. |
| LPDDR3, LPDDR2 | CA training | Connect DQS[1], DQ[15:8], and DM[1] signals to the FPGA's DQS[1], DQ[15:8], and DM[1] pins correctly. |
| LPDDR3, LPDDR2 | Write leveling | Connect the prime DQ to the FPGA's prime DQ. |
| LPDDR3 | DQ calibration | Connect the prime DQ to the FPGA's prime DQ. |
The following table shows examples of acceptable and unacceptable re-ordering. Examples A and B show DQ signal re-ordering in bytes 2 and 3, while Example C shows DQ re-ordering in bytes 0 and 1.
| LPDDR3 DQ | Example A: Acceptable FPGA DQ | Example B: Acceptable FPGA DQ | Example C: UNACCEPTABLE FPGA DQ |
|---|---|---|---|
| 0 Prime DQ | 0 Prime DQ | 0 Prime DQ | 8 Prime DQ |
| 1 | 1 | 1 | 9 |
| 2 | 2 | 2 | 10 |
| 3 | 3 | 3 | 11 |
| 4 | 4 | 4 | 12 |
| 5 | 5 | 5 | 13 |
| 6 | 6 | 6 | 14 |
| 7 | 7 | 7 | 15 |
| 8 Prime DQ | 8 Prime DQ | 8 Prime DQ | 0 Prime DQ |
| 9 | 9 | 9 | 1 |
| 10 | 10 | 10 | 2 |
| 11 | 11 | 11 | 3 |
| 12 | 12 | 12 | 4 |
| 13 | 13 | 13 | 5 |
| 14 | 14 | 14 | 6 |
| 15 | 15 | 15 | 7 |
| 16 Prime DQ | 24 Prime DQ | 16 Prime DQ | 16 Prime DQ |
| 17 | 25 | 19 | 17 |
| 18 | 26 | 18 | 18 |
| 19 | 27 | 20 | 19 |
| 20 | 28 | 17 | 20 |
| 21 | 29 | 23 | 21 |
| 22 | 30 | 22 | 22 |
| 23 | 31 | 21 | 23 |
| 24 Prime DQ | 16 Prime DQ | 24 Prime DQ | 24 Prime DQ |
| 25 | 17 | 31 | 25 |
| 26 | 18 | 30 | 26 |
| 27 | 19 | 29 | 27 |
| 28 | 20 | 28 | 28 |
| 29 | 21 | 27 | 29 |
| 30 | 22 | 26 | 30 |
| 31 | 23 | 25 | 31 |