S
Syed Huq
Guest
Hi,
I've been trying to implement a certain logic where I'm trying to store the samples from an ADC specifically the LM97600. The ADC is interfaced to a Virtex-5 FPGA and connected through 10-high speed LVDS lanes. The Virtex-5 FPGA uses GTX Transceivers to receive the sampled data from the ADC.
I'm trying to store the data samples on a trigger signal but I'm having a hard time calculating the delay and storing the data samples.
I'm storing the data samples on the internal memory of the FPGA using a BRAM. For now, I'm just trying to get a simple trigger to work where the signal is stored on the arrival of a trigger.
The signal is basically a very short pulse with a rise and fall time of 2.5 ns with a pulse width of 4 ns. This pulse is generated using a signal generator and split into two with one going to the ADC and another going through a comparator to generate the trigger signal. I used a scope to calculate the arrival times and the trigger signal arrives around 1.2us later to the FPGA I/O than the pulse arrives at the input of the ADC. I'm not exactly sure the propagation delay involved in the ADC sampling, and the delay in the SERDES receiver. The data is also remapped from 10 lane to 8-bit data before arriving at the memory.
Since the memory I'm using in the FPGA is pretty small 256 bits x 8192 , I'm not exactly sure how to go about calculating all the delays and ensuring that the pulse is captured exactly when the trigger goes high.
I've been trying to implement a certain logic where I'm trying to store the samples from an ADC specifically the LM97600. The ADC is interfaced to a Virtex-5 FPGA and connected through 10-high speed LVDS lanes. The Virtex-5 FPGA uses GTX Transceivers to receive the sampled data from the ADC.
I'm trying to store the data samples on a trigger signal but I'm having a hard time calculating the delay and storing the data samples.
I'm storing the data samples on the internal memory of the FPGA using a BRAM. For now, I'm just trying to get a simple trigger to work where the signal is stored on the arrival of a trigger.
The signal is basically a very short pulse with a rise and fall time of 2.5 ns with a pulse width of 4 ns. This pulse is generated using a signal generator and split into two with one going to the ADC and another going through a comparator to generate the trigger signal. I used a scope to calculate the arrival times and the trigger signal arrives around 1.2us later to the FPGA I/O than the pulse arrives at the input of the ADC. I'm not exactly sure the propagation delay involved in the ADC sampling, and the delay in the SERDES receiver. The data is also remapped from 10 lane to 8-bit data before arriving at the memory.
Since the memory I'm using in the FPGA is pretty small 256 bits x 8192 , I'm not exactly sure how to go about calculating all the delays and ensuring that the pulse is captured exactly when the trigger goes high.