Table Of Contents

Directed Optimization of FPGA VIs

Last Modified: August 8, 2018

Directed optimization of FPGA VIs allows you to notify the compiler that you want specific code to meet certain performance and resource criteria, also known as directives. The compiler then makes optimizations to try to meet the performance and resource directives you set. Algorithms are an example of code that you might want to reach a specific level of performance because of the nature of their calculations and the amount of data they are likely processing.

To indicate to the compiler that you want to optimize the code within an FPGA VI to meet performance and resource directives, select the library that contains the FPGA VI in SystemDesigner and enable the Optimized FPGA Library checkbox on the Item tab. You can only designate libraries for directed optimization.


Enabling Optimized FPGA Library optimizes every VI inside of the library.

The optimizations the compiler can make are directly affected by the code you want to optimize. Keep the following considerations in mind when creating Optimized FPGA VIs:

  • The editor changes in an effort to help you create code that is more easily optimized by the FPGA compiler.
    • You have access to a subset of G Dataflow nodes, primarily those related to performing mathematical calculations.
    • The editor displays warnings or errors if aspects of your algorithms do not function on the FPGA target.
    • You have access to tools that help you estimate the performance your algorithm can achieve and the FPGA resources your algorithms require prior to compiling the code on the FPGA.
  • Reducing the complexity of the code and using values that the compiler can determine before run time provide the compiler with the best opportunity to optimize your code.
  • There are programming patterns that affect the performance of code in Optimized FPGA VIs, and there are constructs you should avoid in order to achieve the maximum possible performance.

Recently Viewed Topics