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

How to configure DDR3 and calculate parameters of DDR3 controller with uniphy?

Altera_Forum
Honored Contributor II
2,434 Views

Hi everyone! 

I'm implementing a nios2 system to use DDR3 on tratix V DSP Development Kit using Qsys. But I don't know how to configure DDR3 controller with uniphy, caculate board setting parameters include setup and hold derating, board skew? can anyone help me? Thanks!
0 Kudos
8 Replies
Altera_Forum
Honored Contributor II
943 Views

I think board settings should be provided by Board vendor, they know the board Specifications like trace delays ... ...

0 Kudos
Altera_Forum
Honored Contributor II
943 Views

There will be a model, for the DDR3 part used on that development board, listed in the 'Presets' panel on the right hand side of the UniPHY settings window. Select the part used from that list and it will populate all the fields for you. The part used on the development board will be listed in the user guide that came with the board.

0 Kudos
Altera_Forum
Honored Contributor II
943 Views

 

--- Quote Start ---  

There will be a model, for the DDR3 part used on that development board, listed in the 'Presets' panel on the right hand side of the UniPHY settings window. Select the part used from that list and it will populate all the fields for you. The part used on the development board will be listed in the user guide that came with the board. 

--- Quote End ---  

 

 

thank your answer, but tratix V DSP Development Kit use MT41J128M16HA-125 DDR3 and MT41J128M8JP-125 DDR3 of Micron, they are not in list the "Presets", so I think I will configure and caculate board setting parameters include setup and hold derating, board skew. But I don't know how to do it now?
0 Kudos
Altera_Forum
Honored Contributor II
943 Views

In the kit that came with the board are a number of options. If you don't have the kit you can download it from: 

http://www.altera.com/products/devkits/altera/kit-stratix-v-dsp.html (http://www.altera.com/products/devkits/altera/kit-stratix-v-dsp.html

 

Within that kit there is an 'SI document' that discusses specifics of the board implementation although, I admit, it doesn't appear to specify the board trace delays. 

 

There is also a board file (s5_pcie_devkit_revc.brd) from which you could extract exact trace delays. However, you need an Allegro license which, perhaps, you don't have. 

 

So, the best option is to open one of the design examples. In the 'examples' directory there is a 'ddr3x72' project in the 'memory' folder. Unzip it and open it in Quartus. Run Qsys and open 'ddr3_x72_qsys.qsys'. You can now explore the 'mem_if_ddr3_emif_0' component and all the settings Altera used for the memory Phy and board. This should provide you with the settings you need to get your project up and running. 

 

Regards, 

Alex
0 Kudos
Altera_Forum
Honored Contributor II
943 Views

 

--- Quote Start ---  

In the kit that came with the board are a number of options. If you don't have the kit you can download it from: 

http://www.altera.com/products/devkits/altera/kit-stratix-v-dsp.html (http://www.altera.com/products/devkits/altera/kit-stratix-v-dsp.html

 

Within that kit there is an 'SI document' that discusses specifics of the board implementation although, I admit, it doesn't appear to specify the board trace delays. 

 

There is also a board file (s5_pcie_devkit_revc.brd) from which you could extract exact trace delays. However, you need an Allegro license which, perhaps, you don't have. 

 

So, the best option is to open one of the design examples. In the 'examples' directory there is a 'ddr3x72' project in the 'memory' folder. Unzip it and open it in Quartus. Run Qsys and open 'ddr3_x72_qsys.qsys'. You can now explore the 'mem_if_ddr3_emif_0' component and all the settings Altera used for the memory Phy and board. This should provide you with the settings you need to get your project up and running. 

 

Regards, 

Alex 

--- Quote End ---  

 

 

Thank your answer, I have refered the 'ddr3x72' project and configured the parameters as it. But I don't know why DDR3 still don't run. when I access in DDR3, the programming is suspended. if I remove the code write/read to/frome DDR3, the programming normal runs. I think, the DDR3 still have not been active yet.
0 Kudos
Altera_Forum
Honored Contributor II
943 Views

Hi, 

 

You should check the clock of your ddr3 controller, 

Most of time the problem stems from the clock. 

Check especially that you have connected the right oscillator for the ddr3 pll clock input. 

 

regards,
0 Kudos
Altera_Forum
Honored Contributor II
943 Views

 

--- Quote Start ---  

Hi, 

 

You should check the clock of your ddr3 controller, 

Most of time the problem stems from the clock. 

Check especially that you have connected the right oscillator for the ddr3 pll clock input. 

 

regards, 

--- Quote End ---  

 

 

 

Thank for your answer, I have solved the issue.
0 Kudos
Altera_Forum
Honored Contributor II
943 Views
0 Kudos
Reply