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

EMIF core clock sharing problem

Altera_Forum
Honored Contributor II
1,306 Views

Hi, 

 

I'm trying to connect two EMIF QDRII controlers with shared clock on arria 10 (hard PHY and Soft Controller). I had generated EMIF slave component and connected it "clks_sharing_slave_in" to EMIF master "clks_sharing_master_out" (EMIFs handbook page 161 https://www.altera.com/content/dam/altera-www/global/en_us/pdfs/literature/hb/external-memory/emi_ip.pdf). Slave EMIFs doesnt have pll_ref_clk port, but during compilation i have an error(QDRIIA is master, QDRIIB is slave): 

 

Error (16301): IOPLL reference clock is not connected to a clock pin 

Info (16302): PLL: QDRII_550_B:QDRIIB|QDRII_550_B_altera_emif_170_c43qfqa:ddr3_inst|QDRII_550_B_altera_emif_arch_nf_170_glubjcy:arch|QDRII_550_B_altera_emif_arch_nf_170_glubjcy_top:arch_inst|altera_emif_arch_nf_pll:pll_inst|pll_inst 

 

what i am missing?  

 

Best regards, 

Lukas Krupa
0 Kudos
3 Replies
Altera_Forum
Honored Contributor II
362 Views

The documentation is confusing. This paragraph at the bottom of page 161 says that core clock sharing "necessitates" PLL reference clock sharing: 

 

"Core clock sharing necessitates PLL reference clock sharing; therefore, only the 

master interface exposes an input port for the PLL reference clock. All slave interfaces 

use the same PLL reference clock signal." 

 

And this section near the top of page 161 that describes PLL reference clock sharing says this: 

 

"To implement PLL reference clock sharing, open your RTL and connect the PLL 

reference clock signal at your design's top-level to the PLL reference clock port of 

multiple interfaces." 

 

So if core clock sharing "necessitates" PLL reference clock sharing then why do the slaves not expose the reference clock port? From the error message it seems pretty clear that the slaves do need a reference clock. I recommend opening a service request with Intel to get some clarification. Or maybe you'll get lucky and get a response here.
0 Kudos
Altera_Forum
Honored Contributor II
362 Views

The confusion here is between the external reference clock and the core clock used for the multiple interfaces. First of all, I'm assuming the two interfaces are in the same I/O column and placed adjacent to each other. Indeed, the external reference clock, must be connected to both interfaces in your RTL. If the interfaces are not adjacent to each other or if intermediate banks are used for extra EMIF lanes or address/control logic, the reference clock will automatically be connected to these intermediate banks. 

 

It sounds like you've set up the core clock master/slave connections correctly, so the issue may be that the two interfaces are not in the same column or that you've put something that uses a different clock in an intermediate I/O bank.
0 Kudos
Altera_Forum
Honored Contributor II
362 Views

In the newer QII version like 17.0. Once you turn on the core clock option, it will disable the pll_ref_clk pin for slave component. This mean the pll_ref_clk also will connect internally through the mater-slave connection. So, you will not see this type of conflict anymore. 

 

(This message was posted on behalf of Intel Corporation)
0 Kudos
Reply