--- Quote Start ---
thanks for the answer. rarely people these days have a will to give knowledge to others.
--- Quote End ---
This list is pretty good in that respect :)
--- Quote Start ---
no pcb is not yet designed. yeah..
--- Quote End ---
Excellent. I'm glad to hear that you have enough "experience" to realize that you should synthesize a few designs prior to PCB layout.
--- Quote Start ---
i also noticed that there are specific REFCLK pins on cyclone v and each pin has access to 2 corner plls simultaneously; one for top 2 corner plls and another for bottom 2 corner plls and buffer you mentioned is a good way around. otherwise the clocks will reach REFCLK pins with different propagation delays and will have a phase shift in relation to each other. OR, if i place a crystal oscillator exactly on the middle line of cyclone v; at right or left side ; and use exactly same length traces in this case they will reach REFCLK -s with similar propagation delays and should have no phase shift between each other... well... or i should place a clock buffer and distribute clock to REFCLK-s from there.
--- Quote End ---
SiLabs and Texas Instruments have programmable clock buffers, i.e., devices that can have one or more input references signals, and can generate one or more output signals. Take a look at some of the Terasic/Altera reference boards to see what they use, and then look on the SiLabs or TI web sites. There are several parts that can be programmed via I2C. The main thing to consider is the jitter generated by these devices. Some are capable of generating the reference clock for 10Gbps signals, so for your LVDS application there should be several parts that work fine. Use one or more of the external clock buffer devices and route pins from each buffer to both sides of the device. With two devices, you then have the option of different REFCLK frequencies, but still can have coherent clocks on both sides of the FPGA.
--- Quote Start ---
another way i guess is to drive clock to these 2 REFCLK - s right from the crystal oscillator, with different trace lengths; then analyze phase difference of the arrival of clocks to the REFCLK-s. and use pll phase shift ability to align pll output clocks to each other and with the incoming clock phase. only limitation here is the fact that phase shift control will not let you to have any value of phase shift. it has fixed increments as i remember. 1.5 degrees or something like this. i am talking too much i know :) but it is so easy to get lost in these things. when i'll get that i was trying to prove a foolishness it will be too late.
--- Quote End ---
The PLLs can shift phase in 1/8th of the VCO steps. With say a 1GHz VCO, that is 1ns/8 = 125ps. I'd argue that your PCB design should such that you get it routed first, and then decide whether or not you want to match traces. Given the fact that the clocks need to route to both sides of the FPGA, there's a pretty good chance you'll have closely matched traces without trying too hard.
--- Quote Start ---
one more small question, i tried to use tx pin as an rx. as i remember emulated lvds had an ability to use tx pin as a receiver. but here in cyclone v i can't find a way to switch pins to emulated lvds. they are kinda all fixed true lvds -es with OCT -s in it. cyclone iv had set of banks with emulated lvds pins. cyclone v has only true lvds es...
--- Quote End ---
I don't have an answer for this one. I would do exactly as you are doing and see if Quartus supports it. If it doesn't, then I'd have a look at the handbook and pin configuration guidelines and see if they have comments on the support for emulated LVDS. There's probably an app note that discusses it too.
Cheers,
Dave