top of page
Adiuvo Engineering & Training logo
MicroZed Chronicles icon

MicroZed Chronicles: Vitis and AI Integration.

We have recently looked at using AI when we develop RTL solutions using Copilot in VS Code. However, many of the applications I work on include a MicroBlaze V, or are Zynq, Zynq MPSoC or Versal based.


As such, I also need to develop software-based solutions.


As such, it would be good to be able to accelerate our embedded software development using AI frameworks.


However, before we look at the integration of AI frameworks within Vitis, I want to talk about the Eclipse framework that it is built upon.


When Vitis Unified IDE was released, many users initially thought it was built upon VS Code, as it looks very similar. The Vitis Unified IDE is not based upon VS Code; it is still based upon Eclipse and uses the Theia framework.


However, there is a little more to it than that, as both Eclipse Theia and VS Code share a common base in the Monaco Editor, along with supporting the Language Server Protocol and Debug Adapter Protocol. Theia is not a VS Code fork, though it contains several features and capabilities which are unique.


One capability which Theia does maintain is the ability to add extensions, thanks to the use of Open VSX. Open VSX is a vendor-neutral extension marketplace operated by the Eclipse Foundation.


Within Vitis Unified IDE, we are therefore able to add a range of extensions, including commonly used AI frameworks such as ChatGPT Codex, Gemini, and Claude.

In the remainder of this blog, I am going to show how I used ChatGPT Codex to develop code for a simple AXI Timer to generate PWM. This is part of a larger project I will be documenting in a few weeks.


To get started, we of course first needed a Vivado design. This design will contain a MicroBlaze V, an AXI UART Lite to provide a simple terminal program, the AXI Timer, and a second AXI UART Lite which will be used to communicate with a LIDAR.


The complete design looks as below. Once the design has been synthesised and implemented, we are able to export the XSA and create a new platform and Hello World example application in Vitis.


Within Vitis Unified IDE, to install the extension for our AI framework of choice, we need to click on the extensions button on the left-hand menu.



With the extensions tab, we are then able to search for the extension that we desire to work with. In this case, I am installing Codex, OpenAI’s coding agent.



Once installed, you will see a new OpenAI logo on the left-hand menu.



To get started, we need to sign into our account.


Entering our account information will enable us to start working with Codex. Immediately after signing in, you will see a simple introduction to working with Codex.


In this instance, asking Codex to update the helloworld.c file to include the initialisation and configuration of the AXI Timer to generate a simple PWM at 50 kHz with a 50% duty cycle.



This will take a few minutes and generate the updated code to be included in the helloworld.c file. Allowing these changes to be reflected into the file will update the source code to provide the desired functionality.


You get the option to allow it once, in which case it will ask for every request and you can review beforehand. Alternatively, you are able to allow updates to source files automatically during the session.


We can then build the ELF, connect the target board, and debug the application as we normally would. In this case, running the new application demonstrates that the AXI Timer is doing what we expected when probed with a scope.




Of course, this was a simple example; however, it shows how we can work with AI code generation tools to help us generate our embedded software applications. I am sure we will see this being used more often; however, it does not remove the need to understand how the system works or how it is meant to work.



FPGA Conference

FPGA Horizons US East - April 28th, 29th 2026 - THE FPGA Conference, find out more here.


FPGA Journal

Read about cutting edge FPGA developments, in the FPGA Horizons Journal or contribute an article.


Workshops and Webinars:

If you enjoyed the blog why not take a look at the free webinars, workshops and training courses we have created over the years. Highlights include:



Boards

Get an Adiuvo development board:

  • Adiuvo Embedded System Development board - Embedded System Development Board

  • Adiuvo Embedded System Tile - Low Risk way to add a FPGA to your design.

  • SpaceWire CODEC - SpaceWire CODEC, digital download, AXIS Interfaces

  • SpaceWire RMAP Initiator - SpaceWire RMAP Initiator,  digital download, AXIS & AXI4 Interfaces

  • SpaceWire RMAP Target - SpaceWire Target, digital download, AXI4 and AXIS Interfaces

  • Other Adiuvo Boards & Projects.


Embedded System Book   

Do you want to know more about designing embedded systems from scratch? Check out our book on creating embedded systems. This book will walk you through all the stages of requirements, architecture, component selection, schematics, layout, and FPGA / software design. We designed and manufactured the board at the heart of the book! The schematics and layout are available in Altium here.  Learn more about the board (see previous blogs on Bring up, DDR validation, USB, Sensors) and view the schematics here.


Sponsored by AMD

bottom of page