LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

LabVIEW FPGA BRAM clearing...

Hi,

 

I am using a PXIe-5774 FPGA to calculate an fft from AI0 data, average 10000 of those (by adding the new fft to the previous sum that is read from bram and writing it back to the same bram) and send this result to host (I am triggering the fft formation at 10 kHz so a sample should be ready in about every second.) I noticed though that when I run this code on the FPGA target through my host vi, there is some odd behavior. Firstly it sends me the same exact fft every time (it is the same even though I change the input) Secondly; I noticed that when I rerun the program, the fpga sends me the first fft that I calculated on my first run of the bitfile. That means that the bram which I use to store the fft is not being cleared, right? If I run some other bitfile that uses bram on the implementation, I can reset the bram and calculate a new one by running the fft bitfile again. 

 

Do I have to somehow clear the BRAM after every stream and every execution? Why can't the BRAM update after I have streamed the data once? Isn't the close fpga vi reference vi supposed to clear bram on fpga when I have it set to "Close and reset if last reference"?

 

I am using a 10-20 MHz sine wave as input. The FFT that is calculated is correct but streaming the data somehow locks the bram...

 

I have attached the target vi and host vi to the attachments and also the subvis that I am using...

The basecode has been taken from: Example Finder -> Hardware input and output -> Integrated IO -> Getting started

Below are screenshots of the most important parts of the VIs

I am running labview 2019 sp1

 

Thanks:

Aarni

 

FPGA vi:

 

IhmeKyselij_0-1686833169501.png

IhmeKyselij_1-1686833201050.png

 

HOST vi:

IhmeKyselij_2-1686833263831.png

 

IhmeKyselij_3-1686833283678.png

 

0 Kudos
Message 1 of 1
(594 Views)