• LOGIN

Wesley Peck

Home › EECS 388 Laboratory

Laboratory 2

In laboratory 2 you will design a system-on-chipi which includes one Microblaze soft-processori and several General Purpose I/O peripherals (GPIOs). Just like laboratory 1, the system-on-chipi will be created using the Base System Builder supplied by the Xilinxi tool suite. Once your system-on-chipi has been created, you will write a custom software application to take input from the push button and produce output on the LEDs. In order to complete this laboratory successfully, you will need to understand the workings of the GPIOi peripheral by reading the GPIOi reference manual which can be found in the references section.

Project Assignment

  1. Create a system-on-chipi design which includes only the following components:
    • A Microblaze soft-processori
    • A serial port for debug output
    • A GPIOi for the LEDs
    • A GPIOi for the Push Buttons
  2. Create a new software application which performs the following:
    • When the left push button is depressed the left most LEDi is lit
    • When the top push button is depressed the second from the left LEDi is lit
    • When the bottom push button is depressed the second from the right LEDi is lit
    • When the right push button is depressed the right most LEDi is lit
    • When the center push button is depressed all LEDs are lit
  3. Synthesize your system-on-chipi, compile your software project, and combine them into a bitstream
  4. Download your bitstream onto the XUPi development board, execute it, and demonstrate your design to your TA

This project will be a due during the week of September 8, 2008 through September 12, 2008. Please allocate enough time outside of class to read and understand the project and the workings of the GPIOi.

Project Directions

Before proceeding with this laboratory please read at least the OPB GPIOi Registers and OPB  GPIOi Operation sections of the GPIOi reference manual. In future labs is will be your responsibility to implement application software to control an FPGAi peripheral. In this lab you will be expected to understand how the provided software application implements the operational specification provided by the reference manual.


Lab 2 Screen Cast
Click to Play

For this laboratory you will be creating a system-on-chipi design, containing the peripherals mentioned above, using the BSB as described in laboratory 1. Once you have the system-on-chipi design created you will need to create a new software application named "lab2" which contains one source code file named "lab2.c". After this, copy and paste the source code template into your source file.

Read the comments in the source code template and try to understand how the source code provided implements the GPIOi hardware protocol described in the GPIOi reference manual. Once you understand what the source code template is doing, modify the main function to implement the project requirements described in the project assignment given above.

Project Questions

Answers to the questions for this laboratory can be found in either the Memory-Mapped I/O Tutorial or the GPIO reference manual.

  1. What register set is exposed by the GPIOi peripheral? Describe each register.
  2. What is an address space?
  3. What is memory-mapped I/O?
  4. How does a processor perform memory-mapped I/O?
  5. How does software perform memory-mapped I/O?
  6. What steps does software need to perform in order to read from the GPIOi data register? Explain each step.

 

‹ Directions up Laboratory 3 ›
  • Printer-friendly version

Navigation

  • Home
  • EECS 388
  • EECS 665
  • Glossary
  • Search

Outline

  • EECS 388 Laboratory
    • Syllabus
    • Deliverables
    • Report Format
    • Reference Materials
    • Laboratory 1
    • Laboratory 2
    • Laboratory 3
    • Laboratory 4
    • Laboratory 5
    • Laboratory 6
  • EECS 665 Laboratory
  • Tutorials

(C) 2008 Wesley Peck
All Rights Reserved