DDR4 Memory
The 2-GiByte DDR4 SDRAM provides a 32-bit wide data interface and is connected to the 1.2-V I/O on HP banks 70 and 71 of the FPGA. The maximum data rate of the SDRAM is 2666 Mb/s, although the speed grade of the Kintex UltraScale+ will limit the maximum supported data rate to what is stated in Table 27 of DS922. The -1 speed grade on the XEM8370 supports a maximum data rate of 2400 Mb/s. This gives a supported peak memory bandwidth of 76.8 Gb/s.
The following resources are available to help provide guidance for designs that involve this memory:
- How-To Apply DDR MIG Settings and Vivado Board File to generate AMD’s MIG IP Core.
- The RAMTester sample reads and writes this memory via FrontPanel pipe endpoints.
- The XEM8370 Pins Reference can generate a constraints file (click on Export) with complete pin mapping and I/O constraints for use in your design.
MIG Settings
Kintex UltraScale+ devices support external, high-performance memory through the use of the Memory Interface Generator (MIG) provided by AMD. MIG produces a custom memory interface core that may be included in your design. These parameters have been used successfully within Opal Kelly but your design needs may require deviations.
All settings are based on the DDR4 SDRAM (MIG) v2.2 IP and Vivado 2022.1. This configuration sets up the correct MMCM M/D values to use an exact 100MHz reference input clock to achieve exactly 2400 Mb/s performance. This is a contradiction to the GUI reported 100.04Mhz for the selection of “9996” for “Reference Input Clock Speed (ps).” Please see AMD Article 66554 for more information regarding a similar situation.
Timing will constrain the DDR4 reference clock to 100.04Mhz in this case, which is a more pessimistic constraint versus 100Mhz. This results in the user losing 1.33 ps of usable slack for timing closure on the `c0_ddr4_ui_clk` MIG user interface clock. This is negligible and won’t produce metastable/non-functional designs due to this being a more pessimistic constraint. For this reason, we use the MIG’s propagated constraint of 100.04Mhz on the DDR4 ref clk within all our provided samples.
If an additional 1.33 ps of slack is required to meet timing, you may constrain the DDR4 ref clk to 100 Mhz in a top level constraints file and ignore the critical warnings that come as a result of overwriting this.
PARAMETER | XEM8370 |
---|---|
Controller Type | DDR4 SDRAM |
Controller/PHY Mode | Controller and physical layer |
Memory Device Interface Speed (ps) | 833 |
PHY to controller clock frequency ratio | 4:1 |
Reference Input Clock Speed (ps) | 9996 |
Configuration | Components |
Memory Part | MT40A1G16RC-062E |
Slot | Single |
IO Memory Voltage | 1.2V |
Data Width | 32 |
ECC | Disabled |
Data Mask and DBI | DM NO DBI |
Memory Address Map | ROW COLUMN BANK |
Ordering | Normal |
Cas Latency | 17 |
Cas Write Latency | 12 |
Force Read and Write commands to use AutoPrecharge | Disabled |
Clamshell Topology | Disabled |
Enable AutoPrecharge Input | Disabled |
Enable User Refresh and ZQCS Input | Disabled |
Advanced options | Default |
DDR4 / FPGA Pin Connections
The FPGA to DDR4 pin mappings are shown below. These are also available in the Pins Reference when exporting a constraints file as well as the sample designs that utilize the memory.
DDR4 PIN | FPGA PIN |
---|---|
RESET_n | E25 |
CK_t | F27 |
CK_c | E27 |
CKE | A22 |
CS | C21 |
DQS0_t | C19 |
DQS0_c | B19 |
DQS1_t | D19 |
DQS1_c | D18 |
DQS2_t | G19 |
DQS2_c | F19 |
DQS3_t | J19 |
DQS3_c | J18 |
DM0 | B14 |
DM1 | D14 |
DM2 | G17 |
DM3 | J15 |
ACT_n | A24 |
PAR | D26 |
ODT | B21 |
ALERT_n | D29 |
Note: the TEN signal is not connected to the FPGA. It is wired to ground on the PCB.
DDR4 PIN | FPGA PIN |
---|---|
A0 | C23 |
A1 | D23 |
A2 | D25 |
A3 | B27 |
A4 | C22 |
A5 | C28 |
A6 | C26 |
A7 | B29 |
A8 | C27 |
A9 | A29 |
A10 / AP | A25 |
A11 | E28 |
A12 / BC | B22 |
A13 | D28 |
A14 / WE | A23 |
A15 / CAS | A27 |
A16 / RAS | B26 |
BA0 | B25 |
BA1 | A28 |
BG0 | B24 |
DDR4 PIN | FPGA PIN | DDR4 PIN | FPGA PIN |
---|---|---|---|
D0 | C18 | D16 | H19 |
D1 | A18 | D17 | H17 |
D2 | A19 | D18 | F18 |
D3 | A15 | D19 | G15 |
D4 | B17 | D20 | H18 |
D5 | B16 | D21 | H16 |
D6 | C17 | D22 | F17 |
D7 | B15 | D23 | G14 |
D8 | E17 | D24 | L18 |
D9 | D16 | D25 | K16 |
D10 | E18 | D26 | K18 |
D11 | E15 | D27 | K17 |
D12 | E16 | D28 | L19 |
D13 | D15 | D29 | L15 |
D14 | F14 | D30 | K15 |
D15 | F15 | D31 | J16 |