CSC 270
Digital Circuits and Microprocessors
Spring 2004
Professor: Judith Cardell
e-mail: jcardell@cs.smith.edu
Office: Engineering 105b
Office Hours: M 1:00 - 2:30; W 11am - noon
Class Time: TR 10:30 to 11:50, Burton B17
Lab Time: T 3:00 to 4:50, Burton B01
Textbook: Digital Design 3rd ed., by M. Morris Mano, Prentice Hall, 2002
Teaching Assistant: Aye Thuzar
TA Help Sessions: MW 7:00-9:30pm; Burton B01 or B17
Course Overview:
CSC270, Circuits and Systems, is one of two (270-262) CS courses that must be taken to satisfy the Computer
Science major. It is a laboratory-based class intended to give students a general background in the theory
and application of computer
electronics. Most students will take this class after CSC231 (Assembly language) and before CSC364 (Compute
architecture), although students not as much interested in digital electronics as in computer organization
can easily take CSC364 after CSC231 without any lack of background information.
This course is also cross listed with Engineering (EGR251). Engineering students who have not taken assembly language may take this course after completing a couple of self-study assignments on assembly language, which should require between one to two weeks of equivalent class time to complete.
The class is intended to give students without a previous background in physics or electricity an understanding of digital and microprocessor electronics. During the laboratory sessions, students experiment with designing and building digital circuits through the use of two Heathkit training kits, one for digital logic (first half of the semester), and the other for microprocessor hardware (second half of the semester). The digital logic labs introduce the concepts of electrical signals, direct and alternating currents, frequency, and the implementation of a binary system with dual voltage circuits. The microprocessor labs evolve around a Motorola 6800 8-bit microprocessor system, programmable in hexadecimal. The organization of this computer is explored, with emphasis on the microprocessor buses, random-access and read-only memories, as well as input/output (I/O) circuits.
Prerequisites:
CSC231, Assembly Language, is a strongly recommended prerequisite. A background in electronics and/or physics is not necessary: The intent of this course is to be self-contained and provide a general understanding of the physical aspects of digital circuits and computers.Topics:
Course Work:
There are 8 homework sets, and 11 labs during the semester. Lab reports are due at the beginning of the
lab period on the following week. Homework is due at the beginning of class on the day indicated in
the schedule. There is also one midterm exam the week before
Spring Break and a final exam during finals week.
Course Grading:
| Homework Assignments |
|
| Weekly Labs |
|
| Attendance and Participation |
|
| Midterm Exam |
|
| Final Exam |
|
Honor Code: The homework assignments that you submit must be your own work. You are encouraged to work with your classmates to understand the concepts and the problems, but each student must work out and hand in her own homework solutions. It is not okay to copy answers from another student's homework -- doing so is a violation of the Honor Code. Labs will be done in teams of two, but each student must still hand in her own lab report, demonstrating her own understanding of the material and her own work. Do not hesitate to ask any questions that you may have concerning the honor code!
Circuit Simulator:
microProcessor Simulator:
PIPPIN
This logic circuit simulator is useful for testing simple circuits. It does have
some less than perfect features, but is free, so use it to the extent you find it
helpful. Click on the link, open the .zip file and double click on the .jar file.
Simcir121
Copyright 1998-2000, Kazuhiko Arase
This simulator can be used to show the fetch-execute cycle for a very simple processor, if
you type in a simple assembly code program. Note that the simulator will only work in Windows, and not
in Linux.
Data Sheets:
(Provided by D. Thiebaut)
CSC 270 Digital Circuits Schedule
| Day | Topic | Reading | Lab | HW | Due |
| Jan 25 | Course introduction; Electricity and circuit basics |
Chapter 1 | Circuit Tutorials,
Parts A and B may be helpful |
||
| Jan 27 | Binary systems & Boolean algebra |
Chapter 2-1 to 2-4 | |||
| Feb 1 | Logic gates | Chapter 2-5 to 2-8, | Lab 1 Intro to the digital kit and simple circuits Lab Report Format |
||
| Feb 3 | Maps and Circuit minimization |
Chapter 3-1 to 3-4 | HW 2 | HW 1
Due Feb 3 at the beginning of class HW1 notes HW1 soln |
|
| Feb 8 | Maps and circuit minimization | Chapter 3-5 to 3-8 | Lab 2 Logic circuits and a majority voter |
Lab 1 | |
| Feb 10 | Combinational Logic | Chapter 4-1 to 4-5 | HW 3 | HW 2 due | |
| Feb 15 | Decoders and encoders | Chapter 4-6 to 4-10 | Lab 3 Adding and Subtracting |
Lab 2 | |
| Feb 17 | Synchronous Sequential Logic: Feedback and flipflops | Chapter 5-1 to 5-3 | HW 4 | HW3 | |
| Feb 22 | Synchronous Sequential Logic II: Analysis | Chapter 5-4 and 5-6 (skip 5-5) | Lab 4 Decoders and Encoders |
Lab 3 | |
| Feb 24 | Synchronous Sequential Logic III: Design | Chapter 5-7 | |||
| Mar 1 | Sequential Circuit Design | Lab 5 MUXes and Flip Flops |
Lab 4 | ||
| Mar 3 | Vending Machine Design | HW 4 | |||
| Mar 8 | Sequential Circuits II;
Midterm Review |
Lab 6 The oscilloscope |
Lab 5 | ||
| Mar 10 | Midterm exam in class | ||||
| Mar 15 | Spring | Break | Spring | Break | Yeah |
| Mar 22 | Registers and Counters | Chapter 6-1 to 6-2 | Lab 7 Traffic Light Sequencer |
Lab 6 | |
| Mar 24 | An introduction to microprocessors I | handout | HW 5 | ||
| Mar 29 | An introduction to microprocessor II: The 6800 | handout | Lab 8 Intro to the 6800 kit |
||
| Mar 31 | no class | HW 6 | HW 5 due by Friday 9am to EGR 105B | ||
| Apr 5 | Introduction to RAM: Timing diagrams | handout (and 7-1 to 7-3 as reference) | Lab 9 Observing 6800 execution |
Lab 8 | |
| Apr 7 | RAM Addressing Schemes | handout | HW 7 | HW 6 due Friday April 8, 4pm to EGR 105B | |
| Apr 12 | RAM Addressing: Prelab work for lab 10 | handout | Lab 10 Using memory with the 6800 |
Lab 9 | |
| Apr 14 | Data bus, address slection, 2-bit output ports | handout | no HW 8 | ||
| Apr 19 | Peripheral interfacing, I/O circuits with flip-flops |
handout | Lab 11 I/O with flip flops and a switch |
Lab 10 | |
| Apr 21 | Assembly programming: Traffic Light & the 6800 |
handout | HW 7 | ||
| Apr 26 | Power consumption in digital circuits | handout | No Lab |
Lab 11 due 4pm to EGR 105B | |
| Apr 28 | Semester Reivew | ||||
| May 3 | Final |
Exam | Pick up any time after Friday April 29, 4pm from Bass Library | Return by 4pm Thursday May 5 to Michele Schaft in Little House | Exams returned between 4:00 and 4:30 will lose 1 point per minute that they are late. Exams returned after 4:30pm May 5 will not be accepted |