Term Project

Project Topic

For your term project you are to choose an interesting digital system, perform some preliminary "research" or a literature survey, design the system in VHDL, synthesize it, and gather statistics. The following list represents typical digital systems and associated projects that have been explored by previous groups. However, you are discouraged from implementing yet-another-DCT-encoder or DES encryption module, unless your design offers an interesting new twist, as these projects have been done to death.

The project compendium, distributed in class, offers several examples of project topics as well as an illustration of what you are expected to produce in terms of the project report. Some general ideas include:

  1. Error detecting-correcting modules. Some of the more advanced n-out-of-m error correcting codes (other than the Hamming codes) would be very interesting topics.
  2. Various communication network protocols including ATM, SONET, Ethernet, FDDI, DBDQ, IBM token ring, high speed serial links or any recent development.
  3. Digital neural networks and fuzzy logic systems to recognize patterns or perform processing.
  4. A digital system including MPEG, JPEG, speech/image or video compression and decompression systems, etc. Voice sub-band coding is one example; it can compress a 64 Kbit/s voice stream to about 8Kbit/s.
  5. RISC CPU, DSP and computer subsystems, for example, cache controller, schedulers, PCI bus interface.
  6. A hardware encryption/decryption units. The RSA, PGP, DES, and Blowfish algorithms are currently among the most popular (although perhaps too popular).
  7. Fast designs for performing computer arithmetic algorithms, i.e., multiplication, division, square roots etc., including transform function such as FFT, DCT, and Hadamard Transform.
  8. Image processing systems: hardware to perform image manipulations, i.e. moving the view to the left or right, zooming in or out, rendering, hidden line removal, etc. The fields of computer graphics or Virtual Reality are full of interesting things to do with images.
  9. Any interesting system you can think of. Search the FPGA manufacturer's "Application Notes" to get good ideas, and discussions of how to implement the systems on FPGA. You can implement a system or sub-system that is described in an Altera or Xilinx Application Note. Proceedings of the Canadian Conference on Programmable Logic Devices describe some of the research projects undertaken at other universities. There are also international conferences on the subject, which can give you further ideas.
  10. You can also construct smaller sub-systems of a larger system. For example, MPEG and JPEG compression systems often use 8x8 Discrete Cosine Transforms and many groups have simply implemented the DCT element as a sub-system of the MPEG/JPEG system.
  11. FPGAs have been proposed for use in DNA pattern matchers, where they apparently outperform supercomputers. They have been proposed in Nuclear Magnetic Resonance (NMR) medical machines, where they perform digital signal processing to create a 3D image of the human brain.

Deliverables

Your project will be broken down into several phases, beginning with a draft abstract and project pitch, proceeding through two milestone presentations, and at the end of term, a longer project presentation accompanied by submission of the final report and a project presentation. These phases are described in further detail below:

Suggestions

Last updated on 26 March 2017
by Jeremy Cooperstock