Using the High Throughput Math Functions

Use the High Throughput Math functions to perform high throughput math and analysis with fixed-point numbers on FPGA targets. These functions are similar to the Numeric functions but support higher throughput rates, handshaking terminals inside a single-cycle Timed Loop, input/output registers, and automatic pipelining.

Differences between the High Throughput Math Functions and the Numeric Functions

The High Throughput Math functions are different from the LabVIEW Numeric functions in the following ways:

  • Additional functions—The High Throughput Math functions include trigonometric, logarithmic, and rectangular/polar coordinate conversion functions that support the fixed-point data type.
  • Limited data type support—The High Throughput Math and Basic Elements functions support fewer data types than the Numeric functions do. Refer to the individual High Throughput Math or Basic Elements topics for supported data types.
  • Universal single-cycle Timed Loop support—You cannot place some Numeric functions inside a single-cycle Timed Loop. However, you can place all High Throughput Math functions inside a single-cycle Timed Loop regardless of how many cycles that function takes to execute. Inside a single-cycle Timed Loop, these functions might display handshaking terminals. You use these terminals to ensure algorithms operate with only valid data. The High Throughput Math functions also feature ways to control the length of the combinatorial path to improve the clock rate at which the functions can compile.
  • Higher throughput support—If you need to pipeline Numeric functions inside a single-cycle Timed Loop, you must pipeline these functions manually. However, most High Throughput Math functions have a Throughput control. LabVIEW pipelines the function automatically to achieve the throughput rate you specify.
  • Labeled terminals—You can configure the High Throughput Math functions to display the encoding, word length, and integer word length of numeric terminals. You also can use the Context Help window to see configuration information about a function or wire.

NI recommends that you use the LabVIEW Numeric functions unless you need the benefits that the High Throughput Math functions provide. The Numeric functions are easier to use when creating a VI and can execute on more platforms than the High Throughput Math functions can. For example, the High Throughput Math functions do not support NI real-time targets.

Configuring a Function

To configure a High Throughput Math function, either double-click the function or right-click the function and select Configure from the shortcut menu. LabVIEW displays a configuration dialog box for the function. You use this dialog box to configure many aspects of the function that affect how it executes and the results it returns. By using the configuration dialog box to set the encodings, word lengths, and integer word lengths of input terminals, you can avoid problems with unsupported fixed-point configurations.

Configuring Function Appearance

You can display each High Throughput Math function in either expanded or contracted form. The expanded view displays the encoding, word length, and integer word length of each terminal. The contracted view saves space on the block diagram. To configure the appearance of a function, right-click that function and select Expanded View or Contracted View.