ECE 3710-001 Fall 2019 Computer Design Lab

ECE 3710-001 Fall 2019 Computer Design Lab

CS/ECE 3710
Computer Design Lab
Fall 2019

Instructor: Chris Myers,, MEB 4112
Office Hours:

T 12:45 - 1:30pm (in MEB 3133)
or by appointment

Teaching Assistant: Harikrishna,, MEB 3133
Office Hours:

M 9am-noon, T 8am-10:30am, noon-2pm W 2pm-5pm, Th 8am-10:30am, noon-2pm, F 11am-2pm

Class: TTh 9:10-10:30, WEB L102
Prof/TA Email:
Prerequisites: CS/ECE 3700 (Digital System Design) and CS/ECE 3810 (Computer Organization) or equivalent.
Textbook: None, but should find the CS/ECE 3700 and CS/ECE 3810 textbooks helpful.

Note that for the first few lectures, we will meet in the classroom.  After labs start, there will be a REQUIRED weekly meeting with the instructor and another REQUIRED weekly meeting with the TA throughout the rest of the semester.

Course Description

This is a laboratory class in which groups of students (groups can be of size 3 or 4) design, build, and test a simple computer. The idea is to use your digital design skills from 3700, and your computer architecture knowledge from 3810, and put it all together into an interesting semester-long project. You will receive the design specifications in lecture. You will then interpret the specifications and develop a model of the design using a combination of Verilog and schematics. The model should be simulated. Once validated you will synthesize the design onto the FPGA boards. The design will contain the instruction set design, memory organization, ALU design, control, and input-output design.

We are going to implement a 16-bit microprocessor based loosely on the CR16A Microprocessor (more details below). I'll hand out a baseline instruction-set that every team will have to implement. Subsequently, each team will augment their instruction set depending upon the type of applications they have in mind.

In addition to the basic processor design, each student team will develop IO + memory interfaces, along with necessary drivers that will control the interfaces. Moreover, each team will propose further extensions to their designs for particular targeted applications. You will have enough leverage to come up with your own applications and extensions. For example, you can develop games, do some graphics/visualization (VGA interfaces), audio signal processing (interfacing audio CODECs), study and implement basic pipelining, or design fast/efficient arithmetic components. The choice is yours. Make sure that your extensions somehow relate to your applications, and make sure you're having fun!

One of the main deliverable of this class is to design an application to run on your processor. Many students have designed games as the software that runs on the CPU: these have included a game of skiers trying to ski down a slope while avoiding obstacles, rock-paper-scissors, ping-pong, tank battlefield, among many other configurable and modular games. Students have also designed music synthesizers, applications to control stepper motors and such. Sometime around the first/second week of October, each group of students will decide on an application.

We will have a mid-semester presentation on what you have done so far (what, how, why, problems faced, workarounds, etc.) and what application you intend to design on your CPU. Once decided, then you will proceed towards writing assemblers + software for your code. Each group, and every member of the group will have to make a presentation to the class.

Grading Policy

  • Labs and checkpoints: 35%
  • Mid-semester presentation: 10%
  • Final Project: 50%
    • Written Documentation: 20%
    • Project details: 30% (project meetings, project functionality, implementation, team member evaluation)
  • Group Evaluations: 5%
    Incomplete grades are only possible if you have a documented medical or legal emergency.

Academic Misconduct

  • Note that the School of Computing has adopted a tougher stance on academic misconduct you will need to read the policy (Links to an external site.)Links to an external site. and print and sign the form. At this point in your program, I assume that everybody already has this form on file with your advisor. If you don't, for some reason, you need to turn this form (Links to an external site.)Links to an external site. in to Will Turner (the CE academic advisor) by Friday, August 24.

  • For 3991, academic misconduct means representing work that is substantially copied from an outside source as your own. If you've made use of information from other sources (published documents, reference materials, friends, colleagues, web tutorials, manufacturer's examples, etc.) then you must cite that source in your final paper. If you use text which is slightly modified or copy diagrams that you find on the web then the source of this information must be cited. Best practice for textual work is to cite information obtained elsewhere and provide the full reference in a bibliography. For copied diagrams used in either your final report the best practice is to cite the source in the caption or as text associated with the diagram. This is not an optional practice.

University Policies

  1. The Americans with Disabilities Act. The University of Utah seeks to provide equal access to its programs, services, and activities for people with disabilities. If you will need accommodations in this class, reasonable prior notice needs to be given to the Center for Disability Services, 162 Olpin Union Building, (801) 581-5020. CDS will work with you and the instructor to make arrangements for accommodations. All written information in this course can be made available in an alternative format with prior notification to the Center for Disability Services.
  2. University Safety Statement. The University of Utah values the safety of all campus community members. To report suspicious activity or to request a courtesy escort, call campus police at 801-585-COPS (801-585-2677). You will receive important emergency alerts and safety messages regarding campus safety via text message. For more information regarding safety and to view available training resources, including helpful videos, visit
  3. Addressing Sexual Misconduct. Title IX makes it clear that violence and harassment based on sex and gender (which Includes sexual orientation and gender identity/expression) is a civil rights offense subject to the same kinds of accountability and the same kinds of support applied to offenses against other protected categories such as race, national origin, color, religion, age, status as a person with a disability, veteran’s status or genetic information.  If you or someone you know has been harassed or assaulted, you are encouraged to report it to the Title IX Coordinator in the Office of Equal Opportunity and Affirmative Action, 135 Park Building, 801-581-8365, or the Office of the Dean of Students, 270 Union Building, 801-581-7066.  For support and confidential consultation, contact the Center for Student Wellness, 426 SSB, 801-581-7776.  To report to the police, contact the Department of Public Safety, 801-585-2677(COPS).
  4. Additional College of Engineering Semester Guidelines can be found here.

Course Summary:

Date Details Due
Public Domain This course content is offered under a Public Domain license. Content in this course can be considered under this license unless otherwise noted.