Final Project


For the final project, you will be implementing an algorithm of your choice in the Nallatech board, and comparing its performance to software. You may choose another project if you like, but it must be approved first.

Proposal - Due Friday, October 31

In the proposal, you will need the following sections:

  1. Description of algorithm - This includes a description of what the algorithm does, how it works, etc.
  2. Description of the implementation - This includes a detailed description of the datapath, in addition to plans for the controller, address generators, memories, etc.
  3. Timeline/Gantt Chart - Break up the project into tasks, and estimate how long each task will take and when it will begin.
  4. Work Distribution - Each member of the group must participate, therefore you also need to specify how the work will by divided among each member.

Project Ideas

You may propose any project you like, although the base project that I recommend is Prewitt edge detection. If you have been reading the assigned papers during the semester, you should already know how to implement this.

The basic requirements are:

To get 100% on the assignment, I would like to see the input image and output image if you do Prewitt. If you do something else, I would like to see/hear something similar. Also, the larger input size you are able to handle, the better your grade will be. Processing a 3x3 image won't receive a good grade even if it works perfectly. I will try to provide code for the onboard SRAMs soon, which will allow you to use very large inputs.

I would recommend any image/audio processing algorithm if you don't want to do Prewitt (please don't everyone choose Prewitt). Something like a convolution reverb on an audio signal would be great. However, make sure what you propose is feasible. I will take difficulty into account when grading, but accomplishing nothing is unacceptable for any difficulty.