Intel's standard warranty, but reserves the right to make changes to any products and services Registered at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services.
• Subnormal values handling Related Information Intel Agilex Device Data Sheet—DSP Block Specifications Refer to the Intel Agilex Device Data Sheet for more information on the DSP block performance. 1.2. Supported Operational Modes in Intel Agilex Devices 1.2.1. Fixed-Point Arithmetic Table 1.
Page 6
Related Information • Intel Agilex Device Overview—Intel Agilex FPGAs Family Plan Refer to the Intel Agilex FPGAs Family Plan in the Intel Agilex Device Overview for more information on the variable precision DSP blocks resources. • Pre-adder for Fixed-Point Arithmetic on page 17 •...
® ™ 1. Intel Agilex Variable Precision DSP Blocks Overview UG-20213 | 2019.04.02 1.2.2. Floating-Point Arithmetic Table 3. Supported Combinations of Operational Modes and Features Variable-Precision Operation Mode Supported Chainin Support Chainout Support DSP Block Resource Operation Instance 1 variable precision...
Page 8
Related Information • Intel Agilex Device Overview—Intel Agilex FPGAs Family Plan Refer to the Intel Agilex FPGAs Family Plan in the Intel Agilex Device Overview for more information on the variable precision DSP blocks resources. • Operational Modes for Floating-Point Arithmetic on page 40 •...
Intel's standard warranty, but reserves the right to make changes to any products and services Registered at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services.
Page 13
2. Intel Agilex Variable Precision DSP Blocks Architecture UG-20213 | 2019.04.02 • Data • Dynamic control signals — NEGATE — LOADCONST — ACCUMULATE — SUB — Dynamic Scanin — Dynamic Chainout All the registers in the DSP blocks are positive-edge triggered and cleared on power up.
2. Intel Agilex Variable Precision DSP Blocks Architecture UG-20213 | 2019.04.02 Figure 8. Data Input Registers in Fixed-Point Arithmetic 27 x 27 Mode ENA[2..0] scanin[26..0] CLR[0] ay[26..0] az[25..0] ax[26..0] scanout[26..0] Related Information Configurations for Input, Pipeline, and Output Registers on page 62 Provides information about restrictions on fixed-point arithmetic input registers.
(either addition or subtraction). 2.1.4. Internal Coefficient for Fixed-Point Arithmetic The Intel Agilex variable precision DSP block has the flexibility of selecting the multiplicand from either the dynamic input or the internal coefficient. The internal coefficient can support up to eight constant coefficients for the multiplicands in 18-bit and 27-bit modes.
2.1.7. Accumulator, Chainout Adder, and Preload Constant for Fixed-Point Arithmetic The Intel Agilex variable precision DSP block supports accumulator and adder up to 64 bits for fixed-point arithmetic. The following signals can dynamically control the function of the accumulator and the chainout adder: •...
2. Intel Agilex Variable Precision DSP Blocks Architecture UG-20213 | 2019.04.02 If the double accumulation register is enabled, an extra clock cycle delay is added into the feedback path of the accumulator. This register has the same settings as the output register bank.
2. Intel Agilex Variable Precision DSP Blocks Architecture UG-20213 | 2019.04.02 Related Information Configurations for Input, Pipeline, and Output Registers on page 67 Provides information about restrictions on floating-point arithmetic input registers. 2.2.2. Pipeline Registers for Floating-Point Arithmetic Floating-point arithmetic has 3 latency layers of pipeline registers. You can bypass all latency layers of the pipeline registers or use any one, two or three layers of pipeline registers.
2. Intel Agilex Variable Precision DSP Blocks Architecture UG-20213 | 2019.04.02 2.2.4. Adder or Subtractor for Floating-Point Arithmetic Depending on the operational mode, you can use the adder or subtractor as • A single precision addition/subtraction • A single-precision multiplication with addition/subtraction •...
Configurations for Input, Pipeline, and Output Registers on page 67 Provides information about restrictions on floating-point arithmetic output registers. 2.2.6. Exception Handling for Floating-Point Arithmetic The Intel Agilex floating-point arithmetic supports exception handling for the multiplier and adder blocks. Table 9. Supported Exception Flags Floating-...
Page 26
2. Intel Agilex Variable Precision DSP Blocks Architecture UG-20213 | 2019.04.02 Floating- Exception Flags Width Description Point Format 1: If the multiplier result is a smaller value than the minimum representable non-zero absolute value and the result is flushed to zero.
Page 27
2. Intel Agilex Variable Precision DSP Blocks Architecture UG-20213 | 2019.04.02 Floating- Exception Flags Width Description Point Format 1: If the multiplier result is a larger value than the maximum representable value and the result is cast to infinity. 0: If the multiplier result is smaller than the maximum presentable value.
Page 28
2. Intel Agilex Variable Precision DSP Blocks Architecture UG-20213 | 2019.04.02 Floating- Exception Flags Width Description Point Format 0: If the adder result is a larger than the minimum representable value. This signal is not available in Multiplication Mode Extended format.
Page 29
2. Intel Agilex Variable Precision DSP Blocks Architecture UG-20213 | 2019.04.02 Input A Input B Result Flags Overflow/Underflow/ Inexact/Invalid Positive/negative infinity 0 or Subnormal (denormal) qNaN value 0/0/0/1 Quiet Not A Number (qNaN) 0 or Subnormal (denormal) qNaN value 0/0/0/0...
Page 30
2. Intel Agilex Variable Precision DSP Blocks Architecture UG-20213 | 2019.04.02 Input A Input B Result : Flags Overflow/Underflow/ Inexact/Invalid • Positive infinity value + positive infinity value • Negative infinity value + negative infinity value • Negative infinity value - positive infinity value •...
Page 31
2. Intel Agilex Variable Precision DSP Blocks Architecture UG-20213 | 2019.04.02 Input A Input B Result: Flags Infinite/Zero/Inexact/ Invalid Positive/negative infinity Normalized/Subnormalized Positive/negative infinity 1/0/0/0 value Quiet Not A Number (qNaN) Normalized/Subnormalized qNaN value 0/0/0/1 Mantissa = {100...00} 0 value...
Intel's standard warranty, but reserves the right to make changes to any products and services Registered at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services.
Page 33
3. Intel Agilex Variable Precision DSP Blocks Operational Modes UG-20213 | 2019.04.02 resultb = bx * by Figure 16. Two 18 × 18 or 18 × 19 Independent Multiplier per Variable Precision DSP Block In this figure, the variables are defined as follows: •...
3. Intel Agilex Variable Precision DSP Blocks Operational Modes UG-20213 | 2019.04.02 3.1.2. 8 x 8 (unsigned) or 9 x 9 (signed) Sum of 4 Mode The 8 x 8 (unsigned) or 9 x 9 sum of 4 mode uses the following equations: resulta = (ax * ay)+(bx * by)+(cx * cy)+(dx * dy) Figure 18.
18 × 19 multiplications. 3.1.4. Independent Complex Multiplier The Intel Agilex devices support the 18 × 19 complex multiplier mode using two fixed- point arithmetic multiplier adder sum mode. Figure 20.
Page 36
The pipeline registers are embedded within the various circuits of the DSP block. 3.1.4.1. 18 × 19 Multiplication Summed with 36-Bit Input Mode Intel Agilex variable precision DSP blocks support one 18 × 19 multiplication summed to a 36-bit input.
3. Intel Agilex Variable Precision DSP Blocks Operational Modes UG-20213 | 2019.04.02 Figure 22. One 18 x 19 Multiplication Summed with 36-Bit Input Mode for Intel Agilex Devices In this figure, the variable is defined as follows: • n = 19 for 18 × 19 signed operands •...
Page 38
7 bits of overhead when using an 18 x 19 operation mode, resulting 37-bit result. This allows a total sixteen 18 x 19 multipliers or eight Intel Agilex variable precision DSP blocks to be cascaded as systolic FIR structure.
Page 39
In 27-bit systolic FIR mode, the chainout adder or accumulator is configured for a 64-bit operation, providing 10 bits of overhead when using a 27-bit data (54-bit products). This allows a total of eleven 27 x 27 multipliers or eleven Intel Agilex variable precision DSP blocks to be cascaded as systolic FIR structure.
Page 47
3. Intel Agilex Variable Precision DSP Blocks Operational Modes UG-20213 | 2019.04.02 3.2.2.3. Sum of Two FP16 Multiplication with FP32 Addition Mode This mode performs a summation of two half-precision multiplication, provide a 32-bit result, and add with a single-precision number:...
Page 50
3. Intel Agilex Variable Precision DSP Blocks Operational Modes UG-20213 | 2019.04.02 3.2.2.5. FP16 Vector One Mode This mode performs a summation of two half-precision multiplications with the chainin input from the previous variable DSP Block. The output is a single-precision floating- point value which is fed into chainout.
Page 57
3. Intel Agilex Variable Precision DSP Blocks Operational Modes UG-20213 | 2019.04.02 Figure 40. Direct Vector Dot Product Using FP32 Single-Precision Floating-Point Arithmetic Connect this signal to the fp32_chainout signal fp32_chainin[31:0] of the next DSP block in chain. accumulate *Pipeline...
Page 58
*This block diagram shows the functional representation of the DSP block. The pipeline registers are embedded within the various circuits of the DSP block. 3.2.3.3. Complex Multiplication The Intel Agilex devices support the floating-point arithmetic single precision complex multiplier using four Intel Agilex variable-precision DSP blocks. Figure 42.
Page 59
3. Intel Agilex Variable Precision DSP Blocks Operational Modes UG-20213 | 2019.04.02 The imaginary part [(a × d) + (b × c)] is implemented in the first two variable- precision DSP blocks, while the real part [(a × c) - (b × d)] is implemented in the next two variable-precision DSP blocks.
Page 60
3. Intel Agilex Variable Precision DSP Blocks Operational Modes UG-20213 | 2019.04.02 Figure 44. Complex Multiplication with Result Real Using FP32 Single-Precision Floating- Point Arithmetic fp32_chainin[31:0] accumulate *Pipeline *Pipeline Register Register *Pipeline fp32_adder_a[31:0] Bank Bank Adder Register Input fp32_adder_b[31:0] Bank...
Page 61
3. Intel Agilex Variable Precision DSP Blocks Operational Modes UG-20213 | 2019.04.02 Figure 46. Complex Multiplication with Result Real Using FP16 Half-Precision Floating- Point Arithmetic fp32_result[31:0] Result Real fp16_mult_top_a[15:0] Output fp16_mult_top_invalid Register fp16_mult_top_inexact Input fp16_mult_top_b[15:0] Bank Register fp16_mult_top_overflow Adder fp16_mult_top_underflow...
Intel's standard warranty, but reserves the right to make changes to any products and services Registered at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services.
Page 63
4. Intel Agilex Variable Precision DSP Blocks Design Considerations UG-20213 | 2019.04.02 • When the pipeline registers for signals are enabled, LOADCONST ACCUMULATE the pipeline registers for all the multiplier inputs must be enabled and use the same clock enable settings.
4.1.4. Input Cascade for Fixed-Point Arithmetic The input register bank in Intel Agilex variable precision DSP block supports input cascade feature. This feature provides the capability of cascading the input bus within a DSP block and to another DSP block.
Page 65
4. Intel Agilex Variable Precision DSP Blocks Design Considerations UG-20213 | 2019.04.02 input register must be enabled when top delay register is enabled. The clock enable for both registers must be the same. Similarly, the input register must be enabled when bottom delay register is enabled.
Page 66
4. Intel Agilex Variable Precision DSP Blocks Design Considerations UG-20213 | 2019.04.02 Figure 48. Input Cascade in Fixed-Point Arithmetic 27 x 27 Mode ENA[2..0] scanin[26..0] CLR[0] ay[26..0] az[25..0] ax[26..0] scanout[26..0] 4.1.4.1. Dynamic Scanin When input cascade is used, the source of top multiplier can be dynamically switched...
4.2.1. Configurations for Input, Pipeline, and Output Registers The configurations for the input, pipeline, and output registers are restricted due to the timing model in Intel Agilex devices. Therefore these registers only support certain configurations. You must enable all registers within the same register level but you can use different clock enables.
Intel's standard warranty, but reserves the right to make changes to any products and services Registered at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services.
Need help?
Do you have a question about the Agilex and is the answer not in the manual?
Questions and answers