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

HOW CAN I FIX MY DDR_CALIB_FAIL ?

VCola1
Beginner
678 Views

Hi,

 

I was trying to use DDR3 with Uniphy on Cyclone V GT Develpoment Board for my design. The DDR3 model is Micron's MT41K128M16JT-125.

 

When I made a simple controller on avalon and test design for DDR3 which includes a pll with 1 in_clk and 1 out_clk, there was no problem. (Shown on figure)

 

But when I pluged-in this controller to my design which includes a pll with 1 in and 3 out clocks, i got calib_fail. (Shown on figure)

 

(There are fifos to save data between cross clock domains

 

What can be the problem and its workaround?

 

Best, 

 

Veysel.

 

0 Kudos
5 Replies
Deshi_Intel
Moderator
527 Views

HI,

 

Thanks for providing detail diagram drawing. This is good in analyzing issue debug.

 

FYI... DDR3 calibration only rely on operation between UNIPHY IP and on board DDR3 SDRAM.

  • The rest of your user design logic won't affect DDR3 calibration operation.
  • Your own user logic design only matter on DDR3 actual write/read operation that happened once DDR3 calibration is passed

 

Therefore, I suspect DDR3 calibration failure could be due to either

  • FPGA IOPLL clocking is not clean (too jittery) as you are now using single PLL to clock multiple design block. For debug sake, you can try to use another additional PLL to clock your own user logic. See if it makes any difference
  • Another possibility is maybe something screw up during your Quartus design integration. You may want to cross check with original passing design to see if there is any mess up on UNIPHY IP setting (try regenerate the IP again), UNIPHY DDR3 connection on top level design and also verify DDR3 IO setting in Quartus *.qsf file.

 

Thanks.

 

Regards,

dlim

0 Kudos
VCola1
Beginner
527 Views

Hi,

 

Firstly, thank you for your attenition.

 

I have tried the configuration on scheme, but it didn't work.

 

I'm also adding the screenshots of DDR settings.

 

Best,

 

Veysel.

 

0 Kudos
VCola1
Beginner
527 Views
posted a file.
0 Kudos
Deshi_Intel
Moderator
527 Views

Hi Veysel,

 

I am not worry about the DDR3 setting now as you used the same DDR3 setting and it passed calibration in original design, right ?

 

Your goal now is to take the calibration failing design and gradually remove additional design block one by one to make it more alike to original passing design.

 

Then eventually you will figure out which part of the design is causing the problem here.

 

Regards,

dlim

0 Kudos
Deshi_Intel
Moderator
527 Views

Hi Veysel,

 

I have not hear back from you for 2 months. Hopefully my debug suggestion help out and you are able to make progress with your project.

 

For now, I am setting this case to closure.

 

Thanks.

 

Regards,

dlim

 

0 Kudos
Reply