Variable Precision DSP Blocks User Guide: Agilex™ 5 FPGAs and SoCs

ID 813968
Date 9/20/2024
Public
Document Table of Contents

11.4.1. Tensor Floating-point Mode Signals

Table 154.  Tensor Floating-point Mode Signals
Signal Name Type Width Description
data_in_{1..10} Input 8 Input data bus to the DOT product.
side_in_1_{1..2} Input 8

Input data bus to the DOT product during side-feed method.

This signal is used alongside with data_in_{1..10} and only be used when the parameter Side In Feed is chosen.

shared_exponent_data Input 8

Input shared exponent data bus to the DOT product.

It is an input data to the DOT product and it can also be preloaded either by using the data input feed method or side input feed method.

load_bb_one Input 1
Select the ping-pong register11 for data preloading.
  • 1’b0: Disable data preloading to the first set of ping-pong register
  • 1’b1: Enable data preloading to the first set of ping-pong register
load_bb_two Input 1
Select the ping-pong register for data preloading.
  • 1’b0: Disable data preloading to the second set of ping-pong register
  • 1’b1: Enable data preloading to the second set of ping-pong register
load_buf_sel Input 1

Used to switch the set of ping pong registers for computation. It will select to either use the data from when the load_bb_one or load_bb_two is active.

Select the data from either one of the ping-pong registers for DOT product computations.
  • 1’b0: Select data from first set of ping-pong register
  • 1’b1: Select data from second set of ping-pong register
acc_en Input 1

Assert this signal to enable the accumulator features. De-assert this signal to disable the accumulator feature.

It is an edge active signal. The DSP will use the accumulation value in the output result when the signal is active high.

The default value for this signal is 0.

zero_en Input 1

Assert this signal to disable the input to the FP32 ALU. Two positive 0s are feed into the FP32 ALU. When this signal is de-asserted, the 32-bit floating-point FP32 ALU gets input data from either the accumulator or the input from a cascaded DSP prime block.

The default value for this signal is 0 .

clk Input 1 Input clock to drive all registers in the DSP prime block.
clr0 Input 1
Asynchronous clear input signals for input register. Assert this signal to clear input registers.
  • clr0=1, a clear signal is asserted.
  • clr0=0, a clear signal is de-asserted.

The default value for this signal is 0.

clr1 Input 1
Asynchronous clear signal for pipeline registers and output registers. Assert this signal to clear pipeline registers and output register.
  • clr1=1, a clear signal is asserted.
  • clr1=0, a clear signal is de-asserted.

The default value for this signal is 0.

ena Input 1

Clock enable signals for all registers.

Assert this signal to enable clock for the DSP prime block.
  • ena=1, the clock ekable signal is asserted.
  • ena=0, the clock enable signal is de-asserted.

The default value for this signal is 1.

cascade_data_in_col_{1..2} Input 32 Data input bus from a cascaded DSP prime block for each column
fp32_col_{1..2} Output 32 Output data bus in 32-bit floating-point format
Fp32_col_{1..2}_flag Output 8

Output flag.

When the DSP Block is configured to work in the floating-point modes, the fp32 representations are rounded to nearest even (RNE) with flush to zero on subnormal results.

Output flag here is an 8-bit output that will flag out if the floating-point results conforms to IEEE754 format or not.

The flag output will cover on the overflow, underflow, inexact, or invalid.

It is a 4-bit output signal flag and the values can be referred to in the tables in Exception Handling for Floating-point Arithmetic.

cascade_data_out_col_{1..2} Output 32

Output data bus to connect to the next cascaded DSP prime block for each column.

The cascade_data_out_col_{1..2} have the same value of the output results.

11 There are weight registers and shared exponent registers used as ping-pong buffers to feed in the weights and exponents across the two columns.