Directives
Contents
Note
Destination
- Use [Source File] to add the pragmas inline to the source code
- Use [Directive File] to add the pragmas into the solution's
directives.tcl
constraints file
Interface Directive
For block-level I/O protocols, the return argument is used to specify the block-level interface. This is true even if the function has no return argument in the source code.
Note: The RTL CoSimulation feature requires a block-level I/O protocol to sequence the test bench and RTL design for CoSimulation automatically. Any attempt to use RTL CoSimulation results in an error
Pipeline Directive
- When the top-level of the design is a loop, you can use the pipeline rewind option. This informs Vivado HLS that when implemented in RTL, this loop runs continuously (with no end of function and function re-start cycles).
Task Pipelining
#pragma HLS dataflow
Runs multiple functions concurrently
Array Reshaping
High-Level Synthesis allows arrays to be partitioned, mapped together and re-shaped. These techniques allow the access to an array to be modified without changing the source code.