Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20777 Discussions

DDR3 Local_init_done not asserting

Altera_Forum
Honored Contributor II
1,255 Views

My company has our own proprietary design with two Micron MT41J64M16LA-15E DDR3 chips. For years we only used one chip as Quartus 10.0 had pin layout problems. Recently I have been trying to get the second bank up, which I finally got going. However the second memory controller fails to init once the board warms up. Obvously, timing. Can anyone give me a quick rundown of the init process handshaking with the DDR3? This is a Arria II GX part (EP2AGX45DF29I3). 

 

After initialization, the part runs fine, and I can usually get the part to init with a little cold spray.  

 

Thanks
0 Kudos
2 Replies
Altera_Forum
Honored Contributor II
335 Views

Have you tried running the External Memory Interface (EMIF) toolkit? 

 

When you build a UniPHY DDR controller via Qsys or the MegaWizard, and then look at the synthesized hierarchy you will see a JTAG master called dmaster (debug master). Use Tools->System Console->External Memory Interface Toolkit (Quartus 13.1) to access this tool. 

 

Run the margin tests, use quick-freeze if necessary to get it to pass. 

 

Perhaps that will provide some insight into the issue. 

 

Look at the PCB layout and see if the address/command signals are routed as a tree or as a fly-by like a DDR DIMM. Given that you are having problems with only the second bank, my "guess" is that you have a tree layout and have configured the controller to expect a fly-by layout (I believe I've seen a setting for this option). 

 

Cheers, 

Dave
0 Kudos
Altera_Forum
Honored Contributor II
335 Views

EMIF does not work for Arria IIGX. I will look at the PCB layout and try to determine if its fly-by or tree. Thanks for the reply I really appreciate your help.

0 Kudos
Reply