DSP Builder for Intel® FPGAs (Advanced Blockset): Handbook

ID 683337
Date 5/27/2022

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

11. Floating-Point Data Types

Most Primitive library blocks support floating-point data types. DSP Builder generates a parallel datapath optimized for Intel FPGAs from the Simulink model.

Floating-point designs are useful in:

  • Scientific applications
  • Numerical algorithms
  • High-dynamic range data designs
  • Statistical modelling

Fixed-point designs often cannot support data with a high dynamic range unless the design explicitly uses a high precision type. Floating-point designs can represent data over a high dynamic range with limited precision. A compact representation makes efficient use of memory and minimizes data widths. The lowest precision type that DSP Builder supports is float16_m10, otherwise known as half-precision float, which occupies 16 bits of storage. It can represent a range between –216 to +216 (exclusive) and non-zero magnitudes as small as 2-14.

Typically, fixed-point designs may include fixed-point types of various bit widths and precisions. When you create fixed-point designs, keep variations in word growth and word precision within acceptable limits. When you create floating-point designs, you must limit rounding error to ensure an accurate result. A floating-point design typically has only one or two floating-point data types.

DSP Builder provides a comprehensive library of elementary mathematical functions with complete support for all floating-point types. Each core is parameterized by precision, clock frequency, and device family.