Migrating Between Devices - 2025.2 English - UG1701

Embedded Design Development Using Vitis User Guide (UG1701)

Document ID
UG1701
Release Date
2025-11-20
Version
2025.2 English

The ease of migrating a subsystem across multiple devices and in specific cases even device families is one of the strongest advantages of using the platform methodology. By using higher level API and generic RTL for designing the Vitis subsystem components, the portability across devices improves.

To enable easy design migration the following conditions should be met:

Table 1. Device Migration Checklist
Item Notes
Use features and language constructs that are compatible with both devices. The devices need to be compatible either by hardware feature or API. If by API, expect differences in performance and resource utilization. Similar applies for different speed grade and device families as they have.
Test and validate Vitis subsystem portability with intended parts. Alternatively test with a pre-built base platform if it exists.
Create separate Vivado hardware platform projects for each target device. This is required to separate build outputs per target device.
Create separate Vitis workspaces and output folders. Each target require rebuilding for that device, so the outputs and intermediate build objects need to be kept apart.
Put Vitis Component source files in a common folder and reference them to each workspace. It is important from source code management perspective to add sources as reference. If copied into the project, they depart from being shared between the devices.
Build and compare design outputs. For migration between different speed grades, check timing reports in Vivado. For designs migrating between different device sizes, check utilization reports in Vivado.

The Versal Thin Custom Platform tutorial demonstrates how to set up a project suitable for targeting both VCK190 and VEK280 development boards.

Note: The current version of this tutorial is set up to build one target at a time. To build for several targets, either clone/copy for each target or use the design as inspiration to setup a customized flow.