CE1911
Digital Logic 2

Catalog Description

This course introduces sequential logic analysis and design. The topics include flip-flops, registers, counters, shift-registers, algorithmic state machines, basic algebraic data paths, register files, and memories. Emphasis is placed on the VHDL hardware description language as a vehicle for circuit description and simulation. Laboratory exercises require the student to design, simulate, implement, and test a wide range of sequential digital circuits using standard logic families and programmable logic devices. (prereq: CE 1901) (This is the official description for this course.)

Basics

Instructor
Josiah Yoder
lıɐɯə
npǝ˙ǝosɯ@ɹəpoʎ
Office
L344 (Library, 3rd floor)
Office Hours
See below
 
Phone
ƖƐ96 ᔭᔭᔭ ϛ9ㄥ Google Voice; rings my office and home phone at the same time.
Required Textbook
Harris, S., Harris, D., Digital Design and Computer Architecture - ARM Edition, Morgan Kaufmann, Waltham, MA, 2016, ISBN: 978-0-12-800056-4

Outcomes

On successful completion of this course, the student will be able to:

  • Analyze sequential logic circuits
  • Design sequential logic circuits using paper-based techniques such as Boolean algebra and Karnaugh maps
  • Design sequential logic circuits using using the VHDL hardware description language
  • Apply datasheets during analysis and design
  • Draw timing diagrams for sequential logic circuits

(These are the Official Course Outcomes for this course)

Learning Resources

Course webpage

Dr. Meier's webpage is the official webpage for all sections of this course, except that...

  • This page replaces the "Policies" page completely. The remaining five sections (Home, Datasheets, Lecture Plan, Laboratory Plan, and Design Software) apply to this class.
  • Additional requirements on labs are given on the pages on this class.
  • The outcomes page replaces the day-by-day outcomes on Dr. Meier's site.

My Schedule (Office Hours)

Time Mon Tue Wed Thu Fri
8:00          
9:00 CE1911
S314
10:00 CE1911
CC46
CE1911
CC46
CE1911
CC46
11:00 Office
Hour
  Office
Hour
 
12:00   Office
Hour
CS499 SE3910
S365
Office
Hour
1:00 Dept Mtg      
2:00 SE3910
CC118
SE3910
S365
SE3910
CC118
SE3910
CC118
3:00 Office
Hour
Office
Hour
  UR4983
4:00      

Class

While I don't mind if you have to skip a class, class attendence is essential so you can learn what material I expect you to know, what HW and quizzes there will be, etc.

In class, I expect you to focus completely on class material. Instead of checking your email or browsing facebook, participate in the class activities and take notes of what you are learning.

If it becomes necessary to consider dropping the class, I am happy to give you advice, but I want you to make the final decision (with the help of your academic advisor). So if you stop coming class, I will not drop you, but instead give you whatever grade you have at the end of the quarter, even if it is an F.

Labs

This quarter, we are learning the foundations of computing. To ensure that you master this material, Labs are individual.

Lab attendance is required. In this and most computer engineering classes, it is essential to complete at least the prelab (and much of the lab) well before the scheduled lab period, and to complete the lab itself during the scheduled lab period.

Prelabs turned in electronically are due at 11pm the night before the lab, with a 1 hour grace period. Prelabs due on paper are due at the start of lab. In every uploaded file, include your name, date, and the assignment name. Please only submit a lab once. Multiple submissions are hard for me to keep track of, especially if I've already started to grade the first one.

For every day that goes by beyond the original deadline, it gets much harder to catch up on a lab. As a result, after the deadline, you can receive partial credit for a lab, up to 10% off per day.

All assignments must be turned in by 4:30pm on Friday of Week 10 so that we can wrap things up and I can turn the grades in on time.

Please start early and ask me for help if you get stuck.

Learning Assessment

This quarter, we will use the following to measure your learning:

Lab projects 30%
Mini-Exams Quizzes 20%
Half-exam 1 10%
Half-exam 2 10%
Final Exam 30%
Total 100%

I sometimes make mistakes in tallying points. If you become aware of an error in grading, please send me an email, and I will fix it and reply by email.

If the error goes beyond tallying points, discussing things in person is a great way to start to resolve an issue. I may ask you to send me an email if I think the case you are asking about requires careful consideration.

Please maintain your own records of your grades and check them against whatever summaries I send to you.

Quizzes & Exams

Quizzes and exams will be held at the beginning of lab each week. You are welcome to ask the topics covered on a quiz in advance.

Because of the difficulty of preparing fair and accurate tests, you cannot retake a quiz or exam if you miss it or do worse than you hoped. I will drop your lowest quiz score, so one 0 should not be a problem. If you need to skip an exam, you should schedule a make-up exam before the missed exam. I don't always give make-up exams, even if students ask in advance.

This quarter, the half-exams will be held in class, Friday of Week 4, and Wednesday of Week 6.

You must have a passing grade on the exams to pass the class.

Grade Scale

I use the official MSOE grading scale:

≥93% ≥89% ≥85% ≥81% ≥77% ≥74% ≥70% <70%
A AB B BC C CD D F

In final grading, I may award a grade higher than the grade scale if I feel it is more accurate than what the "raw numbers" produce.

Integrity

Your integrity is your most valuable academic possession, significantly more valuable than passing a class or getting a high GPA.

Academic integrity is essentially truthfulness -- ensuring that if it appears you have done or know something, you have.

It is possible to accidentally give the impression that work is yours. If something like this happens to you, please let me know as early as possible. It is better if you point it out than if I find it.

Be on the watch for violations of academic integrity, including:

  • Receiving code from another student not on your team, even by looking at it.
  • Giving code to another student not on your team, even by showing them.
  • Looking at another student's work during a quiz or exam.

Read MSOE's Policy on Student Integrity for more details.

When coding, you are encouraged to discuss strategies, but the implementations should be independent. Even discussing the details is not a good idea if it goes too far. If you want to show code, start up an independent program rather than showing an assignment -- and use a different application than the assignment at hand to demonstrate the concept you wish to share.

Because of the importance of maintaining academic integrity, I will report apparent academic dishonesty to the Vice President of Academic Affairs. If this occurs, you will get a copy of the report.

Fine Print

1Although we will build computing machines, there are a few more steps 'till we have a complete computer... read the following chapters in our text for details!