1. Intel® HLS Compiler Pro Edition Best Practices Guide 2. Best Practices for Coding and Compiling Your Component 3. FPGA Concepts 4. Interface Best Practices 5. Loop Best Practices 6. fMAX Bottleneck Best Practices 7. Memory Architecture Best Practices 8. System of Tasks Best Practices 9. Datatype Best Practices 10. Advanced Troubleshooting A. Intel® HLS Compiler Pro Edition Best Practices Guide Archives B. Document Revision History for Intel® HLS Compiler Pro Edition Best Practices Guide
5.1. Reuse Hardware By Calling It In a Loop 5.2. Parallelize Loops 5.3. Construct Well-Formed Loops 5.4. Minimize Loop-Carried Dependencies 5.5. Avoid Complex Loop-Exit Conditions 5.6. Convert Nested Loops into a Single Loop 5.7. Place if-Statements in the Lowest Possible Scope in a Loop Nest 5.8. Declare Variables in the Deepest Scope Possible 5.9. Raise Loop II to Increase fMAX 5.10. Control Loop Interleaving
The occupancy of a datapath at a point in time refers to the proportion of the datapath that contains valid data.
The occupancy of a circuit over the execution of a program is the average occupancy over time from the moment the program starts to run until it has completed.
Unoccupied portions of the datapath are often referred to as bubbles. Bubbles are analogous to a "no operation" (no-op) instructions for a CPU that have no effect on the final output.
Decreasing bubbles increases occupancy. In the absence of other bottlenecks, maximizing occupancy of the datapath results in higher throughput.
Figure 3. A Datapath Through Four Iterations Showing A Bubble Traveling Through
Did you find the information on this page useful?