Vitis™ Platform Creation Tutorials

See Vitis™ Development Environment on

Versal Custom Platform Creation Tutorial

Version: 2021.2

In this module, we will create a custom platform to run acceleration applications for VCK190 evaluation board.

In a general Vitis acceleration platform design, we start from building a base bootable design, then add platform required components and properties to it. We need to validate each step before going to the next step to prevent error prograting. This workflow is described in the following diagram.

Vitis Platform Creation Steps Diagram

To enable platform creators build platforms quickly, Vivado provides a Versal extensible platform example design. It adds presets for CIPS, NOC, DDR controllers and platform properties. This would make the platform creation process efficient in step 0 and step 1. Optionally, if user would like to add more components to the platform hardware design, they can be added after the example design has been created.

To prepare the software components, we will import XSA into PetaLinux project and do some additional configurations. After building software and hardware components, we’ll package the platform.

In each step, we’ll test the generated files to make sure they work as expected. A frequent test methodology can help to narrow down the root causes if any error occurs. At last, we’ll run several test applications on this platform to test this customized platform.

Please navigate through these steps with the following table of contents links.


This tutorial design supports VCK190 production board and VCK190 ES1 board.

  • Vitis 2021.2 supports VCK190 production board. No additional licenses and settings are needed to use this board.

  • Vitis 2021.2 requires additional Versal ES device installation, additional EA license setup to use VCK190 ES1 board.

This design requires a Linux host machine with Internet access. The Linux OS needs to support the Vitis software and PetaLinux.



  • In Step 1, the Vivado project exports XSA for hardware and hardware emulation seperatedly. When creating the platform in step3, it’s recommended to provide seperate XSA for hardware and hardware emulation.


  • Step 0: Vivado example design has more customizable options for clocks and interrupts.

  • Step 1: Removed tcl commands for platform setup because the Platform Setup Wizard can do the job well.

  • Step 2: In PetaLinux root file system configuration, only xrt package is needed. packagegroup-petalinux-xrt is removed by PetaLinux.

  • Step 2: PetaLinux can create ZOCL node device tree. So manual update device tree instructions are removed.

  • Step 2: PetaLinux 2021.1 requires GCC > 6.0. Workaround is to enable “Enable buildtools extended” in Yocto settings.

  • Step 3: Vitis can generate BIF. Manual steps of adding custom BIF are removed.

Copyright© 2021 Xilinx