In the platform-based design flow, the hardware design is conceptually divided in two distinct elements: the platform and the processing system. The platform contains essential Versal IP blocks (including CIPS, NoC, AI Engine, and Clocking Wizard) and board interface IP blocks (including high-speed I/Os and memory controllers). The processing system contains the application-specific part of the system and can be composed of both programmable logic and AI Engine blocks. The platform is considered extensible, because the platform does not contain the entirety of the programmable logic content. Instead, the platform is extended by the addition of the processing system.
Following are the main steps in this flow. The first three steps can be completed in parallel. You can update the AI Engine program independently after the fixed hardware platform is finalized.
- Develop the hardware platform using the Vivado IP integrator and RTL code.
- Develop the AI Engine program
using the Vitis tools.Note: The AI Engine is only available if you are using the Versal AI Core series.
- Develop the PL kernels using the Vitis tools (C++ kernels) or the Vivado tools (RTL kernels).
- Assemble the AI Engine program and the PL kernels to form the processing system and integrate the processing system with the platform using the Vitis linker to create a fixed hardware design.
- Implement and perform design closure on the fixed hardware design using the Vivado tools.
- Develop the software application on top of the fixed hardware design using the Vitis embedded software development flow.