Forum Discussion

ScottHu2021's avatar
ScottHu2021
Icon for New Contributor rankNew Contributor
4 years ago

Instantiation of DDR3 SDRAM Controller with UniPHY intel FPGA IP

Dear,

We are develop an application with FPGA 5CEFA5F23C8 based on Quartus Prime Standard 18.1. One problem occurred during instantiating DDR3 controller IP core:

Our external memory is a DDR3 with clock frequency 300M. In the system design, we have an PLL with 25M input clock which derives a 100M clock.

The "PHY settings" of the DDR3 controller instantiation is as following:

1. Memory clock frequency: 300M;

2. PLL reference clock frequency: 100M;

And in the top entity, we create an instance of DDR3 controller as following:

ddrc ddrc_u
(
.pll_ref_clk ( clk _100M),
.global_reset_n ( pll_lock ),
.soft_reset_n ( pll_ddr_lock ),
.afi_clk ( afi_clk ),
.afi_half_clk ( ),
afi_reset_n ( afi_reset_n ),

...

}

we find that the DDR reading/writing can not work. But with the following change:

change the DDR3 controller's PLL reference clock from 100M to 25M.

The DDR reading/writing will work well.

So, what's the problem? Can not the PLL reference clock of the DDR controller be a PLL derived clock? Another question is: Is there a minimum limit of the PLL reference clock frequency for the memory driven by a clock with a specified frequency?

Thanks!

Scott

15 Replies