Data Acquisition Using XEM3005

Hi folks,
I have very basic question regarding capability of XEM3005. I plan to use it for data acquisition of my DUT. My DUT streams out data at a rate defined by a data clock that the DUT also sends out. The data clock pattern is a square pulse train with a very low pulse width (~20us) and pulse spacing (~40us), however, the data clock can be off for a unknown period of time (say ~1ms). So the data clock and the data do not have a constant rate. As I understand (and verified), I can use the BRAM on the FPGA to acquired these data without any trouble. If I want take more than 10MB data, I need to use the SDRAM. Is there a problem if I stream these data into the 32MiB SDRAM at the data rate defined by the data clock? You answer is much appreciated.
Many, many thanks.

Sincerely,
Yida

Hello Yida–

First, since your data “clock” is slow with respect to typical FPGA operating frequencies and can be discontinuous (off for 1ms at a time), you probably already know that you should use it as a “strobe” and not really as a clock input to the FPGA.

You can effectively stream data into the SDRAM, but there are some details.

You will want to put incoming samples into a FIFO, then burst them into the SDRAM when the FIFO has a certain number available. You can use our example SDRAM controller to do this, but will need to create the FIFO separately. The RAMTester sample includes a FIFO, for example. Rather than connecting the FIFO to the PipeIn, you could connect it to your incoming data.