Company Events Academic NI Developer Zone Support Solutions Products & Services Contact NI MyNI

General FPGA FIFO Properties Page

LabVIEW 8.6 FPGA Module Help
June 2008

NI Part Number:
371599D-01

»View Product Info

Installed With: FPGA Module

In the FPGA FIFO Properties dialog box, select General from the Category list to display this page.

Use this page to edit properties for FIFOs.

This page includes the following components:

  • Name—Specifies the name of the FIFO that appears in the Project Explorer window or in the VI-Scoped FIFO Configuration node. The name also appears in the FIFO Read or FIFO Write function on the block diagram.
  • Type—Specifies the type of FIFO you use. Select Target-Scoped if you want to use a FIFO to transfer data within the FPGA VI. Select Host to Target - DMA or Target to Host - DMA if you want to use a DMA FIFO to transfer data between the host VI and target. This option is not available for VI-scoped FIFOs.
  • Data Type—Specifies the data type of the data that is stored in the FIFO. You can select a fixed-point data type, a Boolean data type, or an 8-, 16-, 32-, or 64-bit signed or unsigned integer data type. If you select a fixed-point data type, you can configure the data type in the Fixed-Point Configuration section.
  • Number of Elements—Specifies the number of elements the FIFO can hold. The maximum number of elements the FIFO can hold depends on the Implementation you select and the amount of space available on the FPGA for the Implementation. If the FPGA does not have enough space for the Number of Elements you enter, the FPGA VI fails to compile and an error message appears. If you select DMA - Host to Target or DMA - Target to Host in the Type pull-down menu, Number of Elements specifies the size of the FPGA part of the DMA FIFO.

    If you select an Implementation of Block Memory, the following restrictions apply to the Number of Elements the FIFO can hold:
    • Target-scoped FIFOs—You can use a size that is a power of two plus a small buffer of elements. The buffer might fill completely or fill only partially, which leaves the FIFO size between two and four elements larger than a power of two. The General FPGA FIFO Properties page displays the maximum size of 2^M+4, where M is the address width. LabVIEW coerces Number of Elements to the next value that is 2^M+4. If the FPGA does not have enough space for the coerced Number of Elements, the FPGA VI fails to compile.
    • DMA FIFOs—You can use a size that is one less than a power of two. The General FPGA FIFO Properties page displays the maximum size of 2^M–1, where M is the address width. LabVIEW coerces Number of Elements to the next value that is 2^M–1. If the FPGA does not have enough space for the coerced Number of Elements, the FPGA VI fails to compile.
  • Implementation—Specifies the type of storage the FIFO uses on the FPGA. This option is available only for target-scoped and VI-scoped FIFOs. Contains the following options:
    • Flip-Flops—Stores the data in flip-flops available on the FPGA and provides the fastest performance. National Instruments recommends using this option for small FIFOs, up to 100 bytes.
      Note  You cannot use FIFOs with an Implementation of Flip-Flops or Look-Up Table across multiple clock domains.
    • Look-Up Table—Stores the data in look-up tables available on the FPGA. National Instruments recommends using this option for FIFOs that are 100–300 bytes.
      Note  You cannot use FIFOs with an Implementation of Flip-Flops or Look-Up Table across multiple clock domains.
    • Block Memory—Stores the data using embedded blocks of memory. National Instruments recommends using this option for FIFOs larger than 300 bytes.
      Note  If you select the Block Memory option, you might not be able to read data in a target-scoped FIFO or VI-scoped FIFO until up to six clock cycles after you write the data to the FIFO. Use the Timed Out? output of the FIFO Read or FIFO Write function to determine when the data is ready.
  • Fixed-Point Configuration—Sets the configuration settings for fixed-point data. Set Data Type to FXP to enable the fixed-point settings. You can configure either Encoding or Range settings. If you configure Encoding settings, LabVIEW updates the Range settings to fit the specified encoding. If you configure Range settings, LabVIEW updates the Encoding settings to fit the specified range. If you edit both Encoding and Range settings, the last settings you edit before clicking the OK button are the settings that LabVIEW uses for the fixed-point data.
    Note  FIFOs do not support overflow for the fixed-point data type.
    • Encoding—Sets the binary encoding settings for a fixed-point value.
      • Signed—Sets whether the fixed-point value is signed.
      • Unsigned—Sets whether the fixed-point value is unsigned.
      • Word length—Sets the number of bits that LabVIEW uses to represent all the possible fixed-point values.
      • Integer word length—Sets the number of integer bits, or the number of bits to shift the binary point to reach the most significant bit, for all the possible fixed-point values. Integer word length can be positive or negative.
    • Range—Sets the desired range for a fixed-point value.
      Note  The fields you use to specify these values display the values in double-precision floating-point representation, so the precision of the display at Maximum, Minimum, and Desired delta might not be exact in terms of fixed-point representation.
      • Minimum—Sets the minimum value for the fixed-point data range.
      • Maximum—Sets the maximum value for the fixed-point data range.
      • Desired delta—Specifies the maximum distance between any two sequential numbers in the fixed-point data range.

Resources


 

Your Feedback! poor Poor  |  Excellent excellent   Yes No
 Document Quality? 
 Answered Your Question? 
Add Comments 1 2 3 4 5 submit