Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
77 views7 pages

Syllabus

This document provides information about the Computer Science 150 course taught at UC Berkeley in Fall 1992. The course covers digital logic design techniques including Boolean algebra, logic minimization, sequential circuits, finite state machines, and computer organization. It includes both a lecture and lab component. The lecture portion covers topics like combinational and sequential logic, state machines, and computer architecture. The lab portion involves building and testing digital circuits. Students complete hardware labs, software tutorials, and a final project.

Uploaded by

Alexaa A
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
77 views7 pages

Syllabus

This document provides information about the Computer Science 150 course taught at UC Berkeley in Fall 1992. The course covers digital logic design techniques including Boolean algebra, logic minimization, sequential circuits, finite state machines, and computer organization. It includes both a lecture and lab component. The lecture portion covers topics like combinational and sequential logic, state machines, and computer architecture. The lab portion involves building and testing digital circuits. Students complete hardware labs, software tutorials, and a final project.

Uploaded by

Alexaa A
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

Computer Science Division

Electrical Engineering and Computer Science Department


University of California, Berkeley
Berkeley, CA 94720

Computer Science 150 R. H. Katz


Fall 1992

Course Information
Components and Design Techniques for Digital Systems

Catalog Description:
Design of Boolean logic and finite state machines. Standard SSI, MSI, and LSI parts. Drawing standards,
dependency notation. Implementation with different logic families, mainly TTL and MOS sticks. Synchro-
nous system design, ALU, memory, tri-state, and open-collector busses. Functional blocks in microproces-
sors. Discussion of a typical example of a microcomputer. Simple I/O, switches, LED displays, A/D, D/A.

Course Synopsis:
The course covers the basic building blocks and design methods used in the construction of synchronous
digital systems, most notably, digital computers. A variety of different representations of digital systems
will be described, including truth table, switch/stick diagram, logic gate, timing diagram, transistor dia-
gram, state diagram, ASM (algorithmic state machine) chart, block diagram, etc. We focus on two alterna-
tive implementation technologies, TTL and MOS, with an eye towards pointing out the different design
approaches that each of these demand. Families of highly integrated programmable logic, as well as the
more conventional discrete gate logic, will be covered. Digital computer building blocks will serve as
hardware case studies throughout the course.
The course will include extensive software tutorials to introduce students to the fundamentals of computer-
based digital design tools, as well as a traditional “hands-on” hardware laboratory including a substantial
final project. Students will receive software course accounts on UCB Volga (DECServer 5400, 64 MByte
RAM, 2.4 GByte Disk, Ultrix 4.0, Terminals in Cory and Davis) and will have access to IBM PC-ATs in
123 Cory Hall and the hardware laboratory 204 B Cory.

Course Prerequisites:
Basic Knowledge of Electronics (e.g., EECS 40); Boolean Algebra; Assembly Language Programmer’s
View of a Computer (co-registration in CS 60B is OK).

Course Grading:
Lecture Portion (60%):
Homework + Software Tutorials: 20% (6 - 10 hours per week)
Midterms (2): 20% (10% each)
Final: 20%
Laboratory Portion (40%):
Hardware Labs 0-7: 15%
Hardware Final Project: 25%

Page 1
Course Texts:
Required Materials:
1. R. H. Katz, Contemporary Logic Design, Book Manuscript, 1992. Available at Copy Central on Ban-
croft as CS150 Volume I.
2. Texas Instruments, Inc., The TTL Data Book, Volume 2.
3. Computer Science 150 Laboratory Manual, Available at Copy Central on Bancroft as CS150 Volume II.

Recommended Materials:
4. Lecture Slides for CS 150, Available at Copy Central on Bancroft as CS150 Volume III.

Lecture, Laboratory, and Discussion Section Schedule:


Lecture: MWF 2:00 – 3:00 PM, 22 Warren Hall
Laboratory Lecture: F 4 – 5 PM, 145 Dwinelle

Hardware Laboratory Sections (all in 204B Cory Hall):


