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 from and write to arg)
- Return: Return data output
- Block: Block-level control
- D: Default mode for each type
Important: If
an illegal interface is specified, Vitis HLS
issues a warning message and implements the default interface mode.