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.
Fig. 10.3 Minmax_frame design example
Manufacturer:Xilinx
Product Categories: FPGAs
Lifecycle:Active Active
RoHS:
Manufacturer:Xilinx
Product Categories: FPGAs (Field Programmable Gate Array)
Lifecycle:Active Active
RoHS: No RoHS
Manufacturer:Xilinx
Product Categories: FPGAs (Field Programmable Gate Array)
Lifecycle:Active Active
RoHS:
Manufacturer:Xilinx
Product Categories: Connecteurs
Lifecycle:Unconfirmed -
RoHS: No RoHS
Manufacturer:Xilinx
Product Categories: Batterie
Lifecycle:Obsolete -
RoHS: No RoHS
Support