CS/ECE 3700 - Digital System Design
Spring 2010
Tuesday-Thursday, 12:25-1:45, WEB L101
Prof. Erik Brunvand
|
"If you've ever opened up your computer to get all the pizza
crumbs out, you probably noticed that there's nothing in there but a
shiny green board covered with silver lines and lots of little
black doodads. This class will attempt to teach you what those
doodads are, how they work, and why it costs so much to fix when
you spill stuff all over them."
- Bill Richardson, Former 3700 TA |
| A more formal definition of this class might be: |
| The purpose of CS 3700 is to introduce you to the
fundamental concepts of digital system theory and design. This
includes techniques for defining and minimizing logic functions,
design of combinational and sequential logic circuits, state
diagrams, Mealy and Moore finite state machine models, design with
MSI and LSI parts, design with Field Programmable Gate Arrays
(FPGAs), and system controller design. By the end of the course
you should be able to understand digital problem descriptions,
design and optimize a solution, and build, test, and debug the
resulting circuit.
|
|
Teaching staff
The instructor is
Prof. Erik Brunvand.
Phone: 581-4345. Office: MEB 3142. Please use the teach-cs3700@list.eng.utah.edu mailing list
to send email about the class.
Office Hours: Tuesday and Thursday after class, when my office door is open, or
by appointment
Teaching assistants are Toren Monson (full time) and Steven Miller (half time)
Prerequisites
CS 1410 (Intro to CS) or 2000 (Intro to Programming), and PHYCS 2220: Physics
for Scien. & Engineering II.
College Administrative Guidelines
The College of
Engineering Spring 2010 guidelines are here in PDF.
Textbook
Fundamentals of Digital Logic with Verilog Design, 2nd edition, by
Stephen Brown and Zvonko Vranesic, c2008. Available at the University
Bookstore and at various places on the web.
CAD Software
We'll be using the free WebPACK software from Xilinx for the
labs. Important! Version 10.1 is required for this class because newer versions do not have support for our Spartan2 FPGAs. We'll use this software for schematics, circuit and Verilog simulation,
Verilog synthesis, and mapping circuits to the Xilinx FPGAs. You can download a
free copy to your own PC at this Xilinx web
site. You'll have to register, but it doesn't cost anything. This software
will also be loaded on the lab PCs. Make sure to navigate to the section that lets you download older "legacy" versions to get version 10.1. That web site is here.
Class Mailing Lists
There are two important class mailing lists:
- cs3700@list.eng.utah.edu is a list of
everyone in the class. I'll use this list to
send important information to everyone in the class!
This list has been populated with the email of all students who were preregistered for CS/ECE 3700. Note that this automatic processes used your <uid>@utah.edu email address, so please make sure that you're reading that email address or have that address forward email to the place you do read your email. Also note that there is only one class mailing list even through there are two course numbers being used (CS3700 and ECE3700).
- teach-cs3700@list.eng.utah.edu
Email sent to this list will go to both the professor and the TAs. This
is BY FAR the preferred method of asking questions! It lets
all the teaching staff see and respond to the questions. Please use this
email address unless you have very specific reasons for only sending email to
one person.
Meeting times
- Lectures: CS/EE 3700 lectures are on Tuesday and Thursday from
12:25-1:45 in WEB L101.
- Labs: NOTE: Do not attend your lab in the first
week of class. Labs will start in the second week of class. All labs
will be held in the School of Computing Student Digital Systems Lab (DSL) whih
is MEB 3133.
- Students have been assigned to lab sections. Find your lab section here!
| Lab Session 2 TA: |
Toren |
Wednesday |
1:25-2:45pm |
| Lab Session 3 TA: |
Toren |
Wednesday |
3:40-5:00pm |
| Lab Session 4 TA: |
Toren |
Thursday |
2:00-3:20pm |
| Lab Session 5 TA: |
Toren |
Friday |
9:40-11:00am |
| Lab Session 6 TA: |
Steven |
Friday |
1:30-3:00pm |
| Lab Session 7 TA: |
Steven
| Thursday |
5:30-7:00pm |
Office hours
Prof. Brunvand's hours are after class, whenever his
door is open, and by appointment in his office (3142 MEB).
The TAs hold their general office hours in the DSL. The times are:
- Toren: Wednesday 2:45-3:40pm
- Steven: Monday 3:00-4:30pm
Grading policies
THERE IS NO PROVISION FOR TURNING IN LATE LABS OR ASSIGNMENTS
Grading will be based on the following:
- Homework and Lab Assignments: 35%
- Final Lab Project: 15%
- MidTerm Exam I: 15%
- MidTerm Exam II: 15%
- Final Exam: 20%
Final point totals will be scaled so that the best student in the class has
100%. All students will be scaled by the that amount. Grade ranges will be:
- Within 90% of the best student: Some sort of A
- Within 80% of the best student: Some sort of B
- Within 70% of the best student: Some sort of C
- Within 55% of the best student: D
- Below 50% scaled percentage: E
Cheating will not be tolerated! A discussion of this issue can be found here
Assignments
Hand in hard-copy paper assignments in the box outside the School of Computing
front office (MEB 3190). Make SURE to put your name and your lab section
clearly on the front of the assignment. Partial credit is possible, but only if
we can understand what you did, and how you reached that conclusion.
- Homework #1, Electronics review, Due Thursday Jan 21, 5:00pm.
- Homework #2, Boolean Expressions and a little Verilog, Due Tuesday February 2nd, 5:00pm.
- Lab #1, Circuits and Lab Kits, Wiring Demo due in your lab during
the week of February 1st, printed documentation due Friday, February 5th, 5:00pm.
Additional materials for this lab:
- Homework #3, Transistor Circuits (Chapter 3), Due Friday Feb 12th,
5:00pm.
- Lab #2, Verilog and using the FPGA, printed parts due Friday Feb 12th, 5:00pm, Circuit demo due in your lab
during
the week of Feb 15.
Additional materials for this lab:
- A tutorial introduction to the
ISE tools with Verilog. This introduces how to use the ISE tools with a Verilog source
rather than a schematic source. It covers entering the Verilog, simulating
the Verilog, assigning pins to the FPGA, synthesizing to the FPGA, and
uploading the configuration to the XSA-50 board.
I recommend that you run through this tutorial FIRST before you start on Lab2!!!!
- You can find information about how the switches, LEDs, and other things are connected to the FPGA on the Xess board here:
- Additional XSA-50 board documentation is at the bottom of this web
page...
Lecture Plan
Here's a link to an initial lecture
schedule. Things will almost certainly drift a little, but here's my plan
at least. Please make SURE that you read the appropriate sections in the book
BEFORE the lecture!
Handouts and Other Useful Information
- Here's a list of errata (mistakes) in the book
from the publisher's web site.
- PDF copy of another Electronics Review.
- Information about using Map Entered Variables (MEV) in Karnaugh
maps. These are scanned from Fletcher's book An Engineering Approach
to Digital Design. Note that these pages describe a slightly more
complex version that involves don't cares. It's more common just to
have variables on their own without added don't cares on the MEVs, so
just look at the plain MEV stuff:
Page 1,
Page 2,
Page 3,
Page 4,
Page 5,
Page 6,
- Info about the lab kits...
- Info about the FPGA boards in the lab kits...
- Verilog Information
ADA Statement
ADA Statement: The University of Utah
ECE Department and School of Computing seek 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 instructor and to the Center for Disability Services, 162 Olpin Union Bldg,
581-5020 (V/TDD) to make arrangements for accommodations. This information is
available in alternative format with prior notification.