Floating-Point IP Cores User Guide

ID 683750
Date 7/31/2024
Public

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

Document Table of Contents

2.5. FP_ACC_CUSTOM Intel® FPGA IP or Floating Point Custom Accumulator Intel® FPGA IP Parameters

Table 12.  FP_ACC_CUSTOM Intel® FPGA IP or Floating Point Custom Accumulator Intel® FPGA IP Parameters
Category Parameter Values Description
Input Data Floating point format single, double Choose the floating point format of the input data values. The output data values of the accumulator is in the same format.

The default is single.

maxMSBX The maximum weight of the MSB of an input. For example, when adding probabilities in the 0 to 1 range set this weight to ceil(log2(1))=0. The xo output signal goes high when the MSB of an input value has a weight larger than maxMSBX. The result of the accumulation is then invalid. If you are unsure about the range of the inputs, then set the maxMSBX parameter to MSBA, at the possible expense of increased resource usage.

The default value is 12.

Accumulator Size MSBA The weight of the MSB of the accumulator. For example, in a financial simulation, if the value of a stock cannot exceed 100,000 dollars, use a value of ceil(log2(100000))=17.

In a circuit simulation where the circuit adds numbers in the 0 to 1 range, for one year, at 400 MHz, use a value of ceil(log2(365 x 60 x 60 x 24 x 400 x 106))=54.

The ao output signal goes high when the MSB of the accumulated value has a weight larger than MSBA. The result of the accumulation is then invalid. Intel recommends adding a few guard bits to avoid possible accumulator overflow. A few guard bits have little impact on the accumulator size.

The default value is 20.

LSBA The weight of the LSB of the accumulator and the accuracy of the accumulator. Because an N term accumulation can invalidate the log2(N) LSBs of the accumulator, you must consider the length of the accumulation and the range of the inputs when setting this parameter.

For example, if a 2-30 accuracy is required over an accumulation of 1024 numbers, then set the LSBA to:

(-30 - log2(1024)) = -40.

Any input 2e×1.F, where F is the mantissa and e is less than the LSBA will be shifted out of the accumulator. The au output signal goes high to indicate this situation.

The default value is -26.

Required Performance Target frequency Any positive integer value. Choose the frequency in MHz at which this core is expected to run. This together with the target device family determines the amount of pipelining in the core.

The default value is 200 MHz.

Optional Generate an enable port Choose if the accumulator should have an enable signal.

This parameter is disabled by default.

Report Reports the latency of the device, which is the number of cycles it takes for an accumulation to propagate through the block from input to output.