As described in Defining Interfaces, the type of the interfaces that Vitis HLS creates depends on the data type of the C arguments or the top-level function, the target flow, the default interface mode, and any specified INTERFACE pragmas or directives.
You can specify the target flow as either Vivado IP flow or Vitis Kernel
flow using the
open_solution -flow_target [vitis |
vivado] option, or when opening the project solution as explained in
Vitis HLS Process Overview. The following sections
describe the default interface for the target flows.
Argument type definitions include the following:
- I: Input only (can only read from arg)
- O: Output only (can only write to arg)
- IO: Input & output (can read and write to arg)
- Return: Return data output
- Block: Block-level control
- D: Default mode for each typed.