Real-Time Measurement and Control

cancel
Showing results for 
Search instead for 
Did you mean: 

9103 FPGA Buffer Size

Due to the known bottleneck between FPGA and cRIO-RT, I will need to buffer data on the FPGA and do my acquisition in bursts instead of continuous. How many FIFO's can I use in block mode? Can I use 8 FIFO's, I32's, 65535 deep? If not, what's the limit? I want to create the biggest FIFO possible on the FPGA. Methods?
 
Thanks,
Derek
0 Kudos
Message 1 of 4
(3,832 Views)
Hello Derek!
 
When you select Block Memory as the storage method, the FIFO uses the available embedded RAM of your RIO device to store the information. If you have a cRIO-9103/9104, the maximum size will be 196,608 bytes. This space is also shared with the memory that you can access with the Memory Read and Memory Write functions. So, if you have an FPGA VI that implements a block memory FIFO and Memory Read/Write, each structure will be independent of each other, but the maximum size for the FIFO will be the available embedded RAM minus 16 kilobytes. 
 
Therefore 8 FIFOs at 65535 depth using I32s would use 2097120 bytes which is an order of magnitude bigger then the avialible memory.  Let me know if there is anymore information I can provide you with.  Have a great day!
 
Allan S.
National Instruments
0 Kudos
Message 2 of 4
(3,826 Views)

Thank you for the information.

Is there any other buffering techniques I can us to get more storage? Can I use FIFO flip-flops? If so, how deep?

 

Thanks,

Derek

0 Kudos
Message 3 of 4
(3,825 Views)

Hello Derek!

The limiting factor is the memory on the controller.  Here is information on lookup tables and flip flips in FIFOs...

  • Flip-Flops: Stores the data with standard flip-flops. This option stores the data using gates on the FPGA. Use this option for small FIFOs, up to 100 bytes.
  • Look-Up Table: Stores the data in a look-up table available on the FPGA. Use this option for FIFOs between 100 and 300 bytes in size.
  • Block Memory: Stores the data using embedded blocks of memory. Use this option for FIFOs larger than 300 bytes.
  •  
    Hope this helps.  Have a great day!
     
    Allan S.
    National Instruments
    0 Kudos
    Message 4 of 4
    (3,814 Views)