EE 576: Laboratory 5
Design project.
Introduction.
For this exercise, we want you to pick a project, then design and build it.
During this period there will be no other assignments, so we expect you to spend
all of your time for this course on the project. You will be expected to be
in lab at the usual times and to show significant progress each week of the
project.
Grading:
- Grades will be assigned by rank-ordering all projects in all sections, thus you will be competing against everyone in the class for this grade.
- 25% of your project grade depends upon being prepared each week and on the quality, quantity and character of the work done during each week. Each week in lab a one-page progress report may be due.
- 25% depends on the project demonstration at the end of classes.
- 50% will be based on your project writeup.
- The members
of a group may be graded differentially if it becomes obvious to the staff that
one person is doing the bulk of the work.
When choosing a project you will need to consider availability of hardware,
time available, a monetary budget, and your programming skill. You may want
to look at several of the links on the 576 home page for project ideas.
Procedure:
Depends on what you will build. There are some ideas available. You should talk often to your lab instructor.
You can use any combination of Verilog, SOPC, ASM, C, and an operating system. Your project will be limited
to using one DE2 development board at all times. If you intend to hook hardware to the DE2 expansion connectors, you must get explicit permission.
Assignment
You will be graded on several aspects of the project:
- Appropriate level of hardware/software complexity.
- Appropriate use of external hardware, Verilog generated hardware, assembler, C, and operating systems. You need not have a microcontroller instantiated on the FPGA, but many of you will.
- A project which works according to specification (which you will write).
- Level of effort and organization shown in lab.
- A demonstration of the final project during the
last regular scheduled lab period of the semester. The demonstration
will include an explanation of your web page describing the project.
- Completeness and understandability of the final report. The report must
be handed in when you do the project demo during
your last regular lab period. The report which you hand in must
be printed directly from a web page which you construct. The web page will consist of one folder with exactly one html file with the file name
index.html
. In the folder there may be Verilog source files, c-source files, images, mpegs, or other supporting documents linked to the one html file. When posting code, you must comply with all Altera IP considerations.
Documentation
must include all the major sections. You may omit specific sections not relevant to your project:
- Introduction
- One sentence "sound bite" that describes your project.
- A summary of what you did and why.
- High level design:
- rationale and sources of your project idea
- background math
- logical structure
- hardware/software tradeoffs
- Relationship of your design to available IEEE, ISO, ANSI, DIN, and other
standards.
- Discuss existing patents, copyrights, and trademarks which are relevant
to your project.
- Program/hardware design:
- program details. What parts were tricky to write?
- hardware details. Could someone else build this based on what you
have written?
- Be sure to specifically reference any design or code you used from
someone else.
- Things you tried which did not work
- Results of the design:
- speed of execution (hesitation, filcker, interactiveness, concurrency)
- accuracy (numeric, music frequencies, video signal timing, etc)
- how you enforced safety in the design.
- interference with other people's designs (e.g. cpu noise, RF interference)
- usability by you and other people
- Conclusions:
- Analyse your design in terms of how the results met your expectations.
What might you do differently next time?
- How did your design conform to the applicable standards?
- Intellectual property considerations.
- Did you reuse code or someone else's design? Did you use any of Altera's IP?
- Did you use code in the public domain?
- Are you reverse-engineering a design? How did you deal with
patent/trademark issues.
- Did you have to sign non-disclosure to get a sample part?
- Are there patent opportunites for your project?
- Ethical considerations. Refering to the IEEE
Code of Ethics, specifically explain how decisions you made or
actions you took in this project were consistent with this Code of
Ethics. I expect at least 200 words on this topic.
- Legal considerations. For instance, if you use a transmitter, you must discuss
the appropriate FCC legal restrictions.
- Appendix with commented Verilog and/or program listings. When posting code, you must comply with all Altera IP considerations.
- Appendix with schematics if you build hardware external to the DE2 board (you can download free software from expresspcb.com
to draw schematics).
- Appendix with a list of the specific tasks in the project carried
out by each team member.
- References you used:
- Data sheets
- Vendor sites
- Code/designs borrowed from others
- Background sites/papers
Your web page may optionally be submitted
for inclusion on the class web page.
If you wish to do this:
- Put all of your web page files in one directory. Name this directory with the concantented netids of all the group members, e.g.,
brl4_rw88
Since the pages will be on a UNIX server, you should:
- Make sure the cases (upper/lower) of all filenames agree with their
hyperlinks.
- Use only alphanumeric characters and underscores in filenames (NO SPACES, no punctuation of any kind).
- Check all your links to make sure they are relative to your main page.
- Use a directory name consisting of the group's concantenated netids.
- ZIP the directory.
- email it to BRL4@cornell.edu.
Copyright Cornell University July 2006