- Suppose that you profile a system and find that a certain function takes up 24% of the execution time. What is the theoretical maximum speedup you can achieve with a hardware accelerator?
- List two advantages of using hardware and two advantages of using software to implement any given function.
- Write, simulate, and implement a PicoBlaze-based system that does the following:
- Reads in the value of the Atlys switches from Port 0xAF and stores the value in an internal register
- Reads in the value of the Atlys push buttons from Port 0xBC and stores the value in an internal register
- Writes the XOR of the push buttons and switches to Port 0x07, which in turn displays the value on the Atlys LEDs.
- Keeps repeating the previous three steps
- Note: You must use registers to handle the input/output ports (see slides).
- Imagine you had to develop an advanced version of Pong that met the below requirements. Draw a decomposition diagram and recommend which portions should be implemented in hardware and which should be implemented in software. Explain why.
- Rasterized graphics
- Add a picture to the background
- Add the ability to display text scores on the screen
- Have an overall game menu to start a new game, display high scores, or exit
- Randomly scroll barriers across the screen as obstacles the ball has to dodge.
- Draft your final project proposal
- What's the general idea of your project?
- Required Functionality
- B Functionality
- A Functionality
- What hardware will you need?
- Specify whether it's available in the department or not
- How much will it cost?
- Draft a rough timeline
- You have seven lessons to complete the project
- Detail how long you think you'll need for each project element
- What's the general idea of your project?
- Answers to the above questions
- Simulation screenshots and source code where appropriate.