11 M 8 – 11 AM (Ephrem Wu)
12 M 6 – 9 PM (Mike Dahlin)
13 Tu 8 – 11 AM (Rajeev Ranjan/Dan Engels)
14 Tu 11 – 2 PM (Sven Meier)
15 Tu 2 – 5 PM (Wendy Heffner)
16 Tu 6 – 9 PM (Srini Seshan)
17 W 8 – 11 AM (Ephrem Wu/Wendy Heffner)
18 W 6 – 9 PM (Stylianos Perissakis)
19 Th 8 – 11 AM (Dan Engels)
20 Th 11 – 2 PM (Sven Meier)
21 Th 2 – 5 PM (Rajeev Ranjan)
22 Th 6 – 9 PM (Dan Engels/Stylianos Perissakis) MAKE-UP/OPEN LAB
23 M 11 – 2 PM (John McWilliams)
24 W 11 – 2 PM (Stylianos Perissakis/John McWilliams)
25 F 8 – 11 AM (Wendy Heffner/Ephrem Wu) MAKE-UP/OPEN LAB
26 F 11 – 2 PM (Rajeev Ranjan/John McWilliams) MAKE-UP/OPEN LAB

Discussion Sections:
103 F 9 – 10 AM 81 Evans (To Be Determined)
104 F 10 – 11 AM 385 Le Conte (To Be Determined)
105 F 11 – noon 5 Evans (To Be Determined)
106 F noon – 1 PM 81 Evans (To Be Determined)

Page 2
Instructors:
Professor: Randy H. Katz, 531 Evans Hall, randy@sprite, 642-8778, Office Hours: M 1–2, W 3-4
TAs: Mike Dahlin (dahlin@sprite), Srini Seshan (ss@sprite), Co-head TAs; Daniel Engels (dragon@cory),
Wendy Heffner (wendyh@cory), John McWilliams (johnmc@cory), Sven Meier (smeier@cory),
Stylianos Perissakis (sper@cory), Rajeev Ranjan (rajeev@cory), Ephrem Wu (ephrem@cory).
Readers:

Tentative Lecture Lesson Plan


Week #1
Wednesday, 8/26:
Course Introduction and Overview;
Quick Tour through Design Process, Representations, and Technologies;
Friday, 8/28:
AND, OR, NAND, NOR, XOR, XNOR;
Motivation for Logic Simplification;
Laws of Boolean Algebra and Switch Equivalents;
Lab Lecture #1: Discussion of Hardware Laboratory #0
Monday, 8/31:
Two Level Canonical Forms;
Positive vs. Negative Logic;
Readings: Katz/pp. 1–64.
Week #2
Wednesday, 9/2:
Two Level Simplification;
Boolean Cubes and Karnaugh Maps;
Friday, 9/4:
Design Examples;
5 and 6 Variable Karnaugh Maps;
Lab Lecture #2: Discussion of Hardware Laboratory #1
Monday, 9/7:
Labor Day Holiday;
Hardware Lab #0: Schematic Entry and Logic Simulation with Viewdraw-LCA
Readings: Katz/pp. 65–92.

Page 3
Week #3
Wednesday, 9/7:
Quine-McCluskey Method;
ESPRESSO Method;
Friday, 9/11:
Multi-level Logic;
NAND-NAND and NOR-NOR forms;
Lab Lecture #3: Discussion of Hardware Laboratory #2
Monday, 9/14:
And-Or-Invert Gates; Multi-level Logic Synthesis with MIS;
Tri-states and Open Collector Gates;
Hardware Lab #1: CS 150 Lab Test Equipment
Software Tutorial #1: Logic Minimization with ESPRESSO
Readings: Katz/pp. 111–136, 194–200.
Week #4
Wednesday, 9/16:
Time Response in Networks;
Combinational Hazards;
Friday, 9/18:
Combinational Logic Word Problems;
Lab Lecture #4: Discussion of Hardware Laboratory #3
Monday, 9/21:
Circuits with State; Set-up and Hold Time;Simple Cross Coupled Gates: R-S Latch;
Latches vs. Flip-flops;
Timing Specifications;
Hardware Lab #2: Digital ICs, LEDs, Propagation Delay, and Hazards
Software Tutorial #2: Multi-Level Optimization with MIS
Readings: Katz/pp. 92–101, 148–152, 137–147, 206–222, 275–285.
Week #5
Wednesday, 9/23:
More Complex Sequential Circuits: RS-FF, D-FF, JK-FF, M/S-FF;
Timing Methodologies: Cascaded Flip-flops + Set-up and Hold Times;
Friday, 9/25:
MIDTERM I: Combinational Logic Design
Lab Lecture #5: Discussion of Hardware Laboratory #4
Monday, 9/28:
PALs and PLAs;
Hardware Lab #3: Circuits with Feedback
Readings: Katz/pp. 153–154, 285–294, 163–173, 294–300.

