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

EMIF Cyclone 10 GX: emif_usr_clk frequency incorrect

Schroeti
New Contributor I
1,443 Views

Hi,

i've instantiated the EMIF IP core to connect to a DDR3 SODIMM memory on a customer board. The EMIF is fed by a configurable clock generator. Some information:

- pll_ref_clk frequency: 100MHz

- memory clock frequency: 800MHz

- clock rate of user logic: quarter

- Quartus prime pro; version 20.3

Everything works fine, except one thing:
The timing analyzer reports a emif_usr_clk frequency of 100MHz while this is actually 200MHz (measured with oscilloscope).

Then I compiled the design with different pll_ref_clk settings with following reported results:
pll_ref_clk frequency - usr_clk frequency
50MHz - 200MHz
100MHz - 100MHz
200MHz - 50MHz

Strange. My understanding is, that the user clock only depends on the memory clock.

I'm afraid this wrong frequency affects synthesis and fitting results badly.
How can i fix this?

0 Kudos
1 Solution
yoichiK_intel
Employee
1,395 Views

In the top.sdc you are setting pll reference clock as 50Mhz and this causes the incorrect emif_usr_clk frequency.  Please remove the following constraint from sdc then you should see the correct clock frequency in the report.   The pll reference clock frequency is defined in the IP sdc.

 

create_clock -name {clk_emif} -period 20.0 [get_ports {emif_clk_clk}]

View solution in original post

6 Replies
yoichiK_intel
Employee
1,428 Views

Hi

 

If your memory clock is 800Mhz and quarter rate for user logic is chosen emif_usr_clk frequency should be 200Mhz.

Can you attach your QAR design in this forum ?

0 Kudos
Schroeti
New Contributor I
1,423 Views

Here it is.

0 Kudos
yoichiK_intel
Employee
1,409 Views

Hi 

When I compile the design I see the emif_usr_clk is reported as 200Mhz in the clocks GUI. Can you confirm ?

0 Kudos
Schroeti
New Contributor I
1,399 Views

Yes, exactly as I logged. Sorry, I forgot to change the reference clock back away from 50MHz before generating the qar.

Would you please set the emif pll reference clock to 200MHz, then you should see the effect.

0 Kudos
yoichiK_intel
Employee
1,396 Views

In the top.sdc you are setting pll reference clock as 50Mhz and this causes the incorrect emif_usr_clk frequency.  Please remove the following constraint from sdc then you should see the correct clock frequency in the report.   The pll reference clock frequency is defined in the IP sdc.

 

create_clock -name {clk_emif} -period 20.0 [get_ports {emif_clk_clk}]

Schroeti
New Contributor I
1,392 Views
0 Kudos
Reply