Both Vivado® HLS and Vitis™ HLS allow the user to customize the interfaces to the top-level function using pragma/directions. Vitis HLS additionally supports the ability to automatically infer the right interface. The type of interfaces that Vitis HLS creates depends on:
- The data type of the C arguments in the top-level function.
- The target flow.
- The default interface mode.
- Any user-specified INTERFACE pragmas or directives.
This is fully described in the Defining Interfaces section of the user guide (UG1399) and should be reviewed before proceeding further.