Introduction to Logic Circuits Logic Design with Verilog 3rd Edition Brock J. Lameres download
Introduction to Logic Circuits Logic Design with Verilog 3rd Edition Brock J. Lameres download
https://ebookmeta.com/product/introduction-to-logic-circuits-
logic-design-with-verilog-3rd-edition-brock-j-lameres/
https://ebookmeta.com/product/introduction-to-logic-harry-j-
gensler/
https://ebookmeta.com/product/digital-logic-design-using-verilog-
coding-and-rtl-synthesis-2nd-edition-taraate/
https://ebookmeta.com/product/digital-logic-design-using-verilog-
coding-and-rtl-synthesis-2nd-edition-taraate-2/
https://ebookmeta.com/product/friendship-and-technology-a-
philosophical-approach-to-computer-mediated-communication-1st-
edition-tiffany-a-petricini/
The Importance of Being Urban Designing the Progressive
School District 1890 1940 1st Edition David A. Gamson
https://ebookmeta.com/product/the-importance-of-being-urban-
designing-the-progressive-school-district-1890-1940-1st-edition-
david-a-gamson/
https://ebookmeta.com/product/chubby-chaser-1st-edition-sam-
crescent/
https://ebookmeta.com/product/bad-witch-burning-1st-edition-
jessica-lewis-3/
https://ebookmeta.com/product/cloud-finops-collaborative-real-
time-cloud-value-decision-making-2nd-edition-j-r-storment/
https://ebookmeta.com/product/how-to-catch-a-monster-adam-
wallace/
Adsorption Technology in Water Treatment Fundamentals
Processes and Modeling Eckhard Worch
https://ebookmeta.com/product/adsorption-technology-in-water-
treatment-fundamentals-processes-and-modeling-eckhard-worch/
Brock J. LaMeres
Introduction to Logic
Circuits & Logic Design
with Verilog
Third Edition
INTRODUCTION TO LOGIC CIRCUITS &
LOGIC DESIGN WITH VERILOG
INTRODUCTION TO LOGIC CIRCUITS &
LOGIC DESIGN WITH VERILOG
3 RD E DITION
Brock J. LaMeres
Brock J. LaMeres
Department of Electrical & Computer Engineering
Montana State University
Bozeman, MT, USA
# The Editor(s) (if applicable) and The Author(s), under exclusive license to Springer Nature Switzerland AG 2017,
2019, 2024
This work is subject to copyright. All rights are solely and exclusively licensed by the Publisher, whether the whole or
part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation,
broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and
retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter
developed.
The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not
imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and
regulations and therefore free for general use.
The publisher, the authors, and the editors are safe to assume that the advice and information in this book are believed
to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty,
expressed or implied, with respect to the material contained herein or for any errors or omissions that may have been
made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
This Springer imprint is published by the registered company Springer Nature Switzerland AG
The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
This new book addresses the lower-level foundational void by providing a comprehensive, bottoms-
up, coverage of digital systems. The book begins with a description of lower-level hardware including
binary representations, gate-level implementation, interfacing, and simple combinational logic design.
Only after a foundation has been laid in the underlying hardware theory is the Verilog language
introduced. The Verilog introduction gives only the basic concepts of the language in order to model,
simulate, and synthesize combinational logic. This allows the students to gain familiarity with the
language and the modern design approach without getting overwhelmed by the full capability of the
language. The book then covers sequential logic and finite state machines at the structural level. Once
this secondary foundation has been laid, the remaining capabilities of Verilog are presented that allow
sophisticated, synchronous systems to be modeled. An entire chapter is then dedicated to examples of
sequential system modeling, which allows the students to learn by example. The second part of the
textbook introduces the details of programmable logic, semiconductor memory, and arithmetic circuits.
The book culminates with a discussion of computer system design, which incorporates all of the
v
vi • Preface
knowledge gained in the previous chapters. Each component of a computer system is described with an
accompanying Verilog implementation, all while continually reinforcing the underlying hardware beneath
the HDL abstraction.
This incremental, just-in-time presentation of material allows the book to follow the way the material
is actually taught in the classroom. This design also avoids the need for the instructor to assign sections
that move back and forth through the text. This not only reduces course design effort for the instructor but
allows the student to know where they are in the sequence of learning. At any point, the student should
know the material in prior chapters and be moving toward understanding the material in
subsequent ones.
An additional advantage of this book’s organization is that it supports giving the student hands-on
experience with digital circuitry for courses with an accompanying laboratory component. The flow is
designed to support lab exercises that begin using discrete logic gates on a breadboard and then move
into HDL-based designs implemented on off-the-shelf FPGA boards. Using this approach to a laboratory
experience gives the student experience with the basic electrical operation of digital circuits, interfacing,
and HDL-based designs.
Learning Outcomes
Each chapter begins with an explanation of its learning objective followed by a brief preview of the
chapter topics. The specific learning outcomes are then presented for the chapter in the form of concise
statements about the measurable knowledge and/or skills the student will be able to demonstrate by the
end of the chapter. Each section addresses a single, specific learning outcome. This eases the process
of assessment and gives specific details on student performance. There are over 1000 assessment tools
in the form of exercise problems and concept check questions that are tied directly to specific learning
outcomes for both formative and summative assessment.
Teaching by Example
With nearly 250 worked examples, concept checks for each section, 200+ supporting figures, and
1000+ assessment problems, students are provided with multiple ways to learn. Each topic is described
in a clear, concise written form with accompanying figures as necessary. This is then followed by
annotated worked examples that match the form of the exercise problems at the end of each chapter.
Additionally, concept check questions are placed at the end of each section in the book to measure the
Preface • vii
student’s general understanding of the material using a concept inventory assessment style. These
features provide the student multiple ways to learn the material and build an understanding of digital
circuitry.
Course Design
The book can be used in multiple ways. The first is to use the book to cover two, semester-based
college courses in digital logic. The first course in this sequence is an introduction to logic circuits and
covers Chaps. 1, 2, 3, 4, 5, 6, and 7. This introductory course, which is found in nearly all accredited
electrical and computer engineering programs, gives students a basic foundation in digital hardware and
interfacing. Chapters 1, 2, 3, 4, 5, 6, and 7 only cover relevant topics in digital circuits to make room for a
thorough introduction to Verilog. At the end of this course, students have a solid foundation in digital
circuits and are able to design and simulate Verilog models of concurrent and hierarchical systems. The
second course in this sequence covers logic design using Chaps. 8, 9, 10, 11, 12, 13, and 14. In this
second course, students learn the advanced features of Verilog such as procedural assignments,
sequential behavioral modeling, system tasks, and test benches. This provides the basis for building
larger digital systems such as registers, finite state machines, and arithmetic circuits. Chapter 13 brings
all of the concepts together through the design of a simple 8-bit computer system that can be simulated
and implemented using many off-the-shelf FPGA boards. Chapter 14 introduces the relatively complex
topic of floating-point systems.
This book can also be used in a more accelerated digital logic course that reaches a higher level of
abstraction in a single semester. This is accomplished by skipping some chapters and moving quickly
through others. In this use model, it is likely that Chap. 2 on numbers systems and Chap. 3 on digital
circuits would be quickly referenced but not covered in detail. Chapters 4 and 7 could also be covered
quickly in order to move rapidly into Verilog modeling without spending significant time looking at the
underlying hardware implementation. This approach allows a higher level of abstraction to be taught but
provides the student with the reference material so that they can delve in the details of the hardware
implementation if interested.
All exercise and concept problems that do not involve a Verilog model are designed so that they can
be implemented as a multiple choice or numeric entry question in a standard course management
system. This allows the questions to be automatically graded. For the Verilog design questions, it is
expected that the students will upload their Verilog source files and screenshots of their simulation
waveforms to the course management system for manual grading by the instructor or teaching assistant.
Instructor Resources
Instructors adopting this book can access a growing collection of supplementary learning resources
including YouTube videos created by the author, a solutions manual, a laboratory manual, and Verilog
test benches for all problems. Additional resources are made available as demand grows. The growing
library of YouTube videos can provide supplementary learning materials for students or facilitate fully
online or flipped delivery of this material. The videos are found at https://www.youtube.com/c/
DigitalLogicProgramming_LaMeres. The solutions manual contains a graphic-rich description of select
exercise problems. A complementary lab manual has also been developed to provide additional learning
activities based on both the 74HC discrete logic family and an off-the-shelf FPGA board. This manual is
provided separately from the book in order to support the ever-changing technology options available for
laboratory exercises.
viii • Preface
For my mom (Kathleen). Thank you for the life you have given me. Your love and support have
always been a constant that I can count on in good times and bad. Your positivity is contagious
and touches everyone around you. You have blessed me with your patience and sense of humor,
both of which have made this life much more enjoyable. I love you.
ix
Contents
1: INTRODUCTION: ANALOG VERSUS DIGITAL ...................................................... 1
1.1 DIFFERENCES BETWEEN ANALOG AND DIGITAL SYSTEMS .................................................. 1
1.2 ADVANTAGES OF DIGITAL SYSTEMS OVER ANALOG SYSTEMS ............................................ 3
2: NUMBER SYSTEMS ................................................................................................. 7
2.1 POSITIONAL NUMBER SYSTEMS ..................................................................................... 7
2.1.1 Generic Structure ............................................................................................. 8
2.1.2 Decimal Number System (Base 10) ................................................................ 9
2.1.3 Binary Number System (Base 2) ..................................................................... 9
2.1.4 Octal Number System (Base 8) ...................................................................... 10
2.1.5 Hexadecimal Number System (Base 16) ........................................................ 10
2.2 BASE CONVERSION ..................................................................................................... 11
2.2.1 Converting to Decimal ..................................................................................... 11
2.2.2 Converting from Decimal ................................................................................. 14
2.2.3 Converting Between 2n Bases ........................................................................ 18
2.3 BINARY ARITHMETIC .................................................................................................... 22
2.3.1 Addition (Carries) ............................................................................................. 22
2.3.2 Subtraction (Borrows) ...................................................................................... 23
2.4 UNSIGNED AND SIGNED NUMBERS ................................................................................. 25
2.4.1 Unsigned Numbers .......................................................................................... 25
2.4.2 Signed Numbers .............................................................................................. 26
3: DIGITAL CIRCUITRY AND INTERFACING .............................................................. 43
3.1 BASIC GATES ............................................................................................................. 43
3.1.1 Describing the Operation of a Logic Circuit .................................................... 43
3.1.2 The Buffer ........................................................................................................ 45
3.1.3 The Inverter ...................................................................................................... 46
3.1.4 The AND Gate ................................................................................................. 46
3.1.5 The NAND Gate .............................................................................................. 47
3.1.6 The OR Gate ................................................................................................... 47
3.1.7 The NOR Gate ................................................................................................. 47
3.1.8 The XOR Gate ................................................................................................. 48
3.1.9 The XNOR Gate .............................................................................................. 49
3.2 DIGITAL CIRCUIT OPERATION ........................................................................................ 50
3.2.1 Logic Levels ..................................................................................................... 51
3.2.2 Output DC Specifications ................................................................................ 51
3.2.3 Input DC Specifications ................................................................................... 53
3.2.4 Noise Margins .................................................................................................. 53
3.2.5 Power Supplies ................................................................................................ 54
3.2.6 Switching Characteristics ................................................................................ 56
3.2.7 Data Sheets ..................................................................................................... 57
xi
xii • Contents
I. BALTASSAR’S FEAST.[55]
Of all Calderon’s autos, this is the one which has been the most
generally admired, both on account of its intense dramatic power
and popular character.
It has been translated several times into German (see note at end
of previous article on the autos), and into English by Mr. MacCarthy.
The latter says in his preface: “This auto must be classed with
those whose action relates directly to the Blessed Sacrament,
because it puts before us, in the profanation of the vases of the
Temple by Baltassar, a type of the desecration of the Holy
Sacrament, and symbolizes to us, in the punishment that follows this
sacrilege, the magnitude and sublimity of the Eucharistic Mystery.
Although this immediate relation between the action of the auto and
the sacrament becomes only manifestly clear in the last scene,
nevertheless all the preceding part, which is only preparing us for
the final catastrophe, stands in immediate connection with it, and,
through it, with the action of the auto. The wonderful simplicity of
this relation, and the lively dramatic treatment of the subject, allow
us to place this auto, justly, in the same category with those that,
comparatively speaking, are easy to be understood, and which, like
The Great Theatre of the World, have especial claims upon
popularity, even if many of its details contain very deep allusions, the
meaning of which, at first sight, is not very intelligible.”
The auto opens in the garden of Baltassar’s palace with a scene
between Daniel and Thought, who, dressed in a coat of many colors,
represents the Fool.
After a long description of his abstract self he states that he has
this day been assigned to King Baltassar’s mind, and ironically
remarks that he, Thought, is not the only fool, and apologizes for his
rudeness in not listening to Daniel: