Variable Precision DSP Blocks User Guide: Agilex™ 5 FPGAs and SoCs
                    
                        ID
                        813968
                    
                
                
                    Date
                    9/20/2024
                
                
                    Public
                
            A newer version of this document is available. Customers should click here to go to the newest version.
                
                    
                        1. Agilex™ 5 Variable Precision DSP Blocks Overview
                    
                    
                
                    
                        2. Agilex™ 5 Variable Precision DSP Blocks Architecture
                    
                    
                
                    
                        3. Agilex™ 5 Variable Precision DSP Blocks Operational Modes
                    
                    
                
                    
                        4. Agilex™ 5 Variable Precision DSP Blocks Design Considerations
                    
                    
                
                    
                        5. Native Fixed Point DSP Agilex™ FPGA IP Core References
                    
                    
                
                    
                        6. Multiply Adder Intel® FPGA IP Core References
                    
                    
                
                    
                        7. ALTMULT_COMPLEX Intel® FPGA IP Core References
                    
                    
                
                    
                        8. LPM_MULT Intel® FPGA IP Core References
                    
                    
                
                    
                        9. LPM_DIVIDE (Divider) Intel FPGA IP Core
                    
                    
                
                    
                        10. Native Floating Point DSP Agilex™ FPGA IP References
                    
                    
                
                    
                        11. Native AI Optimized DSP Agilex™ FPGA IP References
                    
                    
                
                    
                    
                        12. Document Revision History for the Agilex™ 5 Variable Precision DSP Blocks User Guide
                    
                
            
        
                                    
                                    
                                        
                                        
                                            2.1.1. Input Register Bank for Fixed-point Arithmetic
                                        
                                        
                                    
                                        
                                        
                                            2.1.2. Pipeline Registers for Fixed-point Arithmetic
                                        
                                        
                                    
                                        
                                        
                                            2.1.3. Pre-adder for Fixed-point Arithmetic
                                        
                                        
                                    
                                        
                                        
                                            2.1.4. Internal Coefficient for Fixed-point Arithmetic
                                        
                                        
                                    
                                        
                                        
                                            2.1.5. Multipliers for Fixed-point Arithmetic
                                        
                                        
                                    
                                        
                                        
                                            2.1.6. Adder or Subtractor for Fixed-point Arithmetic
                                        
                                        
                                    
                                        
                                            2.1.7. Accumulator, Chainout Adder, and Preload Constant for Fixed-point Arithmetic
                                        
                                        
                                        
                                    
                                        
                                        
                                            2.1.8. Systolic Register for Fixed-point Arithmetic
                                        
                                        
                                    
                                        
                                        
                                            2.1.9. Double Accumulation Register for Fixed-point Arithmetic
                                        
                                        
                                    
                                        
                                        
                                            2.1.10. Output Register Bank for Fixed-point Arithmetic
                                        
                                        
                                    
                                
                            
                                    
                                    
                                        
                                        
                                            2.2.1. Input Register Bank for Floating-point Arithmetic
                                        
                                        
                                    
                                        
                                        
                                            2.2.2. Pipeline Registers for Floating-point Arithmetic
                                        
                                        
                                    
                                        
                                        
                                            2.2.3. Multipliers for Floating-point Arithmetic
                                        
                                        
                                    
                                        
                                        
                                            2.2.4. Adder or Subtractor for Floating-point Arithmetic
                                        
                                        
                                    
                                        
                                        
                                            2.2.5. Output Register Bank for Floating-point Arithmetic
                                        
                                        
                                    
                                        
                                        
                                            2.2.6. Exception Handling for Floating-point Arithmetic
                                        
                                        
                                    
                                
                            
                                                
                                                
                                                    
                                                    
                                                        3.2.2.1. FP16 Supported Precision Formats
                                                    
                                                    
                                                
                                                    
                                                    
                                                        3.2.2.2. Sum of Two FP16 Multiplication Mode
                                                    
                                                    
                                                
                                                    
                                                    
                                                        3.2.2.3. Sum of Two FP16 Multiplication with FP32 Addition Mode
                                                    
                                                    
                                                
                                                    
                                                    
                                                        3.2.2.4. Sum of Two FP16 Multiplication with Accumulation Mode
                                                    
                                                    
                                                
                                                    
                                                    
                                                        3.2.2.5. FP16 Vector One Mode
                                                    
                                                    
                                                
                                                    
                                                    
                                                        3.2.2.6. FP16 Vector Two Mode
                                                    
                                                    
                                                
                                                    
                                                    
                                                        3.2.2.7. FP16 Vector Three Mode
                                                    
                                                    
                                                
                                            
                                        
                        
                        
                            
                            
                                5.1. Native Fixed Point DSP Agilex™ FPGA IP Release Information
                            
                        
                            
                            
                                5.2. Supported Operational Modes
                            
                        
                            
                                5.3. Maximum Input Data Width for Fixed-point Arithmetic
                            
                            
                        
                            
                            
                                5.4. Maximum Output Data Width for Fixed-point Arithmetic
                            
                        
                            
                                5.5. Parameterizing Native Fixed Point DSP IP
                            
                            
                        
                            
                                5.6. Native Fixed Point DSP Agilex™ FPGA IP Signals
                            
                            
                        
                            
                            
                                5.7. IP Migration
                            
                        
                    
                
                                    
                                    
                                        
                                        
                                            10.4.1. FP32 Multiplication Mode Signals
                                        
                                        
                                    
                                        
                                        
                                            10.4.2. FP32 Addition or Subtraction Mode Signals
                                        
                                        
                                    
                                        
                                        
                                            10.4.3. FP32 Multiplication with Addition or Subtraction Mode Signals
                                        
                                        
                                    
                                        
                                        
                                            10.4.4. FP32 Multiplication with Accumulation Mode Signals
                                        
                                        
                                    
                                        
                                        
                                            10.4.5. FP32 Vector One and Vector Two Modes Signals
                                        
                                        
                                    
                                        
                                        
                                            10.4.6. Sum of Two FP16 Multiplication Mode Signals
                                        
                                        
                                    
                                        
                                        
                                            10.4.7. Sum of Two FP16 Multiplication with FP32 Addition Mode Signals
                                        
                                        
                                    
                                        
                                        
                                            10.4.8. Sum of Two FP16 Multiplication with Accumulation Mode Signals
                                        
                                        
                                    
                                        
                                        
                                            10.4.9. FP16 Vector One and Vector Two Modes Signals
                                        
                                        
                                    
                                        
                                        
                                            10.4.10. FP16 Vector Three Mode Signals
                                        
                                        
                                    
                                
                            3.2.3.2. Direct Vector Dot Product
   The following figures shows the combination of DSP blocks to create direct vector dot product. For FP32 single-precision floating-point arithmetic, the direct vector dot product consists of: 
   
 
  - Multiply-add and subtract mode with chainin parameter turned on
- Vector one
- Vector two
   Figure 45. Direct Vector Dot Product Using FP32 Single-precision Floating-point Arithmetic
    
     
  
 
  
   For FP16 half-precision floating-point arithmetic, the direct vector dot product consists of: 
   
 
  - Sum of two multiplication with FP32 addition mode with chainin feature enabled
- Vector one
- Vector two
   Figure 46. Direct Vector Dot Product Using FP16 Half-precision Floating-point Arithmetic