Post received from Alan via email:
--- Quote Start ---
What is the signal you are sampling at 1GHz? Is it an analog signal that needs a multi-bit ADC, or is it a signal that can be run through a high-speed comparator, and then that comparator output sampled?
You will face two issues with your external signal; you have to make it compatible with the digital FPGA pins, you have to synchronize it to the FPGA clock domain.
--- Quote End ---
Wow, I don't know FPGA can receive analog signal now!!!
In my project,the analog signal of each of the 16 channel is from a photomultiplier. The output pulse is analog with width of about 1nS and about 1mV amplitude. I am planning to have two opamp with gain of 10 each to amplify to about 100mV peak before driving a comparator to generate a digital pulse to drive the input of the FPGA. The pulses are TOTALLY asynchronous to the 1GHz internal clock. That's the reason I need shift registers in front to synchronize the random pulse to the internal clock.
You mean you have analog circuit inside the FPGA? Any chance to have amplifiers?
--- Quote Start ---
No, its not simple. You have 16 different channels in 16 potentially different clock domains that you want to compare ...
But what about metastability? Does it matter if 16 FPGA registers sampling that same signal at 1GHz actually generate a change in logic state 1 clock apart due to metastability?
--- Quote End ---
If metastability ONLY lasting 1 clock cycle, it will not be an issue. There are other uncertainties with counting pulses from photomultipliers. There is an at least 1:5 pulse height distribution of the output pulse, meaning one pulse can be as low as 0.2mV and the second can be as high as 1mV!!! So everything is a guessing. that's the reason we sum the total pulses in 5uS period and compare with the other 5us period.
If the metastable state last multiple clock period, then I will have a problem. metastable for one clock period will not cause problem.
--- Quote Start ---
contains an e2v 8-bit 1GHz ADC. This is what would be needed if your external signal was really "analog" and you had to look for a signal buried in noise, eg., a radar return pulse.
--- Quote End ---
You can have ADC in FPGA now?
--- Quote Start ---
The FPGA on this board is the Stratix II. Altera has Stratix V devices now.
The features you can exploit on the FPGA are; the LVDS receivers operating at 1GHz, or the high-speed SERDES channel receivers operated in lock-to-refclk mode, so that the receivers are synchronously sampling. The SERDES might be a good option if you wanted to oversample the external signal, eg., operate at 4Gbps to sample the signal at 4GHz, and then use logic to detect the pulse and maybe decimate the sample stream. For both of these cases, your external signal needs to be converted to differential format with an amplitude of around 350mVpp to 400mVpp.
You could also use an external high-speed comparator and SERDES. In-Phi used to have a part with a 12Gbps comparator followed by a SERDES.
Cheers,
Dave
--- Quote End ---
Thanks Dave for the detail reply. This is totally new to me, I don't recall I can have analog input 10 years ago, basically FPGA were used in totally digital domain. does Stratix V have analog inputs?
I am not familiar with SERDES, what is In-Phi? Does SERDES have logic block that I can implement the coincident detector and adder?
Again, thanks for taking the time to educate me, it would take me a lot of reading to catch and I don't have time. I am trying to pick the closer ones, then spend the time to read the datasheet.
Alan