ECE 5760: Laboratory 4
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.
- 20% 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.
- 30% 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. If you think that a group member is not performing, then you must tell us, so we can inform the group of consequences and/or observe it directly.
When choosing a project you will need to consider availability of hardware,
time available, and your programming skill. You may want
to look at several of the links on the 5760 home page for project ideas.
Procedure:
The procedure epends on what you will build. There are some ideas available, but the best projects grow out of student interests.
Examples of student-generated projects are:
Cricket 2007 Auto Batter
Dijkstra algorithm on FPGA
Big Red Strings: A FPGA Musical Trio
You should talk often to your lab instructor.
You can use any combination of Verilog, Qsys, and ARM code,
but projects that use only the ARM9 and not the FPGA side will generally not be acceptable.
If you intend to hook hardware to the DE1-SoC 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, C, and HPS.
- 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.
- Completeness and understandability of the final report. The html report must be emailed to the instructor (see instructions below) at the date/time specified by the University for this class (not known until finals are announced). 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, zipped projects, or other supporting documents linked to the one html file. When posting code, you must comply with all INTEL IP considerations.
- You may optionally opt-in for inclusion of your project on
the course page.
This a new CORNELL requirement!
You will automatically lose 5 points on your project if you do not include this!
In the final report, Appendix A
One of two sentences!
Either: "The group approves this report for inclusion on the course website."
Or:
"The group does not approve this report for inclusion on the course website."
If you will ever be asking me for a recommendation, I suggest that you opt-in your project.
The project web pages help me remember the details of a project and person.
- I will submit student videos to YouTube for inclusion on the ece5760 channel, if you opt-in.
This a new CORNELL requirement!
You will automatically lose 5 points on your project if you do not include this!
In the final report, Appendix A
One of two sentences!
Either: "The group approves the video for inclusion on the course youtube channel."
Or:
"The group does not approve the video for inclusion on the course youtube channel."
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
- 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:
- Any and all test data, scope traces, waveforms, etc
- speed of execution (hesitation, filcker, interactiveness, concurrency)
- accuracy (numeric, music frequencies, video signal timing, etc)
- how you enforced safety in the design.
- 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?
- You may optionally opt-in for inclusion of your project on
the course page.
This a new CORNELL requirement!
You will automatically lose 5 points on your project if you do not include this!
In the final report, Appendix A
One of two sentences!
Either: "The group approves this report for inclusion on the course website."
Or:
"The group does not approve this report for inclusion on the course website."
If you will ever be asking me for a recommendation, I suggest that you opt-in your project.
The project web pages help me remember the details of a project and person.
- I will submit student videos to YouTube for inclusion on the ece5760 channel, if you opt-in.
This a new CORNELL requirement!
You will automatically lose 5 points on your project if you do not include this!
In the final report, Appendix A
One of two sentences!
Either: "The group approves the video for inclusion on the course youtube channel."
Or:
"The group does not approve the video for inclusion on the course youtube channel."
Appendix with commented Verilog and/or program listings.
- Appendix with schematics if you build hardware external to the DE1-SoC 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/paper
Your web page must be submitted for grading, and optionally posted on the class project page.
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.
- Send it to your partner's computer to see if it renders correctly.
- email it to BRL4@cornell.edu.
Or if it is too big, send it via dropbox at https://dropbox.cornell.edu/
Copyright Cornell University
January 23, 2019