Final Course Project

The project for this course is very open-ended. You can do anything you want, as long as it has something to do with the course material. This might include:

  • Something related to FPGA CAD algorithms:
    • Implementing and evaluating a known algorithm
    • Comparing two or more existing algorithms
    • Improving an existing algorithm
    • Investigating the effects of various parameters on an algorithm’s performance
    • Coming up with an entirely new algorithm to solve some problem
    • Applying an existing algorithm to a different problem
    • Investigating interactions between the target technology and a CAD tool
    • A theoretical analysis of some algorithm
  • Contribution to Open-Source CAD tools:

You can work alone, or in a group of 2 or 3. As a rule-of-thumb, the level of difficulty expected is: Number of people * level-of-difficulty-for-each-assignment * 2

Project Deliverables

There will be three deliverables for the project:

  1. Project Proposal In order to ensure that everyone has a suitable project, I am asking you provide a project proposal. You should indicate the project title and the members of your group (if you are not working on your own). You should also write enough to convince me that the project is interesting, and is of a suitable difficulty.

  2. Presentation An interim class presentation where you present the current progress of your project. In this presentation, you will describe the problem you are trying to solve, any relevant previous work, and your approach. You should have some results to present. Like the mini-lecture, your goal is to make sure that the class understands what you are tying to do, and why you are trying to do it. Presentations should be 7-8 minutes for single presenters and 11-12 minutes for groups of 2.

  3. Final Technical Report This should be prepared in IEEE conference format (10pt, two columns), with a 4 page limit. The paper should be of similar writing quality to a IEEE conference paper. Introduce your problem, describe what you implemented, and include results. Use figures where appropriate to help describe your project. If your project is better presented in another format (jupyter notebook page, wiki page), discuss this with the instructor.

    Email your final report to In most cases I would expect that you have your source code available on Github has a public or private repository. Please include a link to this repository in your submission email. If your repository is private, please invite me (Github username is jgoeders).

See Schedule for deadlines of each deliverable.