Intel® High Level Synthesis Compiler Standard Edition: Best Practices Guide
                    
                        ID
                        683259
                    
                
                
                    Date
                    12/18/2019
                
                
                    Public
                
            
                
                    
                    
                        1. Intel® HLS Compiler Standard Edition Best Practices Guide
                    
                
                    
                    
                        2. Best Practices for Coding and Compiling Your Component
                    
                
                    
                        3. Interface Best Practices
                    
                    
                
                    
                        4. Loop Best Practices
                    
                    
                
                    
                        5. Memory Architecture Best Practices
                    
                    
                
                    
                        6. Datatype Best Practices
                    
                    
                
                    
                        7. Advanced Troubleshooting
                    
                    
                
                    
                    
                        A. Intel® HLS Compiler Standard Edition Best Practices Guide Archives
                    
                
                    
                    
                        B. Document Revision History for Intel® HLS Compiler Standard Edition Best Practices Guide
                    
                
            
        4.3. Construct Well-Formed Loops
A well-formed loop has an exit condition that compares against an integer bound and has a simple induction increment of one per iteration. The Intel® HLS Compiler Standard Edition can analyze well-formed loops efficiently, which can help improve the performance of your component.
   The following example is a well-formed loop:
   
 
  for(int i=0; i < N; i++)
{
    //statements
}Well-formed nested loops can also help maximize the performance of your component.
   The following example is a well-formed nested loop structure: 
   
 
 for(int i=0; i < N; i++)
{
   //statements
   for(int j=0; j < M; j++)
   {
      //statements
   }
}