Physics 234: Digital
Electronics (TT section)
Fall 2018
Jed Brody
(N308, 7-5580, jbrody@emory.edu)
Logic is
the beginning of wisdom, not the end.
—Mr.
Spock
In digital electronics, voltages are restricted to just two values, represented as 0 and 1. Amazingly, combinations of these two numbers govern all modern technology. This course introduces combinational and sequential logic. Students will acquire and apply a detailed understanding of all of the following: Boolean algebra, K maps, combinational circuits including multiplexers and arithmetic logic units, sequential circuits containing flip-flops and counters, and circuits that transmit and receive serial data. Students will develop skills in Verilog, a hardware description language used in industry to implement circuits containing thousands or millions of logic gates.
Grades will be determined as follows:
Project 1: due October 23 25%
Project 2: due December 18 25%
Test 1, Test 2 25% each
Click here for the lab manual.
Statement
from the Department of Physics: We are all here in this class for the
same reason: to learn physics. It is unacceptable to judge your
fellow students by gender, race, or anything else. Please treat your
classmates with respect both in and out of the classroom. If you have
any concerns please talk with the teacher or the department chair.
Date | Topics | Book chapters | Class activity |
Aug. 30 | Logic gates | 1, 2.1 | Lab 1 |
Sept. 4 | Boolean algebra | 2.2, 3.1 | Lab 1 |
Sept. 6 | Implementing truth tables | 2.3, 2.4 | Lab 2 |
Sept. 11 | Transistors | 4.1, 4.4 | Lab 2 |
Sept.13 | K maps | 3.2 | Lab 3 |
Sept. 18 | Binary arithmetic | Appendix B | Lab 3 |
Sept. 20 | Multiplexers | 5.1 | Lab 4 |
Sept. 25 | 7-segment displays | 5.2 | Lab 4 |
Sept. 27 | Shifters and comparators | 5.3, 6.3 | Lab 5 |
Oct. 2 | Adders and subtractors | 6.1, 6.2 | Lab 5 |
Oct. 4 | TEST 1: Combinational logic | ||
Oct. 11 | Glitches | Example 11 | Project 1 |
Oct. 16 | Latches and flip-flops | 7.1 | Project 1 |
Oct. 18 | Counters | 7.4 | Project 1 |
Oct. 23 | Clock dividers | Example 52 | Lab 6 |
Oct. 25 | Switch debouncers | Examples 47, 48 | Lab 6 |
Oct. 30 | Multiplexing displays | Example 14 | Lab 6 |
Nov. 1 | Moore machines | 8.1, 8.2 | Lab 7 |
Nov. 6 | Mealy machines | 8.3 | Lab 7 |
Nov. 8 | Receive serial data | Lab 7 | |
Nov. 13 | Transmit serial data | Lab 8 | |
Nov. 15 | Transmit multiple bytes | Lab 8 | |
Nov. 20 | Receive data in Python | Lab 8 | |
Nov. 27 | TEST 2: Sequential logic | ||
Nov. 29 | Memory | 11 | Lab 9 |
Dec. 4 | Microprocessors | de Pablo et al. | Lab 9 |
Dec. 6 | Instruction sets | de Pablo et al. | Project 2 |
Dec. 11 | Microprocessor interfacing | de Pablo et al. | Project 2 |
Supplemental texts:
Cole, Real Digital. Free ebook published by Digilent.
de Pablo et al., "A very simple 8-bit RISC processor for FPGA." Contains complete Verilog instructions for a microprocessor.
PicoBlaze 8-bit Embedded Microcontroller User Guide. Of possible interest to students with a strong background in computer science.
Vonk, IntroGuide to FPGA's