# 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.

# Office hours

**Prof Bell**Mondays 10am-12pm, Thursdays 10am-12pm, SEC 223**Cory**Tuesday 3-4pm, 550 Boston**Lucas**Wednesday 3-4pm, 550 Boston**Drew**Friday 12-1pm, CLIC 414 (574 Boston Ave)

# Schedule and links

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 4)

Class begins in Robinson 253 (aka the lecture hall in the SEC). You don’t need to do anything before class, just show up!

### Introduction (Tuesday 9/5)

Read learning guide

Sign up on Piazza (see email invite)

### Numbers in binary

### Just for fun

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

Read Harris 1.5 (Logic gates)

Read Harris 2.1-2.2 (Boolean equations)

Complete reading check 1

Complete welcome survey (link posted on Piazza, due Friday 9/8)

## Week 2 (September 11)

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

Sign up on Gradescope (see email invite)

Read Harris 2.3-2.5

Complete reading check 2

### Possibly helpful

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

Harris 2.6-2.7

Complete reading check 3

Practice simplifying boolean equations (works best in Chrome)

Karnaugh map solver (Make up your own and practice!)

### Possibly helpful

### Lab

In-person labs begin this week at 550 Boston Ave

### Possibly helpful

Building a circuit on a breadboard from a schematic (This video shows a different circuit from an earlier iteration of the course, but walks through the process of drawing a schematic and building it on a breadboard.)

## Week 3 (September 18)

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

Read Harris 2.8

Complete reading check 4

### Just for fun

What is an FPGA? (EEVblog) A thorough overview of FPGAs, how they work inside, and comparison with a microcontroller.

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

Read Harris 2.9

Complete reading check 5

### Possibly helpful

### Lab

MS Word report template (You don’t have to use this, it’s just for convenience.)

### Assignments

Start Homework 1 (Solutions) (due 9/26 via Gradescope)

## Week 4 (September 25)

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

Read Harris 4.1-4.2, 4.7.2

Complete reading check 6

### Computer arithmetic (Thursday 9/28)

Read Harris 1.4 (Representing numbers in binary)

Complete reading check 7

Integer Exposed visualization of signed numbers

### Lab

### Assignments

Start Homework 2 (Solutions) (due 10/10 via Gradescope)

### Just for fun

Float Exposed - See how floating point numbers are represented with bits

## Week 5 (October 2)

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

Read Harris 4.3, 4.9

Complete reading check 8

### Structural modeling

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

Read Harris 5.1-5.2

Complete reading check 9

### Lab

There is no prelab or lab report this week!
Video tutorial: using Radiant (follow the document above to flash)

### Assignments

Start Homework 3 (due 10/13 via VHDLweb)

### Possibly helpful

### Just for fun

## Week 6 (October 9)

### Exam 1 (Tuesday 10/10)

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

Read Harris 3.1-3.3

Complete reading check 10

### Lab

### Just for fun

## Week 7 (October 16)

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

Read Harris 4.4-4.5, 5.4

Complete reading check 11

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

No new quiz!

### Lab

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

### Free-form VHDL simulation

### Possibly helpful

From D-latch to D-flip-flop (Ben Eater) (This is a different way to build a D flip-flop than what the book describes, which might help you better understand what it does.)

### Just for fun

How does a PS/2 keyboard work? (Ben Eater) (Watch the first half to see a cool use of a shift register)

## Week 8 (October 23)

### State machines (Tuesday 10/24)

Read Harris 3.4, 4.6

Complete reading check 12

Introduction to state machines (Intermation) Detailed explanation of what “state” is, with a walkthrough of the traffic light example from start to finish.

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

No new reading!

### Lab

### Optional lab stuff

### Possibly useful

## Week 9 (October 30)

### Timing sequential logic (Tuesday 10/31)

Read Harris 3.5

Complete reading check 13

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

No new reading for today!
Ethics assignment (Due 11/22)

### Possibly useful

### Lab

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

### Just for fun

## Week 10 (November 5)

No class on Tuesday due to “Tufts Friday”

### Memory: registers, RAM, and ROM (Thursday 11/9)

Read Harris 5.5

Complete reading check 14

### 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 12)

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

### Exam 2 (Thursday 11/16)

FSM logic practice problems (Sorry, we don’t have solutions written up for these!)

### Lab

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

## Week 12 (November 19)

### Digital peripherals and protocols (Tuesday 11/21)

Complete reading check 15

### Possibly helpful

Harris 9.1-9.3.4.1 (available as an online supplement

### Just for fun

### Projects

Work on final projects

No class on Thursday, enjoy your Thanksgiving break!

## Week 13 (November 26)

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

Read Harris 6.1-6.3.5

Complete reading check 16

### From assembly to bits (Thursday 11/30)

Read Harris 6.4

Complete reading check 17

Arm v8 microarchitecture simulator (We’re using Arm v7, but still helpful)

### Projects

Work on final projects

### Just for fun

On Holy Wars and a Plea for Peace(1980 paper about byte ordering)

## Week 14 (December 4)

### How a microprocessor executes code (Tuesday 12/5)

Read Harris 7.1-7.3.4

### Final project demos (Thursday 12/7)

Final project demo day, Thursday 1:30pm-3:30pm

### Projects

Work on final projects

## Finals (December 12-21)

Project writeups due, December 18 12pm (earlier is better!)

Revised project writeups due, December 21 6pm