E15/CS38:  Fundamentals of Digital Systems
Fall 2009

T Th 8:30-9:45, Hicks 212
Lab: M/W 1:15-4:00, Hicks 310


Instructor:
Tali Moreshet
Office: Hicks 218, x8331

Office Hours: Wed. 9-10am, Thur. 2-3pm, Open door policy

 

 

 

 

 



Course Description:

This class is an introduction to the basic concepts of digital systems, including analysis and design of such systems. This consists of both combinational and sequential logic. Lectures and labs will enable students to experience with several levels of digital systems, from simple logic circuits to hardware description language and interface programming in C.

syllabus



Textbooks:

Links:


Tentative Class Schedule

NOTE: Some of the links on this page are not accessible from outside Swarthmore.

Week Dates Topics Readings Labs & HW
1 Aug 31-Sep 6
  • Introduction
  • Logic gates
  • Boolean algebra
Chapters 1, 2
Lab 1: Old school digital design
See www.ti.com for data sheets.

Homework 1

2 Sep 7-Sep 13
  • Number systems and codes
  • Optimization and minimization
  • Karnaugh Map

Chapters 1, 2
Chapter 3.1-3.6

Lab 1: Old school digital design
See www.ti.com for data sheets.

Homework 2

3 Sep 14-Sep 20
  • Tues, 9/13 - NO CLASS
  • Technology mapping
  • Verilog introduction

Chapter 3.7-3.9

No lab this week.

Homework 3

4 Sep 21-Sep 27
  • Digital arithmetic
  • Useful combinational circuits

Chapter 4.1-4.12
Verilog code handouts

Lab 2: Combinational logic
Quartus II Abbrev Manual
DE2 User Manual

Homework 4

5 Sep 28-Oct 4
  • Useful combinational circuits - cont
  • Shannon's expansion theorem
  • EXAM - Tues 9/29, 5:30-7:30pm
  • Intro to state machines
Chapter 5.1-5.4

Lab 2: Combinational logic
Quartus II Abbrev Manual
DE2 User Manual

Homework 5

6 Oct 5-Oct 11
  • Sequential logic elements
  • State machine design
Chapter 5.5-5.8

Lab 3: Sequential logic

Homework 6

Fall Break
7 Oct 19-Oct 25
  • State machine design - cont
  • Alternative state machine design techniques
  • Registers and counters
Chapter 5.5-5.8
Chapter 8
Chapter 6

Lab 3: Sequential logic

Homework 7

8
Oct 26-Nov 1
  • Registers and counters - cont
  • C programming
Chapter 6
See C programming links above
How to run C on your laptop
hello.c, loops.c

Lab 4: PIC Microcontroller
Lab 4 files: pic_blinking.c, pic_a_d.c, pic_LCD.c, Pic User Guide, Pic C reference manual, Pic Manual

Homework 8

9 Nov 2-Nov 8
  • C programming -cont
See C programming links above
prime.c, char_count.c, multbytwo.c, Fibonacci.c

Lab 4: PIC Microcontroller
(See Lab 4 files above)

Homework 9

10 Nov 9-Nov 15
  • EXAM - Nov. 10
  • C programming - cont

See C programming links above
swapping.c, my_strlen.c, my_strcat_template.c, echo.c

Lab 5: C programming

Homework 10

11 Nov 16-Nov 22
  • C programming - cont
  • Memory
See C programming links above
Chapter 7

Lab 5: C programming

12 Nov 23-Nov 29
  • Programmable logic
  • Thanksgiving
Chapter 7

Lab 6: project
13 Nov 30-Dec 8
  • Microcontroller architecture
  • CMOS
Microcontroller handouts
Chapter 10

Lab 6: project

  FINAL EXAM: Sat. Dec 12, 9am