MicroZed Chronicles: Updating Projects to Vitis

How to upgrade a Vivado / SDK project to Vivado / Vitis project.

One the key elements in our design is how we address upgrading from one version of design tools to the next.

If we have been developing our solution using a pre-2019.2 version of Vivado and using SDK to take advantage of the benefits and features of Vitis, we need to upgrade our design to Vivado 2019.2.

The first step in doing this is to open the project in its current version of Vivado and archive the project. This way, if we hit issues, we always have a safe copy — regardless of if you are using a source control system such as Git.

You can find the archive command under File->Project->Archive.

This will take a few seconds to run through, and once completed, you will see a notification the archive was successful.

The next step is to open the Vivado design in 2019.2. When you point to the to be upgraded XPR file, you will notice the version is reported as Vivado 2019.1.1 in the file preview window.

As the version of Vivado is different, you will next see a prompt asking if you desire to upgrade the project to the current version of Vivado.

Select automatic upgrade and click OK.

As versions of the IP may have changes, Vivado will prompt you to report on the IP Status.

Select Report IP Status. This will create a list of the IP in the design and identify which versions require upgrading.

Click on the upgrade all button and the IP blocks, which require upgrading will be upgraded to the latest standard.

Rerun the IP status report to make sure all of the IP is up to date, then finally generate a new but file and export the XSA.

Within the SDK, the project structure will be as shown below, with the Application, Board Support Package, and Hardware Definition listed under the project explorer.

The structure is different within Vitis; however, we do not have to start from scratch.

From within Vivado, launch Vitis and select your desired working directory.

Launching Vitis will prompt us to define the location of the workspace. For this project, I created a workspace within the Vivado project directory.

Once Vitis is open, the next step is the import the existing SDK projects, which includes Hardware Definition, Board Support Package, and Application.

From the File menu select File->Import.

On the import projects dialog, select eclipse workspace or zip.

The next dialog will allow us to select the elements of the eclipse workspace that we wish to import. Select the Application, BSP, and Hardware Definition.

After a few minutes, you will see both the platform and application projects created under the Explorer window.

Select the Platform project and right click on it and Update Hardware Specification.

This will create a dialog to update the hardware definition. Point this to the XSA exported from the Vivado 2019.2 build.

This will then show as the Platform is out of date once the new hardware specification has been updated.

From the project menu, select Build and the project will be built, and the Platform definition will show as current.

Now that we we have our design within the Vitis environment, we can begin to exploit the capabilities which are provided by Vitis!

See My FPGA / SoC Projects: Adam Taylor on Hackster.io

Get the Code: ATaylorCEngFIET (Adam Taylor)

Access the MicroZed Chronicles Archives with over 300 articles on the FPGA / Zynq / Zynq MpSoC updated weekly at MicroZed Chronicles.

Adam Taylor
Adam Taylor is an expert in design and development of embedded systems and FPGA’s for several end applications (Space, Defense, Automotive)
Related articles
Sponsored articles
Related articles