EECS150 Components and Design Techniques for Digital Systems

EECS150 Fall 2004
Syllabus
 

Home | Old News | Calendar | Grades | Documents | Staff | Syllabus | Schedule | Old Websites | Links | TA


Sections...


Course Grading

  • 10% - Homework
  • 15% - Labs
  • 30% - Project
  • 15% - Midterm I
  • 15% - Midterm II
  • 15% - Midterm III (12/15 in course final slot)

Textbooks
Required R. H. Katz, G. Borriello, Contemporary Logic Design, 2nd Ed., Prentice Hall/Pearson Publishing, Upper Saddle River, NJ, 2004.
Availible from Copy Central on Hearst near Euclid as reader #69 for $38.71.
Recomended J. Bhasker, A Verilog HDL Primer, 2nd Ed.

Catalog Description

EECS150: Components and Design Techniques for Digital Systems. (5)

Three hours of lecture, one hour of discussion, and three hours of laboratory per week. Prerequisites: 61C, Electrical Engineering 40 or 42. Basic building blocks and design methods to contruct synchronous digital systems. Alternative representations for digital systems. Bipolar TTL vs. MOS implementation technologies. Standard logic (SSI, MSI) vs. programmable logic (PLD, FPGA). Finite state machine design. Digital computer building blocks as case studies. Introduction to computer-aided design software. Formal hardware laboratories and substantial design project. Informal software laboratory periodically throughout semester. (F,SP) Katz, Newton, Pister.


Policies

  • You must complete your previous week's laboratory and have it checked off completely before the beginning of the current week's lab. You can arrange to do this by making an appointment with your TA, seeing him during his office hours, or having it checked off just before the current week's lab commences at ten minutes after the hour.
  • Lab solutions will be posted to the website by the second lab lecture after the one concerning the lab.  (Lab #3 solution will be posted by Lab Lecture #5 for example)
  • Project checkpoints may or may not have solutions.
  • Do not fall behind -- it is virtually impossible to catch up, as the labs become progressively more difficult over the course of the semester.
  • Since the substantial lab project is a major effort involving a lab partner, it is essential that you contact your partner, your TA, and your instructor if you intend to drop the course!
  • Homework will be posted on Thursday, and will be due by 2pm (start of lab lecture) on Friday, 8 days later .
  • Home work solutions will be prepared and posted to the website as soon as possible.
  • Graded homeworks and lab checkoff sheets are returned in the lab (125 Cory).
  • See calendar on this web page for handouts, assignments, and announcements.
  • Regrades are by written petition only. The petition should succinctly state why you believe that your solution is correct when we believed it to be wrong. These should be given to the instructor or head TA. Please note that we do provide partial credit and we grade consistently across all exams.

Academic Honesty
It is a sad fact of life that cheating sometimes happens. By this we mean claiming work as your own when in fact it is not. Cheating will not be tolerated. While it is OK to discuss the homework assignments, labs, and project with your fellow students, all the work you hand in must be your own. Harsh penalties will be imposed should we detect cheating. Namely a 0 for that portion of the course, and a letter of reprimand to your student file. A second infraction is usually grounds for dismissal from the University.

Switching Sections
Discussion Attend the one you signed up for, at least for a week or two.  Otherwise some discussions will be much too large.  After about the second week of discussion (third of lecture) feel free to attend any discussion you like as long as attendance at that one is reasonable.  We recommend one taught by one of your lab TAs.
Lab E-mail Greg (gdgib@uclink) with your full name, and which section you're switching from and to, and then attend the lab section you would like to be in.  Evening labs tend to be pretty full, so we may not be able allow all morning to evening switches.  We recommend morning labs!  Because there are fewer students your TAs wont be overworked, and therefore they'll be much happier to help.  If you already have a project partner in mind, the two of you must be in the same lab.

Newsgroup

The newsgroup for this course is ucb.class.cs150, it is availible from news.berkeley.edu.  To get access from off campus you can use a unix newsreader (such as tin) from an instructional server, you may use webnews or you may use AUS.

  • The newsgroup will sometimes have duplicate announcements from the webpage.  The webpage is the primary source of course news.
  • Please post a question to the newsgroup rather than e-mail a TA.
  • Feel free to answer questions of other students, but do be sure of your answer.  (Take student written answers with a grain of salt)
  • Academic Honesty rules still apply.  Do not solicit or provide answers on the newsgroup.

Course Goals

  • Understand digital logic at the gate and switch level including both combinational and sequential logic elements.
  • Understand clocking methodologies to manage information flow and preservation of circuit state.
  • Appreciate digital logic specification methods and the compilation process that transforms these into logic networks.
  • Gain experience with computer-aided design tools for implementation with programmable logic devices.
  • Appreciate the advantages/disadvantages between hardware and software implementations of a function.

Course Syllabus

Introduction to modern digital logic design Combinational logic
  • Switch logic and basic gates
  • Boolean algebra
  • Two-level logic
  • Regular logic structures
  • Multi-level networks and transformations
  • Programmable logic devices
  • Time response
  • Case studies
Sequential logic
  • Networks with feedback
  • Basic latches and flip-flops
  • Timing methodologies
  • Registers and counters
  • Programmable logic devices
  • Case studies
Finite state machine design
  • Concepts of FSMs
  • Basic design approach
  • Specification methods
  • State minimization
  • State encoding
  • FSM partitioning
  • Implementation of FSMs
  • Programmable logic devices
  • Case studies
Elements of computers
  • Arithmetic circuits
  • Arithmetic and logic units
  • Register and bus structures
  • Controllers/Sequencers
  • Microprogramming
Computer-aided design tools for logic design
  • Schematic entry
  • State diagram entry
  • Hardware description language entry
  • Compilation to logic networks
  • Simulation
  • Mapping to programmable logic devices
Practical topics
  • Non-gate logic
  • Asynchronous inputs and metastability
  • Memories: RAM and ROM
  • Implementation technologies


ŠUC Berkeley EECS150 http://www-inst.eecs.berkeley.edu/~cs150/fa04/
Last Updated: 08/25/2004 by [an error occurred while processing this directive]
Greg Gibeling