The primary difference between the Vivado IP flow and the Vitis kernel flow in Vitis HLS is the handling of the design interfaces. In the Vivado IP flow, the designer must explicitly manage interfaces. In the Vitis kernel flow, Vitis HLS automatically infers the following AXI interfaces:
- AXI4 memory-mapped
- AXI4-Lite
- AXI4-Stream
Before starting a project with either flow, you need to understand how Vitis HLS handles interfaces. Refer to this link in the Vitis High-Level Synthesis User Guide (UG1399).