Arria 10 Custom Board EMIF Settings
Hi,
I am having trouble with memory verification checks (write of a pattern followed by a readback) that are failing for the external DDR4 memory of our Arria 10 custom designed board. This is preventing U-boot from being loaded onto the board. My team suspects that there are incorrect settings for our memory in the EMIF IP of our Quartus project. We have checked them over and the settings see to be correct, but we wanted to get an Intel EMIF expert to review them so I am posting our settings to this forum for feedback. Here is some info regarding our setup:
1) FPGA: Arria 10 PN 10AS066K4F40I3SG
2) Memory: Micron PN MT40A1G16TB-062E IT:F
3) The current settings pass the EMIF Debug Toolkit calibration tests when used in the stand-alone EMIF IP Debug design.
4) The current settings don't seem to work with a simplified Quartus test design that is based on our full Quartus design. The U-boot log indicates a verification failure mentioned previously when doing a memory size/sanity check.
5) I have uploaded the following documents:
A) Screenshots of the EMIF settings in Platform Designer (DDR4_933MHz_EMIF_Memory_Config.7z).
B) Datasheet for the Micron memory being used (Micron_Datasheet_16gb_ddr4_sdram.pdf). We are using the settings in Table 158: DDR4-3200 Speed Bin running at 1866 MT data rate.
C) A schematic screenshot of the memory (Memory_Schematic.JPG) as it is connected on the board.
D) The U-boot log (u-boot_log.txt) showing the memory size/sanity check error that results from a failed verification check. The failure message is "DDR: SDRAM size check failed!" found toward the end of the log.
E) The U-boot source code (sdram_arria10.c) that produces the log error. Note that sdram_size_check() calls get_ram_size_hdmrps() which performs a write/readback test to determine a valid memory size.
If you need more information, please let me know. Any help is appreciated.
Thanks,
Richard