ENGIN 2213 – Introduction to Digital Systems
This is an introduction to digital circuit logic and design. The topics include representation of information, binary systems, Boolean algebra, Karnaugh maps, Quine-McClusky method, combinational switching circuits, multiplexers, decoders, encoders, latches, flip flops, registers, counters, sequential switching circuits, wired and stored program processor concepts (e.g. ROM), and VHDL.
In fall 2020, I wrote a textbook for digital systems. You can access the textbook by clicking here. The textbook is licensed under Creative Commons CC-BY-NC-SA. The author note at the beginning of the book contains information about the license and attribution. You are welcome to get a copy printed out at a printing center such as Staples or Kinkos. Updates will be made to the book as needed, and will be notated in the changelog at the beginning of the text.
Old Class Exams
I will post some old course exams here. I’ve changed some of the topics I teach (I don’t do one’s complement any more, for example), but these are still good study guides.
Dr. P’s YouTube Channel – I have made some videos on common digital systems topics such as how breadboards work, how to connect DIP switches, and how to use current limiting resistors with LEDs. Subscribe to my YouTube channel in case I make more videos in the future.
Exploring Binary – interesting information about binary numbers, binary arithmetic, floating-point numbers, and more
Two’s Complement Representation: Theory and Examples – an in-depth look at the theory and concepts of two’s complement numbers and signed binary arithmetic.
Boolean Identities – detailed explanations and derivations of all of the Boolean identities.
Ben Eater YouTube Channel – explains many of the concepts of sequential circuit devices such as latches and flip flops. (He also shows you how to build your own 8-bit computer.)
555 Timer Clock Frequency Calculator – input values for R1, R2, and C, and the website calculates the value of the output clock frequency and duty cycle
Everything about the Quine-McCluskey Method – a nice explanation about how the Quine-McCluskey algorithm works.
Designing Your Own Digital ICs with FPGAs – this article from Nuts & Volts magazine provides a really nice introduction to what an FPGA (field programmable gate array) is, the advantages of using an FPGA over a microcontroller, and how an FPGA works.
How a CPU is Made – this video from Global Foundries takes you through the steps to creating a microchip. This is relevant to our class discussion about semiconductor materials and transistors.
Glossary of Electrical Engineering Terms – definitions of many frequently used EE terms.
Understanding Digital Logic Devices – a great series of articles from Nuts & Volts magazine that explain different types of digital ICs (TTL, CMOS, and other older architectures) as well as the “guts” of the chips and how they work.
- Part 1 – Fundamentals
- Part 2 – The 7400 Family – This explains a lot about the part numbering of 7400 TTL chips (which we discuss briefly in lab 3), and how they differ from each other.
- Part 3 – TTL Usage
- Part 4 – CMOS Integrated Circuits
- How to Use a Breadboard – explains the anatomy of a breadboard
- How to Use a Multimeter – explains the usage of multimeters, both hand-held and table-top
- Basics of Switches – explains the terminology and usage of many types of pushbuttons and switches
Project Ideas & Advice
Electronics Project Tips – advice on how to make your electronics projects easier.
How to Build Your Own Discrete 4-Bit ALU – step-by-step instructions for building your own arithmetic and logic unit. (Note: this website uses CMOS chips for the design. It would not be difficult to design yours using equivalent TTL chips available in lab.)
CircuitVerse – Free online digital logic simulator. It doesn’t have chips but it does have logic gates and lots of building blocks that you can use.
NI Multisim (Student Edition) – NI Multisim contains libraries with all of the TTL (7400 series) logic chips that we have in class. (The student edition is missing a couple chips, but you can find libraries online if you do some searching.) The software is not free but is highly discounted for students who register with their DUPAGE.EDU e-mail address.
Logisim – Free digital logic software. It is Mac and Windows compatible, but requires Java to run.
I made a video about TinkerCad, CircuitVerse, Logisim, and Multisim, in case you are having a hard time figuring out how to choose between them.
Advice from Previous Students
I give my students surveys every semester and ask them to give advice to future digital systems students. This is what they have to say.
Do the homework early.
Read the Lab Manual Errata and read all Lab Modifications and try to do any Pre-Lab advice (setting up equations/truth table)
Try to complete and prepare any lab ahead of time so you can spend your time building your circuit instead of trying to find out how to while you’re in the lab.
Start reaching out for help early.
In the beginning, use tinker cad to get used to wiring up a breadboard. A lot of students who really struggled did not understand how to wire the circuit up or how the dip switch worked. It is very crucial to spend some time for the first few labs virtually wiring up circuits on tinker cad, because you don’t have to worry about melting chips and short circuits.
Stay on top of everything. Cramming everything on the night before is never helpful.
If you are interested in learning Digital Systems then this is the course for you. This class may seem tough in the beginning, however if you come to class , do your homework and go to Dr. P’s office hours then it will be more than enjoyable. I had the option to take this class at my four year institution but instead ended up taking it at COD. Looking back at it I made the right decision.
Don’t be afraid to use Dr. P or other students as a resource. But above all, make sure you actually know the material that is being taught in class because that directly impacts both how well you do in the labs (and how fast you get them done) and how well you do in the class.
Never hesitate to ask questions. Especially in labs, because it helps clarifying things and it saves so much time.
Ask questions, be hands on in lab, spend enough time for pre-lab work so you can jump right in on lab day.
For someone first using breadboards, I’d say that they aren’t as intimidating as they look. Make a reminder for each online homework. And ask a lot of questions to peers and the professor.
Definitely do not procrastinate and learn how to use the logic probe. The logic probe saved a lot of labs from “going nuclear.”
Never put anything off.
Know Everything or Know Nothing
Students must really know the material. Being “familiar” is not good enough. For exams, time is an issue. You need to be able to look at a problem and know how to complete it.
Come on time to lab and set reminders for homeworks.
Always do the homework, because it helps a lot, and always take advantage of drop-in sessions and Dr. P’s office hours.
Do the PRELABS and take pictures before you turn them in. They’re meant to guide you through the lab so take advantage.
Do the pre-labs as soon as possible.
Do pre-labs and the lab homework and always attend all the labs as they go over every single thing you learn in class lectures.
Do the pre lab ahead of time.
My advice to future students would be to always take the class seriously, show hard work and respect to everyone. Dr. P will definitely show you the amount of effort she puts towards her career and she wants you to work hard as much as she did to help you be successful. This will be a very fun class if you stay positive and work hard.
Take advantage of office hours and ask small and big questions. If I had done this, it would have helped me a lot.
None of the following textbooks is required for this course. However, they make great study guides if you are in need of more resources. Many are available on reserve at the COD library.
- Fundamentals of Logic Design by Charles H. Roth, Jr. and Larry L. Kinney (this used to be the required textbook for the class between 2016-2020)
- Introduction to Logic Design by Alan B. Marcovitz
- Digital Fundamentals by Thomas L. Floyd
- Digital Logic & Microprocessor Design with Interfacing by Enoch O. Hwang