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.