In this tutorial we are going to add a AXI GPIO IP to the Blockdesign and connect two external LEDs to the AXI GPIO IP Core. After generating the Bitstream we export the design to Vitis and control the LEDs with software(C/C++) running on the MicroBlaze. In the same way you can connect any other I/Os external or internal the Chip.
This tutorial is based on the the reference design of the TE0717 Board and Vitis 2021.2 was used.


  1. First open the prebuilt reference design with the "_create_win_setup.cmd" script and open the block design.
  2. Add a second "AXI GPIO IP" from the IP catalog to the block design.



  3. Configure the IP by double-clicking on the IP. Make the changes and click "ok".



  4. Right click on the port and choose "Make external" in the context menu



  5. Run the connection automation. The AXI GPIO IP Core gets connected to the MicroBlaze via the AXI Interface.



  6. Now the address mapping in the address editor should be set like:


  7. Next, the constraints for the two leds have to be set in the constraint file.



  8. Now you are all set in Vivado and you can build the bitstream + export the project to Vitis with the following command in the TCL-console(only possible in the script-based reference design from trenz).
    Manual steps would be to Generate the Bitstream and export the hardware platform.



  9. After that was successful you can test the functionality of the VIO Core by programming the FPGA and controlling the onBoard LED2.
    Otherwise continue with Step 10.



  10. Now you can build the Vitis project with the provided C/C++-Applications with the following command.
    Manual steps would be to Open Vitis(Tools → Launch Vitis IDE) and  import the project from the project directory.



  11. In Vitis open the hello_te0717 application:



  12. Add the following lines of code to also make both of the LEDs blink:



  13. Save and Build the project
  14. Right-Click on the application and choose "Run Configuration" 



  15. Since we already programmed the FPGA, uncheck the following: 



  16. Click on Apply and Run to execute the program on the MicroBlaze. You Should now see the LEDs of the module and carrier blinking in sequence.
    Also if you open up a serial connection to the board with a program like PuTTY, you should see output