Altera_Forum
Honored Contributor
15 years agoDDR2 highperformance controller local_init_done, s_tracking_setup deadlock
Dear all,
I'm using DDR2 hp memctrl IP within Stratix III, addressing 2 parallel HYB18T1G160C2F-3S (totaling to 32-bit data bus width), phy_clk = 200 MHz I'm currently facing the issue, that local_init_done signal is not going high reliably (sometimes it does, sometimes it doesn't). I suspected something in the outputs (address, ba etc.) drive strength first, but increasing drive strength didn't help so far. When going a little into the initialisation process I found a state signal "s_tracking_setup" which stays forever (see ddr2Bad.jpg) where it goes on to "s_prep_customer_mr_setup" in the good case (ddr2Good.jpg). According to the external memory debugging manual (http://www.altera.com/literature/hb/external-memory/emi_debug_hw.pdf), during "s_tracking_setup" is the state for (internal?) voltage and temperature initial tracking setup is done, which I to my interpretation is a purely FPGA internal subblock. I've seen a dependance on FPGA temperature (initialisation fails more often when FPGA gets warm/hot). What could go wrong here? Is this dependant of external (memory, PCB) timing, too (I wouldn't expect)? Any hint what other DDR2 HP CTRL internal signals to observe to find out more? Has anybody experienced similar behaviour? What parameters could be wrong? Thanks for any hint! Regards, Peter P.S.: In the good case, I see current consumption, which is higher than expected/estimated with the noted frequency. I know that FPGA @ 200 Mhz uses some power, too, but still uses 30-50% more than expected... ...could there be a relation?