Altera_Forum
Honored Contributor
10 years agoDDR3 Memory errors but passes Calibration
Hi We are getting intermittent memory read errors from our DDR3 SDRAM Controller with UniPHY hmc in a Cyclone V
Using the EMIF toolkit we can run calibration on the memory and it passes every time. The margins look very good in the reports. The errors start after a reset/calibration cycle. We have written a test application that allows us to test the memory and activate a memory controller reset at will. Normally the test will run for days without any errors. We then activate a reset and re-run the test. Most times after the reset the test will be fine. Occasionally after the reset we get the fault condition. In the fault condition the test will start to give data read errors after a few minutes. Once in the fault condition the system remains in the fault condition until we re-run the reset/calibration, after which it may recover and continue to run without error for days. I have checked all the PSU voltages and they look good We are now using Quartus II 14.1.1 build 190. The problem was worse when we used 14.0 We copied the schematic design from the Cyclone VGX development board. We are using exactly the same memory devices as on the development board, two 16 bit DDR3 devices. I notice that there are changes to the termination of nRESET and CKE on the latest Cyclone VGT development board. We do not have these changes. Could this be significant? We have tried building the memory interface using parameters from the Micron data sheet and parameters from the reference designs. This has not made any difference to the symptoms. We have tried building the memory interface using default board parameters and parameters taken from an analysis of the board layout. This has not made any difference to the symptoms. I have analysed the board layout and it is not perfect w.r.t. track lengths in that the DDR3 CLK tracks are 100ps shorter than they should be for the rest of the signals. When we use the EMIF tools to look at the margin reports and delay, clock phase, settings after each calibration they are different each time. Can our problem be that the calibration is not working properly due to some other issue in the system? I stress the system always passes Calibration with large margins. Please can you help? Thanks Dave