4. Tool Flow OverviewΒΆ

The overall tool flow is outlined in the below diagram. Each step in the tool flow is exlpained in detail in subsequent build tutorials.

At a high level, the builds steps are as follows:

  1. Vivado platform design: The Vivado design is augmented with platform parameters that describe the meta data and physical interfaces available to the Vitis compiler for stitching in PL.

  2. Platform creation: The XSCT utility is used to create an extensible platform whose main component is the XSA created by Vivado in step 1.

  3. PL kernels: The Vitis tool chain is used to compile accelerator kernels from C/C++ using high-level synthesis (HLS) or to package RTL kernels. The Vitis linker integrates the kernels into the platform design and generates a new XSA and xclbin as output products.

  4. PetaLinux BSP: The PetaLinux BSP is a collection of yocto meta layers and recipes that are used to generate a bootable SD card image including boot image components (BOOT.BIN), Linux image (image.ub) and external rootf filesystem partition (rootfs). The rootfs contains a collection of software packages required to run the target applications.

Tool Flow