FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
6356 Discussions

DDR2 memory with ALTMEMPHY and Micron MT47H32M16HR-25E

Altera_Forum
Honored Contributor II
955 Views

I am having trouble setting up ddr2 memory for a micron MT47H32M16HR-25E single memory chip with Altera ALTMEMPHY with Quartus 11.1 and QSYS 

 

I have set all the timings to the data sheet from a close default (MT47H32M16CC-3). When I build the system it produces various pins on the epld to connect to DDR2 RAM. I have assumed the mem_clk pin is mem_clk_p as the other pin is labeled mem_clk_n 

 

I can only connect the mem_clk_p pin to a bidir as when I connect it to an output pin to drive the DDR2 RAM I get a warning message 

Error: The DDIO_OUT WYSIWYG primitive "........ir:DDR_CLK_OUT[0].ddr_clk_out_p|ddio_bidir_n5h:auto_generated|ddio_outa[0]" feeding the pin "ddr2_clk_out_p" has multiple fan-outs 

 

My memory check software runs from onchip memory but as soon as I access the DDR2 memory Nios hangs at the instruction to access the memory 

  

Thanks 

 

Neil
0 Kudos
7 Replies
Altera_Forum
Honored Contributor II
231 Views

Those mem_clk_p/mem_clk_n are differential pins and has to be placed directly on the top level file and then connected to memory chip.

0 Kudos
Altera_Forum
Honored Contributor II
231 Views

Thanks for the reply Socrates 

 

Yes I connected up the mem_clk_p and mem_clk_n to the DDR2 memory. I was just confused that the Alters ALTMEMPHY called mem_clk_p mem_clk without the p. 

 

I have also got the memory running with Microtronix licensed DDR2 controller IP. Just confused why I could not get it going with the ALTMEMPHY controller. Especially as a number of other people on this forum have used the same memory chip successfully with ALTMEMPHY 

 

Neil
0 Kudos
Altera_Forum
Honored Contributor II
231 Views

Probably You set it up wrongly. Post some screenshots of component properties.

0 Kudos
Altera_Forum
Honored Contributor II
231 Views

Yes thats a distinct possibility its not an easy science setting up all those parameters correct. I started with a micron MT47H32M16CC-3 to get in the right ball park and then adjusted the parameters to the micron datasheet. 

 

I have attached the setup screenshots 

 

I left the Board settings and Controller settings pages at the defaults as they seem a bit of a black art 

 

Thanks again for your help 

 

Neil
0 Kudos
Altera_Forum
Honored Contributor II
231 Views

Are You running Nios using ddr2 memory clk? It should be 125MHz then. I'd offer to try half rate bridge (this will require double the burst length, so do it) and test the system.

0 Kudos
Altera_Forum
Honored Contributor II
231 Views

Hi Socrates 

 

Thanks for the advice I set it to half rate as you suggested and it all burst into life. I need to check now will my NIOS CPU be running at 125 MHz or 62.5MHz ( I am using the sysclk out of the ALTMEMPY to clock the system) 

 

If you could explain why you have to use half rate or point me to some online literature I would be very gratefull 

 

Still a great end to the year with a working design:D 

 

Thanks again 

 

Neil
0 Kudos
Altera_Forum
Honored Contributor II
231 Views

Damn database error! Written a looong answer before :/ Ok shorted version: 

Available options: 

1) Leave full rate (125MHz) and provide perfect timing constraints, because Nios above 100MHz can't run correctly. 

2) Leave full rate, but add pipeline bridge and connect all peripherals to that bridge. 

3) Use it as it is now with half rate bridge at 62.5MHz. 

 

As I said - Nios clocked above 100MHz must have perfect timing constrains.
0 Kudos
Reply