This website uses cookies. By using this site, you consent to the use of cookies. For more information, please take a look at our Privacy Policy.
Home > FPGA Technical Tutorials > Designing with Xilinx FPGAs Using Vivado > C-Based Design > Arbitrary Precision Data Types

TABLE OF CONTENTS

Xilinx FPGA FPGA Forum

Arbitrary Precision Data Types

FONT SIZE : AAA

An interesting feature of the example shown in Fig. 10.3 is the use of arbitrary pre- cision data types (the header fi le in Fig. 10.3 defi nes data type data_t as ap_int<12> ). All data types in the C language are defi ned on 8-bit boundaries—a char is 8-bit, a short is 16-bit, an int is 32-bit, and the long long data type is 64-bit. When perform- ing hardware design, it is often desirable to have data widths which are more precise than those provided in the C language. Arbitrary precision data types are a library of data types provided with the HLS tool which allow data types to be specifi ed in any size, from 1-bit up to 4096-bit. 

The most obvious advantage for using arbitrary precision data types is synthesis. If the design needs to read 18-bit data and perform 18-bit multiplications, it is a waste of hardware resources to use the next largest data type in the C language, the int data type (32-bit) which results in 32-bit multipliers and 32-bit registers. Arbitrary precision data types allow the hardware designer to accurately size data values in the C function and ensure the most optimal hardware is created. 

A less appreciated benefi t of arbitrary precision data types is that they allow accu- rate C simulation to be performed before synthesis. If specifi c (signed or unsigned) data types are required in the design, they can be both specifi ed and verifi ed in the C function before synthesis. Fast C simulation is used to confi rm the bit- accurate behavior. 

Minmax_frame design example.png

Fig. 10.3 Minmax_frame design example

  • XC5VFX70T-1FFG1136I

    Manufacturer:Xilinx

  • FPGA Virtex-5 FXT Family 65nm Technology 1V 1136-Pin FCBGA
  • Product Categories: FPGAs

    Lifecycle:Active Active

    RoHS:

  • XC5VFX70T-2FF1136I

    Manufacturer:Xilinx

  • FPGA Virtex-5 FXT Family 65nm Technology 1V 1136-Pin FCBGA
  • Product Categories: FPGAs (Field Programmable Gate Array)

    Lifecycle:Active Active

    RoHS: No RoHS

  • XC5VFX70T-2FFG1136I

    Manufacturer:Xilinx

  • FPGA Virtex-5 FXT Family 65nm Technology 1V 1136-Pin FCBGA
  • Product Categories: FPGAs (Field Programmable Gate Array)

    Lifecycle:Active Active

    RoHS:

  • XC5VFX70T-3FF665C

    Manufacturer:Xilinx

  • FPGA Virtex-5 FXT Family 65nm Technology 1V 665-Pin FCBGA
  • Product Categories: Connecteurs

    Lifecycle:Unconfirmed -

    RoHS: No RoHS

  • XCV200E-6CS144I

    Manufacturer:Xilinx

  • FPGA Virtex-E Family 63.504K Gates 5292 Cells 357MHz 0.18um Technology 1.8V 144-Pin CSBGA
  • Product Categories: Batterie

    Lifecycle:Obsolete -

    RoHS: No RoHS

Need Help?

Support

If you have any questions about the product and related issues, Please contact us.