# Welcome to ES 4!

**Quick links:** Canvas — Piazza — Gradescope — Textbook
online — VHDLweb problems

This is the home page for Tufts ES 4, Introduction to Digital Logic.

# Schedule and links

This is the draft schedule for Fall ’24, so you can get a sense of how the course will go. Links will be fixed as the course progresses.

General due dates, unless otherwise specified:

**Reading checks**are due on the day of class at 11am, via Canvas.**Homework/assessments**are due on Tuesdays at 1:30pm (i.e., at class time), via Gradescope.**Prelabs**are due 24 hours before your lab section, via Gradescope.**Lab writeups**are due at the time of your lab section the following week, via Gradescope.

## Week 1 (September 1)

Class begins in Barnum LL08 (the lecture hall in the Barnum basement – it’s easiest to enter at the back). You don’t need to do anything before class, just show up!

### Introduction (Tuesday 9/3)

### Numbers in binary

### Just for fun

### Boolean equations, truth tables, and circuits (Thursday 9/5)

### Assignments

## Week 2 (September 8)

### Manipulating boolean equations (Tuesday 9/10)

### Possibly helpful

### Minimizing logic with Karnaugh maps (Thursday 9/12)

### Possibly helpful

### Lab

### Possibly helpful

## Week 3 (September 15)

### Multiplexers and FPGAs (Tuesday 9/17)

### Just for fun

### Timing combinational logic (Thursday 9/19)

### Possibly helpful

### Lab

## Week 4 (September 22)

### VHDL for combinational logic (Tuesday 9/24)

### Computer arithmetic (Thursday 9/26)

### Lab

### Assignments

### Just for fun

## Week 5 (September 29)

### Testing and testbenches (Tuesday 10/1)

### Structural modeling

### Adders and other combinational circuits (Thursday 10/3)

### Lab

There is no prelab or lab report this week!### Assignments

### Possibly helpful

### Just for fun

## Week 6 (October 7)

### Exam 1 (Tuesday 10/8)

### Latches and flip-flops (Thursday 10/10)

### Lab

### Just for fun

## Week 7 (October 13)

### Describing sequential logic with VHDL (Tuesday 10/15)

### More on sequential logic and VHDL (Thursday 10/17)

### Lab

No new lab this week; complete lab 5 if you haven’t finished.

### Free-form VHDL simulation

### Possibly helpful

### Just for fun

## Week 8 (October 20)

### State machines (Tuesday 10/22)

### Moore on state machines (Thursday 10/24)

### Lab

### Optional lab stuff

### Possibly useful

## Week 9 (October 27)

### Building FSMs to talk to peripherals (Tuesday 10/29)

### Possibly helpful

### Just for fun

### Memory: registers, RAM, and ROM (Thursday 10/31)

### Lab

No new lab this week; complete lab 6 if you haven’t finished.

## Week 10 (November 3)

No class on Tuesday — election day!

### Timing sequential logic (Tuesday 11/7)

### Possibly useful

### Lab

Pick one of the following three labs to complete. You probably want to coordinate with your project team so you collectively cover them all.## Week 11 (November 10)

No class on Tuesday — Tufts Monday schedule!

### Timing in real life, and some ethical dilemmas (Thursday 11/14)

No new reading for today!### Just for fun

## Week 12 (November 17)

### Project advice and exam review (Tuesday 11/19)

### Exam 2 (Thursday 11/21)

### Lab

No new lab this week; complete lab 7 and start work on the final project.

### Projects

## Week 13 (November 24)

### The ARM instruction set (Tuesday 11/26)

### Projects

### Just for fun

No class on Thursday, enjoy your Thanksgiving break!