FPGA Correlator for Applications in Embedded Smart Devices

Christopher Moore, a BME sophomore published his first research paper “FPGA Correlator for Applications in Embedded Smart Devices”. His work was supported by the URECA summer research program at Stony Brook University.

The FPGA correlator is the key component in the diffuse correlation spectroscopy, dynamic light scattering and fluorescent correlation spectroscopy. Our FPGA correlator is unique compared to other published correlator design. The modular approach makes the design highly flexible. The basic building block of the correlator is the single lag correlator module. It can be used to build linear or multi-tau correlators with any number of correlation lags. The connections of the modules are direct, and no additional circuitry is needed. The data flow between modules is regulated by the handshake signals: ND for the input data and Rdy for the output data. The design is compatible with the non-blocking mode of the Xilinx IP modules available through the Vivado suite, which simplifies the connections of FPGA modules in a pipelined design for parallel processing. The EOD signal indicates the last data point for the correlation.

Figure 1. FPGA multi-tau correlator in an embedded diffuse correlation spectroscopy device using a microprocessor

The FPGA correlator can be easily integrated into the DCS, DLS, and FCS by inserting it between the Avalanche Photon Detector (APD) and the microprocessor. Figure 1  is the illustration of the sensing and analysis component of an embedded DCS design using an FPGA multi-tau correlator with a microprocessor. The APD outputs the pulses of the detected photons, which are counted by the photon counter module within a preset time window, e.g., 200 ns or 5 Ms/s sampling rate. At the end of each time window, the photon counts are output at the count port and sent to the Ain and Bin ports of the multi-tau correlator for computation of the autocorrelation. At the same time, the end of the time window triggers the Rdy signal, which is connected to the ND input of the multi-tau correlator. The EOD pulse is generated when the preset number of data points is reached. The output data from the correlator are sent to memory through the AXI DMA module by Xilinx. The processor can then start processing the correlation values in the memory for the blood flow index.

For more information, please read the paper (https://doi.org/10.3390/bios12040236).