CS232 Project 9: Final Project
Due Friday May, 9 2014
The purpose of the final project is to give you some experience with design of a complex digital circuit.
Final Project Choices
For your final project you can select any of the following, or do a project of your choice after discussing it with the prof.
- Design a CPU and implement it in VHDL. You may choose an actual CPU architecture or design your own from scratch. If you chose an actual CPU, you can implement a selected subset of the instructions. There are a number of embedded processor designs that may be interesting to emulate, such as the PIC or ARM processor.
Implement the Ultimate RISC CPU that has one instruction: subtract and
branch if negative. Implementing the CPU itself is fairly trivial,
although there are a number of design choices to make regarding the
number of registers and types of addressing.
The key part of this project is to implement a simple assembly language that enables you to write programs for the computer in a more typical assembly language style. The assembler would then need to convert each assembly instruction into one or more machine instructions.
Design a circuit that makes use of one or more of the additional
capabilities of the board.
- Accept input from a PS2 mouse.
- Drive a VGA monitor.
- Create sounds using the signal generator and speaker outputs.
- Create a game on the board, one or two-player.
Create a wiki page with your writeup.
- Give a brief, but complete problem description.
- Describe the design of your circuit.
- Simulate (optional) and test your circuit. Include a video of your circuit in action as part of your final project writeup.
- Include a description, and pictures, of any extensions.
Give your wiki page the label cs232S14project9.
Put your VHDL files and other design documents in a Proj9 directory in your private subdirectory on Courses/CS251. If you have any issues with the server, send a zip file to the prof.