SoC
  • Home
  • Arm
  • Arm Cortex M0/M0+
  • Arm Cortex M4
  • Arm Cortex M3
  • Contact
Reading: Tips for Updating Vivado and Migration of ARM Projects
SUBSCRIBE
SoCSoC
Font ResizerAa
  • Home
  • Arm
  • Arm Cortex M0/M0+
  • Arm Cortex M4
Search
  • Home
  • Arm
  • Arm Cortex M0/M0+
  • Arm Cortex M4
Have an existing account? Sign In
Follow US
  • Looking for Something?
  • Privacy Policy
  • About Us
  • Sitemap
  • Contact Us
© S-O-C.ORG, All Rights Reserved.
Arm

Tips for Updating Vivado and Migration of ARM Projects

Scott Allen
Last updated: September 20, 2023 11:25 am
Scott Allen 7 Min Read
Share
SHARE

Updating to the latest version of Xilinx Vivado can provide access to new features, improved performance, and bug fixes. However, it also often requires migrating existing projects to the new version. For ARM-based designs, this migration process can be tricky if not handled properly. Here are some tips for smoothly updating Vivado and migrating ARM projects.

Contents
Back Up Your ProjectsUpdate Vivado FirstOpen Projects in Non-Project ModeUpdate IP RepositoriesMigrate Libraries NextMigrate the Entire ProjectResolve Migration IssuesReview ARM-Based IP CoresReload HDL SourcesRe-Import Constraint FilesRemake Design Block DiagramResolve Floorplanning IssuesRemigrate After Software ChangesSave Project as New VersionCreate a New Project FolderVerify Design FunctionalityUpdate Firmware Projects TooMaintain Revision ControlIn Summary

Back Up Your Projects

Before updating Vivado or migrating projects, it is critical to back up all your important project files and directories. This includes constraint files, block diagrams, HDL sources, IP repositories, etc. Store these backups separately from your main project folder. That way, if anything goes wrong during migration, you have the original files to fall back on.

Update Vivado First

Install and launch the new version of Vivado before attempting to open or migrate any projects. The migration process is handled automatically by Vivado when opening an older project file. Trying to migrate before updating can result in errors.

Open Projects in Non-Project Mode

After updating Vivado, open your existing project files using the Non-Project mode. This prevents Vivado from trying to automatically migrate before you are ready. Take this opportunity to review your project source files and constraints before migration.

Update IP Repositories

With a new Vivado version often comes new IP cores and versions. You will need to upgrade your local IP repositories to match before migrating your project. In Non-Project mode, select “Tools –> Upgrade IP” to update your repositories to the latest.

Migrate Libraries Next

The first thing you will want to migrate are any compiled IP libraries that the project depends on. Vivado can migrate these libraries while still in Non-Project mode. Once migrated, generate an updated IP catalog.

Migrate the Entire Project

You are now ready to migrate the entire project. Close any open windows, then from the main menu select “Project –> Migrate”. The migration wizard will launch to walk you through the process. Let it complete before making any other changes.

Resolve Migration Issues

The Vivado migration process is generally robust, but you may encounter issues. Common problems include outdated IP, invalid constraints, and toolchain compatibility. Examine any warnings or errors reported in the migration report. You may need to upgrade specific IP cores or adjust constraints to resolve.

Review ARM-Based IP Cores

For ARM projects, pay close attention to any ARM-based IP cores used, like processors, peripherals, interconnects, etc. Data width, interface, and parameter changes in new core versions can cause connectivity issues. Review the core data sheets and make any necessary adjustments.

Reload HDL Sources

In some cases, Vivado may not properly link migrated HDL sources into the new project. If you notice missing files, manually reload them into the project to restore the connections.

Re-Import Constraint Files

Vivado will automatically migrate constraint files (.xdc) to the new project. However, it is good practice to delete these migrated constraints and re-import them from the original sources. This avoids any potential issues from constraint file migration.

Remake Design Block Diagram

For complex projects, consider remaking the top-level block diagram from scratch in the new version. Making the block diagram again ensures all connections are configured correctly for the migrated version of each IP block.

Resolve Floorplanning Issues

Device floorplans can change between Vivado versions, so your existing project floorplan may need adjustment. If you get floorplanning errors, try rerunning floorplanning from scratch in the migrated project.

Remigrate After Software Changes

If you needed to make significant changes to IP cores, constraints, or software to resolve migration issues, it is recommended to rerun the project migration after those changes. This will ensure the project is fully migrated to the new version.

Save Project as New Version

Once the project has been migrated successfully, save it using the “Save Project As” command. Give it a new name indicating the Vivado version, like “design_2020.1”. This preserves the original project file while giving you a working copy for the new version.

Create a New Project Folder

When starting a new design in an updated version of Vivado, create a fresh project folder instead of overwriting your original. For example “project_2020.1”. This keeps the old project separate in case you ever need to go back to it.

Verify Design Functionality

After migration, formally verify the design functions correctly through simulation and implementation. Validate timing, power, utilization, I/O, and other key performance metrics match expectations. Only if the migrated project passes verification should it be used for production.

Update Firmware Projects Too

Don’t forget to also migrate any firmware projects associated with the hardware design. Software IDEs like Xilinx SDK may also need to be updated to match the new Vivado version. Migrate firmware code to the new SDK workspace after updating.

Maintain Revision Control

Use version control systems like Git throughout the migration process to track changes. Commit updates made during migration as you go along. This preserves a complete change history in case any issues need to be reverted.

In Summary

Migrating ARM projects requires careful steps when updating to a new Vivado release. Backup projects, upgrade IP, validate migrated designs, and manage software changes. Stay organized and track all changes made during migration. Follow these tips to smoothly transition ARM projects to new Vivado versions.

Newsletter Form (#3)

More ARM insights right in your inbox

 


Share This Article
Facebook Twitter Email Copy Link Print
Previous Article Common Vivado Issues on Windows for ARM Developers
Next Article Using the Cortex-M0 DesignStart Soft Core with MPS2+
Leave a comment Leave a comment

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

2k Followers Like
3k Followers Follow
10.1k Followers Pin
- Sponsored-
Ad image

You Might Also Like

How many interrupts does the arm cortex-M0 contain?

The ARM Cortex-M0 is an ultra low power 32-bit RISC…

6 Min Read

Arm vs x86: A Detailed Comparison

Arm and x86 are the two most common CPU architectures…

7 Min Read

Cortex-M Exception Handling and Return Mechanism

The Cortex-M processor implements robust exception handling capabilities to respond…

6 Min Read

What is GNU GCC compiler for ARM?

The GNU Compiler Collection (GCC) is a free and open…

7 Min Read
SoCSoC
  • Looking for Something?
  • Privacy Policy
  • About Us
  • Sitemap
  • Contact Us
Welcome Back!

Sign in to your account