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:
- 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.
- Various communication network protocols including ATM, SONET,
Ethernet, FDDI, DBDQ, IBM token ring, high speed serial links or any
recent development.
- Digital neural networks and fuzzy logic systems to recognize patterns
or perform processing.
- 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.
- RISC CPU, DSP and computer subsystems, for example, cache controller,
schedulers, PCI bus interface.
- A hardware encryption/decryption units. The RSA, PGP, DES, and
Blowfish algorithms are currently among the most popular (although
perhaps too popular).
- Fast designs for performing computer arithmetic algorithms, i.e.,
multiplication, division, square roots etc., including transform function
such as FFT, DCT, and Hadamard Transform.
- 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.
- 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.
- 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.
- 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
- You are welcome to build upon what
the previous projects in 487 or 494 have done, but as in any publication
you must look up and reference any related prior materials and you must
clearly explain you contributions.
- See "Application Notes" provided by manufacturers such as Altera,
Xilinx, Actel, QuickLogic, for ideas. Application notes usually target
exciting, innovative and relevant designs, as we have listed above, and
are usually provided on their web sites. The notes also describe how the
designs can be implemented in FPGAs. Hence, these provide an excellent
start - they usually have excellent topics, and they provide descriptions
of how to implement the designs on FPGAs.
- See any recent conference proceedings on Programmable Logic Devices,
Field Programmable Gate Arrays, Application Specific Integrated Circuits
(ASICs), etc. These proceedings are full of papers describing what
engineers in academia and industry are developing. Take note of how they
organize and present their work.
- For a paper to be successful it must convey technical information in
a concise and well organized manner. Useful information includes: how
many gates does the design require according to analysis, how many gates
does it require when synthesized, how did you partition the design to
implement it on chip, how did you compile it, how fast can you
clock it, what suggestions do you have for others, etc.
- We have been receiving many requests from local industry for EE.
graduates skilled in VHDL, computer architecture and digital switching. If
you write a good paper for the 487 Laboratory, you might want to show it
to prospective employers.
- Don't pick a very difficult project topic. Try to select a topic
which will allow you to build the system and simulate it in VHDL. If you
are not sure about the topics, please come and see us.
Last updated on 26 March 2017
by Jeremy Cooperstock