Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
21615 Discussions

LVDS input Clock Pin

Altera_Forum
Honored Contributor II
2,124 Views

Hi, 

 

I'm using an ADC AFE5808 from TI with LVDS output. 

 

I use a Cyclone IV EP4CE75F23I8L and the mega function Altlvds_rx. 

I configure the rx_inclock pin ADC_CLK_D_P as LVDS pin with his differential Pair ADC_CLK_D_N on pin planner. 

 

My problem is I got the Error :  

 

Error (176554): Can't place PLL "altlvds_ADC:inst|altlvds_rx:ALTLVDS_RX_component|altlvds_ADC_lvds_rx:auto_generated|lvds_rx_pll" -- I/O pin ADC_CLK_D_P (port type INCLK of the PLL) is assigned to a location which is not connected to port type INCLK of any PLL on the device 

 

Any idea to solve it?
0 Kudos
8 Replies
Altera_Forum
Honored Contributor II
887 Views

ADC_CLK_D_PO has to be on a dedicated clock pin. Where do you have it assigned? Does it work if you let it float?

0 Kudos
Altera_Forum
Honored Contributor II
887 Views

It's a Clock in LVDS. It's on a DIFFIO pin (P & N, so two pin). I didn't find DIFFIO clock pin!? 

 

Without this it said : missing source signal.
0 Kudos
Altera_Forum
Honored Contributor II
887 Views

Do you have a location assignment on that input port? The altlvds instantiates a PLL, and there are dedicated clock portsthat must be used to drive the PLLs, i.e. it can't be any LVDS input location. If you do have it assigned, just disable that assignment and see if it fits, i.e. if Quartus can find a valid location. If so, then you need to find one that matches your board layout.

0 Kudos
Altera_Forum
Honored Contributor II
887 Views

Ok so our board has a problem... Our LVDS clock is not routed on a DIFFCLK pin. 

 

With the assignment disable, the compilation run without error. 

 

Thanks for the help.
0 Kudos
Altera_Forum
Honored Contributor II
887 Views

Or can I use the altddio_in to read the ADC? (it accept my LVDS DIFFIO clock as inclock).

0 Kudos
Altera_Forum
Honored Contributor II
887 Views

Assuming your DCLK (coming from the ADC) goes to a (C)DPCLK pin, using altddio_in is a perfect way to do this. The DCLK is 90 degrees in respect to the data and the frame signal, so you don't need a PLL. Quartus II might have a hard time fitting it in a Cyclone IV speed-grade 8L when running the ADC at the higher frequencies, esp. 65 MHz.

0 Kudos
Altera_Forum
Honored Contributor II
887 Views

Is the clock rate 65MHz? That might be do-able without a PLL. The altlvds automatically adds a PLL, which requires a dedicated clock pin. If you instantiate the altddio_in megafunctions, you can drive those directly. On alterawiki.com I have a document on source-synchronous timing: 

http://www.alterawiki.com/wiki/source_synchronous_analysis_with_timequest 

There are some basic sample designs you can use, although you'll need to remove the PLL. There are even some TI examples.
0 Kudos
Altera_Forum
Honored Contributor II
887 Views

At 65 MHz input clock the ADC generates a 445 MHz output clock with only 240 ps setup and hold time on it DDR data output signals.

0 Kudos
Reply