--- Quote Start ---
Hate to keep going around
--- Quote End ---
Its ok, try not to get frustrated :)
--- Quote Start ---
My basic questions are very basic and simple that can help me in choosing the device:
1) What is Reference clock vs data rate in the I/O
2) Max clock frequency of simple basic FF and register.
3) Tpd from clock to Q.
4) Ts data setup time on D input to rising edge of clock( without worrying about the programmable delay line).
5) Th data hold time of D input from rising edge of clock( without worrying about the programmable delay line).
6) Tpd of simple AND, OR, NAND, NOR gate.
7) Are the FF/registers synchronous reset or level reset.
8) Do the FF/registers have clock enable.
--- Quote End ---
The LVDS receiver deserializer blocks are hard-IP, i.e., they are built into the I/O elements of the FPGA. That is why they can run at 1Gbps, while the fabric operates at say 1:4 250MHz or 1:8 125MHz.
In FPGAs you do not perform manual timing analysis. There are just too many variables. You have to create a design in Quartus, apply timing constraints, such as the clock frequencies, and then use the TimeQuest tool to perform the timing analysis for you.
Quartus knows what the timing requirements are from the LVDS hard-IP to the FPGA fabric, so you just let it do its job.
--- Quote Start ---
As I said, I am no expert in FPGA programming. BUT I fixed enough problem left by the supposedly "FPGA engineer", people over threat programming FPGA like software programming. People seems to forget this is real hardware with wires, transistors. I had to fix FPGA programs in the pass written by some "FPGA engineers" on intermittent problems in the system that turn out to be the reset of the FF driven by combination logic. Totally ignore that these are really electrical signal that have propagation delay and can create glitches on the reset line during the transition of the input of the combination logic and reset the FF. This is such an obvious thing that the old school digital designer can spot in a seconds. Believe me, I caught multiple programs like this. fix these and the system became reliable. I can't help by vent the frustration in reading materials from Altera.
--- Quote End ---
Read the Quartus II handbook. Altera does try to provide recommended design procedures, eg., asynchronous reset assertion with synchronous deassertion. But alas, not everyone takes the time to read or learn from the older wiser engineers :)
--- Quote Start ---
Sorry to vent.,
--- Quote End ---
Don't sweat it. Just follow my recommendation.
Create an ALTLVDS_RX instance and get it to work. You can create one instance with an internal PLL, and then create another instance with an external PLL and separately instantiate the PLL. You could then use the ALTPLL_RECONFIG interface to sweep the phase of the PLL and do all sorts of things. Start out simple though, just get the ALTLVDS_RX to work. The example designs in the IP guide should be good enough to get started. If they are not, let me know, and I'll take a look and make a nicer one.
Cheers,
Dave