Page 4
Week #6
Wednesday, 9/30:
Design Examples;
Multiplexers/Selectors and Decoders;
Friday, 10/2:
Storage Registers, Register Files, Shift Registers, RAM;
Realizing Circuits with Different Kinds of Flip-flops;
Lab Lecture #6: Discussion of Hardware Laboratory #5
Monday, 10/5:
Counter Design Procedure;
Implementation with Different Flip-flop Types;
Hardware Lab #4: Basic Latches and Clocking
Readings: Katz/pp. 173–205, 301-303, 312–314, 325–349.
Week #7
Wednesday, 10/5:
Alternative State Machine Representations: State Diagrams, ASM Charts,
Hardware Description Languages;
Friday, 10/9:
State Machines; Basic Design Procedure; Parity Checker Example;
Lab Lecture #7: Discussion of Hardware Lab #6
Monday, 10/12:
Moore and Mealy Machines: Implementation Examples;
Hardware Lab #5: Registers, RAMs, and Busses
Readings: Katz/pp. 355–370, 381–410.
Week #8
Wednesday, 10/14:
Mapping Word Problems into State Diagrams: String Recognizer, Complex Counter,
Friday, 10/16:
Mapping Word Problems into State Diagrams: Traffic Light Controller, Digital Combination Lock;
Lab Lecture #8: Discussion of Hardware Lab #7
Monday, 10/19:
Choice of Flip-flops; Implementation Strategies: ROM-based, PAL-based;
Hardware Lab #6: Programmable Gate Arrays (Part I)
Readings: Katz/pp. 411–430, 338–345, 471–488.

Page 5
Week #9
Wednesday, 10/21:
Implementation Strategies: Counters, EPLDs;
Friday, 10/23:
Implementation Strategies: FPGAs, Xilinx LCAs;
Lab Lecture #8: Final Project
Monday, 10/26:
Finite State Machine Optimization: State Reduction Techniques
Hardware Laboratory #7: Programmable Gate Arrays (Part II)
Readings: Katz/pp. 495–544, 447–459.
Week #10
Wednesday, 10/28:
Finite State Machine Optimization: State Assignment Techniques and Tools;
Friday, 10/30:
MIDTERM II: Finite State Machine Design and Implementation
Lab Lecture #9: Final Project
Monday, 11/2:
Structure of a Computer; Interplay of Control and Datapath;
Software Tutorial #3: State Assignment Tools
LAB Project: Checkpoint #1, Preliminary State Diagram and Datapath Design
Readings: Katz/pp. 460–485, 553–565;
Week #11
Wednesday, 11/4:
Overview of Computer Hardware Organization and Register Transfer;
Friday, 11/6:
Block Diagram/Register Transfer View; Memory Interface;
Monday, 11/9:
Bussing Strategies; Influence on Control; State Diagram and Datapath for a Simple CPU;
LAB Project: Checkpoint #2, Detailed Datapath Design
Readings: Katz/pp. 566–588.
Week #12
Wednesday, 11/11:
Derivation and Timing of Register Transfer/Microoperations;
Friday, 11/13:
Controller Implementation: Classical Moore and Mealy Machines;
Monday, 11/16:
Controller Implementation: Pure and Hybrid Jump Counters;
LAB Project: Checkpoint #3, Detailed Controller Design
Demonstration of Operational Datapath
Readings: Katz/pp. 601–621.

Page 6
Week #13
Wednesday, 11/18:
Controller Implementation: Branch Sequencers and Microprogramming;
Friday, 11/20:
Datapath Implementation: Number Systems
Monday, 11/23:
Datapath Implementation: Simple Arithmetic Circuits;
Carry Lookahead Logic and ALUs;
LAB Project: Checkpoint #4, Testing Plan, Timing Diagrams
Demonstration of Operational Controller
Readings: Katz/pp. 622–637, 223–255.
Week #14
Wednesday, 11/25:
Datapath Implementation: Multipliers;
Friday, 11/27:
Thanksgivings Day Holiday;
Monday, 11/30:
Self-starting Counters; Asynchronous vs. Synchronous Counters;
LAB Project: Integration of Datapath and Controller
Readings: Katz/pp. 256–267, 340–354.
Week #15
Wednesday, 12/2:
Timing Methodologies: Narrow Width Clocking vs. Multiphase;
Problems of Clock Skew;
Friday, 12/4:
Asynchronous Inputs and Speed-Independent Circuits;
Monday, 12/7:
Course Review;
LAB Project: Demonstration of Working System
Readings: Katz/pp. 294–300, 304–311.

Page 7

You might also like