Highlights of CSEE 4840 Embedded System Design
Spring 2007
Columbia University, Computer Engineering Program
Prof. Stephen A. Edwards

The main focus of CSEE 4840 Embedded System Design is an independent group project on the design and implementation of a small system involving hardware and software. The students implemented the projects on an FPGA board (the DE2 from Altera corporation) This board contains a Cyclone II FPGA capable of holding both a 32-bit RISC microprocessor core (a ``NIOS'') and quite a lot of student-designed custom logic. Every project incorporated a combination of C code running on the processor and custom logic written in the VHDL hardware description language.

Below are selected projects from the spring 2007 course to give you an idea of the breath and complexity of these projects.

PAC-EDWARDS

pac-edwards-screenshot the group PDF FileTheir final report
Michael Pierorazio      Varun Mehta      Jeffrey Cropsey

This (smartass) group built a two-player Pac-Man-like game with me as a motif. They told me they were building a maze game, but didn't reveal the motif until the demo day.
They built a tile-based background generator that automatically rounded the edges of the maze and superimposed me-shaped sprites on top of it, much like the original Pac-Man game. To top it off, they interfaced Nintendo Entertainment System controllers to the FPGA board to provide a genuine arcade-game experience.
Prof. Edwards as a video game character Hamburger NES Controllers

Button Hero

button hero screenshot the group PDF FileTheir final report
Kenneth Yu      Charles Lam      George Liao      JooHan Chang

This group built a video game loosely based on Guitar Hero called Button Hero. The objective is to press the four buttons on the Altera board in perfect time with the falling objects. Doing this at the right time increases your score; missing lowers it.
They built a custom video generator capable of drawing eight sprites over a background consisting of lines, a score display, and various announcements about the game (``perfect,'' ``press any key to start,'' etc.)

Imagic

imagic screenshot the group PDF FileTheir final report
Abhilash Itharaju      Nalini Vasudevan      Vitaliy Shchupak      Walter Dearing

This group built a digital picture frame. It read SD/MMC cards from the built-in slot on the DE2 board, decoded a FAT32 filesystem thereon, decoded all the JPEG files that it found, and displayed them on the flat-panel monitors using a VGA controller of their own devising. This remarkable group also has the distinction of being the only one in history ever to have completed the project before it was due.

Network Clue

network-clue screenshot the group PDF FileTheir final report
Sampada Sonalkar      Gaurav Gupta      Thomas Mwakibinga      Khalef Hosany

This group built a networked, multi-player version of the board game ``Clue.'' They built a custom tile-based video display controller that could display the game board and player pieces and controlled it with software that communicated over Ethernet with other boards, allowing multiple players to observe the actions of others, but not their cards.

Life

life screenshot the group PDF FileTheir final report
Juan Gutierrez      Steven Chen      Vincenzo Zarrillo

This group built a hardware-based simulator for Conway's Game of Life. By doing the critical component in hardware, they were able to achieve 60 generations per second, one of the fastest rates I have ever seen.