Intel® High Level Synthesis Compiler Pro Edition: Reference Manual
ID
683349
Date
12/19/2022
Public
A newer version of this document is available. Customers should click here to go to the newest version.
1. Intel® HLS Compiler Pro Edition Reference Manual
2. Compiler
3. C Language and Library Support
4. Component Interfaces
5. Component Memories (Memory Attributes)
6. Loops in Components
7. Component Concurrency
8. Arbitrary Precision Math Support
9. Component Target Frequency
10. Systems of Tasks
11. Libraries
12. Advanced Hardware Synthesis Controls
13. Intel® High Level Synthesis Compiler Pro Edition Reference Summary
A. Advanced Math Source Code Libraries
B. Supported Math Functions
C. Cyclone® V Restrictions
D. Intel® HLS Compiler Pro Edition Reference Manual Archives
E. Document Revision History of the Intel® HLS Compiler Pro Edition Reference Manual
6.1. Loop Initiation Interval (ii Pragma)
6.2. Loop-Carried Dependencies (ivdep Pragma)
6.3. Loop Coalescing (loop_coalesce Pragma)
6.4. Loop Unrolling (unroll Pragma)
6.5. Loop Concurrency (max_concurrency Pragma)
6.6. Loop Iteration Speculation (speculated_iterations Pragma)
6.7. Loop Pipelining Control (disable_loop_pipelining Pragma)
6.8. Loop Interleaving Control (max_interleaving Pragma)
6.9. Loop Fusion
11.4.1.1. Integration of an RTL Module into the HLS Pipeline
11.4.1.2. RTL Module Interfaces
11.4.1.3. RTL Reset and Clock Signals
11.4.1.4. Object Manifest File Syntax
11.4.1.5. Mapping HLS Data Types to RTL Signals
11.4.1.6. HLS Emulation Models for RTL-Based Functions
11.4.1.7. Potential Incompatibility between RTL Modules and Partial Reconfiguration
11.4.1.8. Stall-Free RTL
11.4.1.9. RTL Module Restrictions and Limitations for HLS Libraries
13.1. Intel® HLS Compiler Pro Edition i++ Command-Line Arguments
13.2. Intel® HLS Compiler Pro Edition Header Files
13.3. Intel® HLS Compiler Pro Edition Compiler-Defined Preprocessor Macros
13.4. Intel® HLS Compiler Pro Edition Keywords
13.5. Intel® HLS Compiler Pro Edition Simulation API (Testbench Only)
13.6. Intel® HLS Compiler Pro Edition Component Memory Attributes
13.7. Intel® HLS Compiler Pro Edition Loop Pragmas
13.8. Intel® HLS Compiler Pro Edition Scope Pragmas
13.9. Intel® HLS Compiler Pro Edition Component Attributes
13.10. Intel® HLS Compiler Pro Edition Component Default Interfaces
13.11. Intel® HLS Compiler Pro Edition Component Invocation Interface Control Attributes
13.12. Intel® HLS Compiler Pro Edition Component Macros
13.13. Intel® HLS Compiler Pro Edition Systems of Tasks API
13.14. Intel® HLS Compiler Pro Edition Pipes API
13.15. Intel® HLS Compiler Pro Edition Streaming Input Interfaces
13.16. Intel® HLS Compiler Pro Edition Streaming Output Interfaces
13.17. Intel® HLS Compiler Pro Edition Memory-Mapped Interfaces
13.18. Intel® HLS Compiler Pro Edition Load-Store Unit Control
13.19. Intel® HLS Compiler Pro Edition Arbitrary Precision Data Types
B.1. Math Functions Provided by the math.h Header File
B.2. Math Functions Provided by the extendedmath.h Header File
B.3. Math Functions Provided by the ac_fixed_math.h Header File
B.4. Math Functions Provided by the hls_float.h Header File
B.5. Math Functions Provided by the hls_float_math.h Header File
B.6. Default Rounding Schemes and Subnormal Number Support
13.18. Intel® HLS Compiler Pro Edition Load-Store Unit Control
For variable-latency Avalon® Memory-Mapped (MM) Host interfaces (ihc::latency<0>), you can control the type of load-store unit (LSU) with the ihc::lsu template object and the corresponding load() and store() functions.
Template Object/Parameter/Function |
Description |
---|---|
ihc::lsu | The underlying LSU class template object |
ihc::style | Specifies the type of load-store unit. |
ihc::static_coalescing | Explicitly allows or prevents static coalescing of a load/store operation with other load/store operations. |
load | Loads data from memory into the LSU. |
store | Stores data from the LSU into memory. |
ihc::lsu Template Object
- Syntax
- ihc::lsu<template arguments >
- Valid Values
- N/A.
- Default Value
- N/A.
- Description
-
The underlying LSU class object.
To learn more, review the following tutorial: <quartus_installdir>/hls/examples/tutorials/best_practices/lsu_control
ihc::style Template Parameter
- Syntax
- ihc::style<LSU_type >
- Valid Values
- LSU_type can be one of the following values:
- BURST_COALESCED
- PIPELINED
- Default Value
- BURST_COALESCED
- Description
-
Specifies the type of load-store unit to create.
A burst-coalesced LSU buffers requests until the largest possible burst can be made.
A pipelined LSU submits requests as they are received.
ihc::static_coalescing Template Parameter
- Syntax
- ihc::static_coalescing<value >
- Valid Values
- true or false
- Default Value
- true
- Description
- Specifies whether to allow or prevent static coalescing of the load/store operation with other load/store operations.
load Function
- Syntax
- load(<memory_location>)
- Parameters
- The <memory_location> argument specifies the memory location to load data into the LSU from.
- Return Type
- Object of same type as the base type of the argument specified for <memory_location>.
- Description
- The load function loads data from a memory location specified by the <memory_location> argument and returns the data that the argument points to.
store Function
- Syntax
- store(<memory_location>, <value_to_store>)
- Parameters
-
The <memory_location> argument specifies the memory location to store data coming from the LSU.
The <value_to_store> argument is the value from the LSU to store in memory. The type is the same a the pointer base type.
- Return Type
- None.
- Description
- The store function stores data in the LSU to a memory location specified by the <memory_location> argument.