Research Article
High-Level Synthesis: Productivity, Performance, and Software Constraints
Table 3
For loop directives.
| Directive | Description |
| loop_flatten | Combine multiple levels of perfectly nested loops to form a single loop with larger loop bounds | loop_merge | Combine two separate loops at the same hierarchy level into a single loop | loop_unroll | Duplicate computation inside the loop—increase computation resources, decrease number of iterations | pipeline | Pipeline computation within the loop (or region) scope—increase throughput and computation resources | occurrence | Specify that one operation occurs at a slower (integer divisor) rate than the outer loop—improve pipeline scheduling, resource use | expression_balance | Typically automatic-code in the loop (or region) is optimized via associative and commutative properties to create a balanced tree of computation |
|
|