Date: February 17/21
Lecture: 17 now 18
Homework HW #9
Status Complete
MicroBlaze Tutorial on Digilent Website MicroBlaze Tutorial
MicroBlaze Tutorial with ECE 383 Deviations MicroBlaze Tutorial
MicroBlaze Tutorial Short Version
Supplemental Lesson SlidesECE_383_Lec17_now_18.pdf
Code Lec17.c (Initial Hello World)
Lec17_v2.c (Example code to interface with GPIO LEDs

MicroBlaze

The goal of today's class is to bring you up to speed on how to instantiate a microBlaze processor on our Artix 7, integrate a custom piece of VHDL code to the processor, and then to write some C code to run on the microBlaze to control the custom VHDL module. Here are some specifications on the microBlaze processor: The following image was copied from the "MicroBlaze Processor Reference Guide" and summarizes the major features of the processor.


The rest of the class will be devoted to getting the microBlaze to work.

Tutorial Overview

In this tutorial, you will be introduced to the tool flow for simple MicroBlaze designs. Specifically, you will create a design that continuously reads the input from UART and writes that value to the LEDs. The UART will be connected from the FPGA to your computer via a micro USB cable.

You will follow the tutorial here step by step.

Deviations from the Tutorial

After Completing the Tutorial Hello World

Once you complete the MicroBlaze Tutoral and get Hello World to display on your terminal. This will allow you to echo values received on the UART

  • Confirm that you want to import the new bitfile and design to your SDK project.
  • Add the lec17.c code at the top of the page to your main.c in your SDK project.
  • Program the FPGA with your new bitfile and elf file and run the configuration.
  • Run your favorite terminal program to verify that the FPGA is echoing your characters to your terminal and the LEDs.
  • Note: look through the headers and the xuartlite_l.h file to see the different options you have to read from and write to the UART. These are just simple macros that provide you shortcuts to perform memory operations. All of this should be review from when we first introduced you to the C programming language.
  • Update Hardware/Software for LED GPIO

    Finally, you will write software that reads in a value from UART, echoes that value to the UART and LEDs.

  • Program the FPGA with your new bitfile and elf file and run the configuration.
  • Run your favorite terminal program to verify that the FPGA is echoing your characters to your terminal and the LEDs.
  • Note: look through the xgpio.h file to see the different options you have to read from and write to GPIOs. These are just simple macros that provide you shortcuts to perform memory operations.
  • Conclusion

    We have covered quite a lot of ground in this tutorial. It is critical that you understand each step of this development process, as this is critical to your next lab and the final project. Be sure you ask your instructor if you are unsure about anything we covered in this tutorial. Specifically, you should understand the following: