Project
The goal of this project is for you to gain an in-depth
understanding of some aspect of reconfigurable computing. Students will work in groups of 2-3 people, and will be expected to deliver a detailed proposal and final report, along with a presentation summarizing the project to the rest of the class. Each project must contain an element of design and experimentation; proposals that do not meet this criterion will be rejected.
Deliverables
- Proposal (2-3 pages, due week after midterm exam). This should include an introduction, a discussion of related work, and a discussion of your proposed approach. It should also detail specific design and experimentation methodologies where appropriate.
- Presentation (25 minutes, due last week of classes). On-campus students will be expected to present a summary of their findings to the rest of the class. Distance education students will be expected to provide the files and whatever notes would be required to give a presentation on their topic.
- Final Report (8-12 pages, due final exam week). See the proceedings of conferences like FPGA, FCCM, and FPL for examples of how to write papers on various topics in reconfigurable computing.
Some Suggested Topics
- Design and implementation of X application
- Pick any application or application domain
- Identify whatever objectives need to optimized (power, performance, area, etc.)
- Design and implement X targeting an FPGA
- Compare to microprocessor-based implementations
- Network processing
- Explore the use of an FPGA as a network processor that can support flexibility in protocol through reconfiguration
- Flexibility could be with respect to optimization
- Could provide additional processing to packets/connections
- Implement a full-fledged FPGA-based embedded system
- From block diagram to physical hardware
- Examples:
- Image/video processing
- Digital picture frame
- Digital clock (w/video)
- Sound effects processor
- Any old-school video game :)
- Voice-over-IP
- Prototype some microarchitectural concept using FPGA
- See proceedings of MICRO/ISCA/HPCA/ASPLOS from last 5 years
- Survey some recurring theme
- Compare results from simulation (Simplescalar) to FPGA prototype results
- Evaluation of various FPGA automation tools and methodologies
- Survey 3-4 different available FPGA design tools
- Pick a representative (pre-existing) benchmark set, see how they fare...how well do they work?
- Analyze output designs to determine basic differences in algorithms and methodology
- Anything else that interests you!
Previous Year's Topics
- "FPGA Implementation of Frequency-Domain Audio Filter Bank" (2 students, Fall 2006)
- "Transparent FPGA-Based Network Analyzer" (2 students, Fall 2006)
- "FPGA-Based Library Design for Linear Algebra Applications" (2 students, Fall 2006)
- "An Improved Approach of Configuration Compression for FPGA-based Embedded Systems" (2 students, Fall 2006)
- "Analysis of Sobel Edge Detection Implementations" (1 student, Fall 2006)
- "Artificial Neural Networks on Dynamically Reconfigurable FPGAs" (3 students, Fall 2006)
Papers and presentations for these previously completed projects are available upon request.