Cornell University, ECE 576
Overview and Policy


Prerequisites
ECE 476 and ECE 475, or permission of instructor.
At the beginning of the class you need to know:

Reading
Labs will be based on web pages and Altera documentation. We will expect you to become completely familiar with a large amount of detailed FPGA, NiosII, and MicroC/OS information from Altera. You will have to find, read, and apply appropriate information.

Purpose
The purpose of this course is to enable its students to carry out sophisticated designs of digital systems using system-on-programmable-chip (SOPC) techniques, along with a variety of digital and analog interface technologies to build complex devices.

This course is a design course. This means that we will expect you to show considerable creativity, flexibility, and motivation.
In particular you will need to:

Course Work

There will be lab assignments and a final project.

The course grade will be calculated as follows:

Laboratory Policies

You are expected to attend your assigned lab period every week and to finish the lab assignment in the alloted time. There is no makeup lab time available. You must finish the assignment in the alloted 3 hours, or you will lose up to 25% of your lab grade. All negotiations concerning lab absences due to plant trips or sickness are to be conducted with your lab instructor. For plant trips you must notify your instructor in advance.

You are expected to be familiar with the assignment before coming to lab. Homework results needed in the lab must be finished before the lab session. Roughly 25% of your lab grade depends upon being prepared. Another 25% depends on the quality, quantity and character of the work done during the lab period. The remaining 50% will be based on your lab writeup. The same ratios (25, 25, 50%) hare used to evaluate the final project.

Lab work will be in groups of 2. Both members are expected to become proficient with all aspects of the lab. Where each has prepared design work or code assigned as homework, the group design will involve negotiation. The members of a group may be graded differentially if it becomes obvious that one person is doing the bulk of the work.

Laboratory Reports

Each laboratory assignment requires a written report. You will submit a single report for your group. The report must be handed in at your assigned lab section, one week after the lab is finished. The report should be submitted as a collection of pages stapled or bound together.

The report should be a concise documentation of the project assigned. The presentation should be arranged so that any reader with technical competence in the subject can easily understand what was done and how it was done. The following report organization is suggested:

  1. Introduction: Give a short explanation of what was done. This will include the homework assignment answers.
  2. Design and Testing Methods: Explain the approach you used for both software and hardware aspects of the assignment. Be sure to include the design of tests whose outcome are convincing to the reader (or to the instructor in the lab) that the requirements of the assignment have been met.
  3. Documentation: Include here drawings and program listings, together with any explanatory comments needed.
  4. Answers to specific questions given in the lab writeups.
  5. Comments: This optional section is for any comments the authors may wish to make concerning the assignment, including suggestions for improvement, excuses, and complaints. The purpose of this section is to encourage the writer to make the other sections clear, concise and understandable, and to reserve this section for creative comments.

Access to computers

You and your partner will have use of a PC, microcontroller evaluation board, and peripheral breadboard in Phillips 238 during your assigned lab period. Students from other lab periods may use setups not needed by students attending their assigned lab.

N.B. Machines and file systems sometimes die. You should always back up all your work. There is no excuse for lost work, even if it is because of a compiler or other system error.