Whether you are teaching a workshop or course using this book or learning to design digital
hardware on your own, we would like to point out that the following resources are available to
accompany the book:
1. You can download the source code for all 76 Verilog examples in this book by going to
the URL given in the book.
2. There are 112 short video modules available on YouTube™ that range from 3 – 15
minutes each, with an average length of approximately 7 minutes, to provide visual and
audio instruction on the topics contained in this book. The examples are in VHDL, but
can easily be adapted to Verilog. These serve as excellent tutorials or follow-up materials
for students to review concepts taught in a lecture course.
You can search LBE Books on
YouTube™ or go directly to our video playlist at:
Topic Order and Lecture Support for Instructors
This book was designed to be modular. It can be used to present digital design in the traditional
format starting with combinational logic followed by sequential logic and design.
Alternatively, it can be used to teach a digital design course using problem-based learning,
described below. The following tips are from instructors who have had notable success using
1. Assign one or more videos (a total of 15-25 minutes) for students to watch before coming
to the lecture. These may be videos containing review material so that you do not have to
spend time reviewing in class or videos that explain new topics that you are going to cover
in class so that students come prepared. You may also wish to give a short pre-lecture
quiz at the beginning of class or assign a short homework assignment that the student can
easily complete while watching the videos to turn on the day of the lecture to ensure that
students are prepared.
2. Instead of using the book in order which presents concepts in a traditional order, follow a
problem-based approach in which students are taught to design components based on
problem statements and circuits designed in class. This means that components are taught
as-needed, therefore, combinational and sequential components are taught concurrently.
This way, students can get to meaningful design earlier in the course.
An example of this that has been employed in a Junior-level course is starting with
presenting the problem of creating a circuit to compute the GCD for two integers using
Euclid’s GCD. The topics for lecture would follow the book order from the beginning
including examples 1 through 10 for introductory concepts, Verilog syntax including port
maps, and multiplexers. Following example 10 would be comparators including example
21, adders and subtractors including examples 27 through 31, and latches and registers
including examples 37 through 44. This completes the knowledge and components to
design a digital circuit for Euclid’s GCD. Then, other problems could be presented such
as computing the integer square root, a mouse driver, a keyboard driver, a VGA controller,
and more, eventually covering all topics in the course objectives.