100% found this document useful (1 vote)
44 views54 pages

(eBook PDF) Digital Logic Circuit Analysis and Design 2nd Edition download

The document provides information about the second edition of the textbook 'Digital Logic Circuit Analysis and Design,' which has been updated to enhance learning through digital examples and coverage of hardware description languages (HDLs) like Verilog and VHDL. It is designed for students in introductory digital logic design courses and includes extensive illustrations, examples, and problems to support learning. The book emphasizes practical design methods and includes collaboration activities, learning objectives, and comprehensive design projects.

Uploaded by

birakchmilfg
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
44 views54 pages

(eBook PDF) Digital Logic Circuit Analysis and Design 2nd Edition download

The document provides information about the second edition of the textbook 'Digital Logic Circuit Analysis and Design,' which has been updated to enhance learning through digital examples and coverage of hardware description languages (HDLs) like Verilog and VHDL. It is designed for students in introductory digital logic design courses and includes extensive illustrations, examples, and problems to support learning. The book emphasizes practical design methods and includes collaboration activities, learning objectives, and comprehensive design projects.

Uploaded by

birakchmilfg
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 54

(eBook PDF) Digital Logic Circuit Analysis and

Design 2nd Edition download

https://ebooksecure.com/product/ebook-pdf-digital-logic-circuit-
analysis-and-design-2nd-edition/

Download full version ebook from https://ebooksecure.com


We believe these products will be a great fit for you. Click
the link to download now, or visit ebooksecure.com
to discover even more!

Digital Logic & Microprocessor Design With Interfacing,


2nd Edition Enoch O. Hwang - eBook PDF

https://ebooksecure.com/download/digital-logic-microprocessor-
design-with-interfacing-2nd-edition-ebook-pdf/

(eBook PDF) Electronics and Circuit Analysis Using


MATLAB 2nd Edition

http://ebooksecure.com/product/ebook-pdf-electronics-and-circuit-
analysis-using-matlab-2nd-edition/

(eBook PDF) Digital Design with RTL Design VHDL and


Verilog 2nd

http://ebooksecure.com/product/ebook-pdf-digital-design-with-rtl-
design-vhdl-and-verilog-2nd/

(eBook PDF) Digital Control System Analysis & Design


4th Edition

http://ebooksecure.com/product/ebook-pdf-digital-control-system-
analysis-design-4th-edition/
Circuit Theory and Networks Analysis and Synthesis 2nd
Edition Ravish R. Singh - eBook PDF

https://ebooksecure.com/download/circuit-theory-and-networks-
analysis-and-synthesis-ebook-pdf/

Circuit Analysis 1st Edition - eBook PDF

https://ebooksecure.com/download/circuit-analysis-ebook-pdf/

Introductory Circuit Analysis, 13th Edition (eBook PDF)

http://ebooksecure.com/product/introductory-circuit-
analysis-13th-edition-ebook-pdf/

Circuit Theory and Networks—Analysis and Synthesis (MU


2017) - eBook PDF

https://ebooksecure.com/download/circuit-theory-and-networks-
analysis-and-synthesis-mu-2017-ebook-pdf/

(eBook PDF) Advanced Digital Design with the Verilog


HDL 2nd Edition

http://ebooksecure.com/product/ebook-pdf-advanced-digital-design-
with-the-verilog-hdl-2nd-edition/
In Memoriam
In loving memory of Marsha Clair Arnould Carroll (March 26, 1943 to February 15, 2011).
Forever my inspiration.
—Bill Carroll
Contents xiii

8 Design of Digital Systems 519


Learning Objectives 519
8.1 Design Processes 519
8.1.1 Hierarchical Design 519
8.1.2 Fixed Logic versus Programmable Logic 521
8.1.3 Digital System Design Flow 521
8.2 Design Examples 521
8.2.1 Tiny RISC 4 (TRISC4) Processor 522
8.2.2 One-Lane Traffic Controller 533
8.2.3 Universal Asynchronous Receiver/Transmitter (UART) 540
8.2.4 Elevator Controller 547
8.3 Summary and Review Questions 552
8.4 Collaboration Activities 552

Problems 552

Appendix A Verilog Primer 554


A.1 Introduction554
A.2 General Concepts and Modules 554
A.2.1 Module Structure 555
A.2.2 Port Declarations 556
A.2.3 Data Types 556
A.2.4 Numbers 557
A.3 Gate-Level Structural Modeling 557
A.3.1 Gate Types 557
A.3.2 Gate Delays 557
A.4 Dataflow Modeling 558
A.4.1 Expressions, Operands, and Operators 558
A.4.2 Continuous Assignment Statements  558
A.4.3 Continuous Assignment Statement Delay 558
A.5 Behavioral Modeling 560
A.5.1 Procedural Blocks 560
A.5.2 Procedural Assignments 561
A.5.3 Timing Control 562
A.5.4 case Statements 563
A.5.5 if ... else Statements 563
A.5.6 Loop Statements 565
A.5.7 Block Execution 566
A.6 Hierarchical Modeling 567
A.6.1 Functions and Tasks 567
A.6.2 Structural Models 568
A.7 System Tasks and Compiler Directives 569
A.8 Test Benches 570
A.9 Summary of Features 571

References572

Appendix B VHDL Primer 573


B.1 Introduction573
B.2 Design Unit Structure 574
B.2.1 Signals and Data Types 574
B.2.2 Operators and Expressions 579
B.2.3 Design Entities 580
B.2.4 Design Architectures 583
xiv Contents

B.3 Behavioral and Dataflow Models 583


B.3.1 Concurrent Signal Assignments 583
B.3.2 Signal Delays 584
B.3.3 Conditional Signal Assignments 585
B.3.4 Selected Signal Assignments 586
B.4 Structural and Hierarchical Models 587
B.4.1 Component Declaration 587
B.4.2 Component Instantiation 588
B.5 Mixed Modeling Styles 590
B.6 Modeling Sequential Behavioral 591
B.6.1 Process Construct 591
B.6.2 Sequential Statements 592
B.6.3 Sequential Circuit Models 594
B.6.4 Synchronous and Asynchronous Control Signals 596
B.6.5 Finite-State Machine Models 597
B.6.6 Register Transfer Level (RTL) Design 598
B.7 Subprograms, Packages, and Libraries 600
B.7.1 Functions and Procedures 600
B.7.2 Packages and Libraries 602
B.8 Test Benches 604
B.9 Summary of Features and Keywords 607

References609

Index610
Preface
The Need for This Book
The original edition of this textbook, Digital Logic Circuit Analysis and Design (1995), by Nelson, Nagle, Carroll, and
Irwin, was a widely adopted text on the fundamentals of combinational and sequential logic circuit analysis and syn-
thesis, which has undergone significant revisions to update and strengthen its coverage of digital design concepts.
To better adapt the book to the needs of today’s students, this second edition has been designed and published as a
digital-first book.
Building on its tradition of strong coverage of fundamental topics in digital d
­ esign, including its many examples, the
new edition features a number of digital enhancements to facilitate and promote learning. The authors, with their many
years of experience teaching this material, have identified concepts that are traditionally difficult for students to visualize
and grasp. The digital enhancements in this book ­include a number of active examples in the form of author-narrated
videos, etc. to improve comprehension of these concepts by illustrating and explaining each step. These examples include
number conversion, manipulations of Boolean algebraic expressions, minimization of combinational and sequential
circuits, and step-by-step applications of circuit analysis and design procedures. Other videos illustrate various digital
circuits, such as a ripple-carry adder during the addition of two binary numbers and the response of a sequential circuit
to an applied sequence of inputs and clock over a period of time.
Another significant feature of the new edition is its coverage of hardware description language (HDL) modeling
of digital circuits using both the Verilog and VHDL languages. For each HDL example, the reader may select and view
the Verilog version, the VHDL version, or both. Each Verilog and VHDL model can be downloaded from the publish-
er’s website to study with industry-standard simulation tools—some of which have readily available student editions.
These models can be used to simulate the behavior and/or to synthesize each modeled circuit described in this book.

Intended Audience
This text is intended for use in introductory digital logic design, computer engineering courses in electrical and com-
puter engineering, or computer science at the sophomore or junior levels, where students may become involved in the
use and/or design of application-specific integrated circuits (ASICs), digital computers, embedded systems, and other
digital systems. Many other recent texts place instructors in the difficult position of choosing between authoritative,
state-of-the-art coverage and an approach that is highly supportive of student learning and fundamental concepts.
This book balances theory and practice in depth without getting bogged down in excessive technical or mathematical
language and has abundant coverage of current topics of interest, such as modeling with Verilog and/or VHDL, design
with programmable devices, and computer-aided design. An exceptionally large number of illustrations, examples, and
problems help students gain a solid sense of how theory underlies practice.
No particular background in electronic circuits or computer systems is assumed or required; thus, the text is suitable
for a first course in digital systems. However, this book contains sufficient advanced material and depth to support the
needs of more advanced students. This text has been designed to allow each instructor the flexibility to select topics ac-
cording to the needs of his or her specific course. This text is also suitable for the reader who wishes to use the self-study
approach to learn digital design, and it is useful as a reference for practicing engineers.

Significant Features
This book is a unique work representing the combined efforts of the four authors at three universities. In addition to
extensive publisher-sponsored reviewing, the manuscript has been used in courses at two of the schools during its devel-
opment with feedback from students and instructors incorporated into the book. Many noteworthy features of the first
edition, which has been praised by reviewers and users for its clarity and rigor, have been retained and strengthened,
including the following.

• Solid breadth and depth of coverage of fundamental concepts and theory are coupled with practical real-world de-
sign methods.
• The theoretical basis is carefully presented and explained with a minimum of formalism.
xv
xvi Preface

• The theory is then applied to simple circuit examples.


• Examples involving large circuits and modular hierarchical design are then presented.
• Presentation is focused on learning with a strong emphasis on developing and using systematic problem solving and
design methodologies, abundantly supported by over 250 worked examples.
• Heavy emphasis on visualization is supported by over 600 color illustrations.
• Numerous problems with a wide range of difficulty levels are provided at the ends of the chapters.
• Coverage of hierarchical modular design and standard digital circuit modules.
• A chapter containing comprehensive design projects.
• Coverage of asynchronous sequential circuits, HDLs, and implementing circuits with programmable logic devices (PLDs).
• An Instructor’s Manual with fully worked solutions to each problem.

The second edition builds upon these strengths with updates to cover current technologies and design practices while
introducing a number of new key features, including the following.

• Extensive coverage of the Verilog and VHDL HDLs. Primers for each language are included as appendices.
• Expanded coverage of programmable logic with emphasis on field programmable gate arrays.
• Author-narrated videos covering key fundamentals of digital logic analysis and design.
• Collaboration activities are included in Chapters 0 through 8.
• New examples and updated problems sets are given in Chapters 1 through 8.
• Learning objectives are included at the beginning of each chapter.
• Summary and review questions at the end of Chapters 0 through 8.
• Summative design examples at the end of Chapters 3 through 7 incorporate realistic constraints.
• Expansive examples illustrating basic and advanced concepts are throughout this book.
• Coverage of design flows for fixed and programmable logic.
• Technology independent coverage of concepts and devices.
• Material has been reorganized to provide a natural flow of topics and to minimize redundancy of coverage.

Major Additions to the Second Edition


Coverage of Hardware Description Languages
The complexity of modern digital circuit design projects requires the use of computer-aided design methods and tools,
including modeling, simulation, and synthesis of digital circuits using hardware description languages (HDLs) such as
Verilog and VHDL. For this reason, the Verilog and VHDL languages are introduced early, and their use in modeling
digital circuits is integrated throughout the text with many d­ esign ­examples, typically presented in both Verilog and
VHDL, including comprehensive examples in Chapters 7 and 8.
The coverage of HDL modeling has been designed to be generic in nature—rather than specific to any particular
vendor’s tools. This will allow students to apply these concepts to whichever modeling, simulation, and PLD develop-
ment tools may be available. A number of such tools are readily available at nominal pricing or as limited free versions
for students and educators.

Coverage of Programmable Logic


With the evolution of programmable digital logic device technologies for implementation of complex digital systems, a
chapter of this book has been ­dedicated to such technologies. The discussions in this chapter have been presented in a
­technology-independent manner, as much as possible, so as to be applicable to a­ vailable devices and development tools
and to newer device families as they evolve. Field programmable gate array (FPGA) device structures are presented,
­including the methods they use to implement combinational and sequential logic circuits, with ­design examples to
illustrate implementation of complex circuits in FPGAs from Verilog and VHDL models. Then a similar discussion of
PLD technologies, architectures, and device structures is presented, including design examples. This chapter ­includes
several comprehensive examples of implementing digital systems in FPGAs and PLDs from HDL models.
Preface xvii

Chapter Descriptions
The material in this text has been organized into several sections. In each section, fundamental concepts and theory are
first developed to provide a solid foundation. Then the theory is applied to the design and analysis of simple circuits and
extended to the design of optimal circuits. Finally, practical design issues and methods are discussed, including the use
of modular design methods and modeling with HDLs and PLDs. Extensive examples are presented throughout each sec-
tion to illustrate and reinforce the concepts presented in that section.

Background
Since no particular prerequisites are assumed, the first two chapters present background material that will aid in the un-
derstanding of digital circuit design.
Chapter 0 introduces digital circuits and digital computers, including electronic technologies and Moore’s law, methods
for representing and realizing digital systems, digital system design methods, and general organization of digital com-
puters and other digital systems.
Chapter 1 presents number systems and representation of information with ­emphasis on binary codes used to represent
numbers and other information in digital computers and other circuits. Arithmetic with binary numbers is also discussed
as a prelude to the design of digital computer circuits that perform such operations.

Combinational Logic Circuits


The analysis and design of combinational logic circuits is the topic of the next section of the book, beginning with an
introduction to basic logic gates, Boolean algebra fundamentals, and optimization of logic expressions in Chapter 2 and
followed by logic circuit design and modular design in Chapter 3.
Chapter 2 begins with an introduction to basic digital logic gates and functions, combinational and sequential circuits,
and digital HDLs. Boolean algebra is then discussed, which forms the basis of logic circuit design, followed by methods
for representing digital logic functions, including truth tables, algebraic expressions, circuit diagrams, and HDL models.
This chapter concludes by presenting algorithms and methods for minimizing algebraic expressions, including the use of
Karnaugh maps and the Quine-McCluskey method.
Chapter 3 discusses techniques and methods for using fundamental concepts to analyze and design digital circuits uti-
lizing basic gates. Hierarchical, modular approaches to such designs are described, including the use of standard logic
modules such as d ­ ecoders, multiplexers, and arithmetic circuits. Both Verilog and VHDL models are also included for
most of the examples.

Sequential Logic Circuits


Sequential logic circuits, which involve memory, are discussed in the next section of this book. Chapter 4 describes the
memory elements used in sequential circuits and examines the design and operation of a number of standard circuit
modules based on these memory elements. Chapter 5 presents the fundamentals of synchronous sequential circuit
analysis and design, including methods for optimizing these circuits. Chapter 6 discusses the unique problems associated
with the analysis and design of asynchronous sequential circuits. Verilog and VHDL models are presented for most of the
examples in this section.
Chapter 4 begins by introducing sequential logic circuits, including the role played by memory elements in these circuits.
The design and operation of the two basic types of memory devices, latches and flip-flops, are then discussed. Then the
design and operation of a number of standard sequential logic circuit modules are discussed, including registers, shift
registers, and counters. For each module type, the basic design and theory of operation are presented, and then the fea-
tures and use of a number of representative circuits are described.
Chapter 5 presents fundamentals and techniques for analysis and synthesis of synchronous sequential logic circuits,
including timing diagrams, state tables, and flip-flop excitation tables. Circuit optimization methods are presented for
eliminating redundant states to reduce the number of memory elements needed to implement a design. This chapter
concludes with several synchronous sequential system design examples.
Chapter 6 discusses pulse-mode and fundamental-mode asynchronous sequential c­ ircuits. Methods for analysis and
synthesis of each type of circuit are presented, ­including the identification of races in fundamental-mode circuits and
methods for preventing critical races.
xviii Preface

Programmable Digital Logic Devices


Chapter 7 introduces programmable digital logic device technologies for user implementation of complex digital systems.
FPGA device structures are presented, including the methods they use to implement combinational and sequential logic cir-
cuits with design examples to illustrate the implementation of complex circuits in FPGAs from Verilog and VHDL models.
Then a similar discussion of PLD technologies, architectures, and device structures is presented, including design examples.
The chapter includes several comprehensive examples of implementing digital systems in FPGAs and PLDs from HDL models.

Digital Design Case Studies


Chapter 8 concludes the main text by presenting four case studies based on actual comprehensive digital design projects
done by students at The University of Texas at Arlington and Auburn University: the Tiny RISC 4 (TRISC4) microproces-
sor, a traffic controller to coordinate two-way traffic on a single-lane road, a universal asynchronous receiver/transmitter
(UART) for serial communication, and two- and three-floor elevator controllers.

Appendices—HDL Tutorials
To support the HDL modeling examples and exercises in the book, Appendix A presents a tutorial on digital system
modeling with the Verilog language, and Appendix B presents a similar tutorial for the VHDL language.

Suggested Course Outlines


The material in this course may be used in a quarter or semester course, or it may be extended to two quarters. A 15-week
semester course can simply follow the book outline, adding the optimization topics in Chapters 2 and 5, coverage of
PLDs in Chapter 7, and more in-depth coverage of digital system modeling and simulation with Verilog and/or VHDL.
A 10-week quarter course might use the following outline:
Chapter 0: General introduction
Chapter 1: Binary number codes and binary arithmetic
Chapter 2: Logic gates, Boolean algebra and switching functions, and one minimization method (typically K-maps)
Chapter 3: Combinational circuit analysis and design, and hierarchical design with standard circuit modules
Chapter 4: Operation and design of flip-flops and latches, simple sequential shift register and counter modules
Chapter 5: Analysis and synthesis of synchronous sequential circuits
A second 10-week quarter course can spend more time on higher-level system design, modeling with Verilog or VHDL,
implementing digital systems with FPGAs or CPLDs, and asynchronous sequential circuits.

Instructor Resources
To support instructors in developing and teaching digital systems courses, an Instructor’s Solution Manual containing
solutions to all end-of-chapter problems in this book, lecture notes in the form of PowerPoint presentations, and source
files for all Verilog and VHDL examples in this book. These can be simulated and/or synthesized into PLDs and are
available from a secure, password-­protected website at www.pearsonhighered.com/irc.

Acknowledgments
We would like to acknowledge the work of our two coauthors, Prof. H. Troy Nagle and Prof. J. David Irwin, who contrib-
uted material to the 1995 edition of the book that has been incorporated into this revised edition.
The authors are appreciative of the students at Auburn University and The University of Texas at Arlington, who used
the manuscript in class in lieu of a finished text. Also, colleagues and graduate assistants who participated in teaching courses
using the manuscript offered many valuable suggestions, including Prof. David Levine, Dr. Gergely Zaruba, Dr. Shawn Gieser,
Ms. Sona Hasani, Ms. Xavia Kirk, Mr. Peter Sassaman, Mr. Kevin Marnell, Mr. Rushi Dixit, Mr. Walter Oduk, Dr. Daniel
Geiger, Prof. Adit Singh, Prof. Vishwani Agrawal, Prof. Spencer Millican, Prof. Jason Clark, and Prof. Soo-Young Lee.
The authors also thank our editors, Andrew Gilfillan, Julie Bai, Norrin Dias, Holly Stark, and Carole Snyder for their
many helpful suggestions and contributions in both the preparation of the manuscript and the design of the textbook.
The comments of several reviewers were valuable in the development of the manuscript.
Finally, we would like to express our appreciation to our families, Margaret, Stephanie, and Whitney, for their
support and patience during the seemingly endless process of developing this book.

Victor P. Nelson
Bill D. Carroll
Chapter 0
Computers and Digital
Systems
Learning Objectives
Students successfully completing this chapter will have demonstrated the knowledge and/or skills
to be conversant on the following topics.

1. General history of computers and digital systems


2. Advantages and disadvantages of digital versus analog systems
3. Design hierarchy, levels of abstraction, and complexity hiding
4. Moore’s Law and its significance to digital system designers
5. General characteristics of CMOS and TTL electronic technologies
6. Methods for representing digital systems
7. Approaches for realizing digital systems
8. Evolution of digital systems design methods
9. General application areas for digital systems
10. General organization of digital computers

The advent in the 1980s of low-cost, easy-to-use computers such as the IBM Personal Computer and the Apple II led to
decades of expanding applications of computers in all aspects of life. Later, the Internet made it feasible to interconnect
computers around the world, which spurred even more uses of computers, including cloud computing. The continued
miniaturization and cost reduction of microelectronics has resulted in the proliferation of mobile devices, an emergence of
the Internet of Things (IoT), and the rise of on-chip parallel processing. Continued evolution of computer hardware coupled
with advances in artificial intelligence and software will lead to even more sophisticated applications in the years to come.
Modern computers, both general purpose and special purpose, are composed of electronic, mechanical, and/or opti-
cal elements known as the hardware and of programs and data known as the software. This book introduces the subject
of computer hardware. In particular, it covers the analysis and design of the logic circuits that form the basis for most
electronic computer hardware.

0.1 A Brief History of Computing


A computer is a device capable of solving problems or manipulating information, according to a prescribed sequence of
instructions (or program), using some mechanical and/or electrical process. Since people first began solving problems
thousands of years ago, ways have been sought to simplify various problem-solving tasks. Of primary interest over the
millennia has been the automation of arithmetic operations. The advent of computer technology provided an inexpen-
sive way to perform simple arithmetic, and as the technology matured, computer techniques were rapidly extended
to solving complex numeric problems; storing, retrieving, and communicating information; and controlling robots,

1
2 Chapter 0 Computers and Digital Systems

appliances, automobiles, games, manufacturing plants, and a variety of other processes and machines. What is most
amazing is that this computer revolution has occurred all within the past 75 years! The following is a brief synopsis of
these developments.

0.1.1 Beginnings: Mechanical Computers


The first computer was probably the abacus, which has been used in Asia for over 3000 years. This device, still in use
today, had little competition until the 1600s when John Napier used logarithms as the basis for a device that multiplied
numbers. His work led to the invention of the slide rule. Then, in 1642, Blaise Pascal built an adding machine that had
geared wheels much like a twenty-first-century odometer.
In 1820, Charles Babbage built the first device that used the principles of modern computers. His machine, the
difference engine, evaluated polynomials using the method of finite differences (see [1]). He also conceived a mechanical
machine that resembled modern-day computers with storage and arithmetic units. However, the precision required for
constructing the mechanical gears was beyond the capabilities of the craftsmen and technology of his time.

0.1.2 Early Electronic Computers


The first real progress toward electronic digital computers came in the late 1930s when Howard Aiken of Harvard University
and George Slibitz of Bell Telephone Laboratories developed an automatic calculator using relay networks; the relay is an
electromagnetically controlled switch. Other relay machines were developed during World War II for artillery ballistic calcu-
lations. Although these machines were relatively slow and comparatively large, they demonstrated the versatility of the elec-
tronic computer. Then, in the early 1940s, John Mauchly and J. Presper Eckert, Jr., of the University of Pennsylvania designed
and built a vacuum tube computer, which they called the electronic numerical integrator and calculator (ENIAC); it was
completed in 1945 and installed at Aberdeen Proving Ground, Maryland. ENIAC used 18,000 electron tubes, which required
tremendous amounts of power; its failure rate was high, and it was difficult to program because a plugboard was used.
Four very important discoveries were made over the next two decades that fueled a rapid evolution leading to
today’s digital computer. First, John von Neumann proposed that the program resides in the computer’s memory where
it could be changed at will, solving the programming difficulties of ENIAC. Second, in 1947, the transistor was invented
by John Bardeen, Walter H. Brattain, and William Shockley, which drastically reduced the size and power requirements by
replacing the electron vacuum tube. Later, J. W. Forrester and his associates at the Massachusetts Institute of Technology
developed the magnetic core memory, which made large amounts of storage feasible. The fourth invention occurred in
1956 when Jack Kilby and Robert Noyce independently developed the first integrated circuits (IC).

0.1.3 The First Four Generations of Computers


ENIAC and other vacuum tube computers appearing in the late 1940s and through the 1950s have been labeled first-­
generation digital computers. The advent of transistors in the late 1950s brought about the second generation of ­machines,
which were smaller in size, faster, and featured increased capabilities over their ancestors. In the late 1960s and
throughout the 1970s, the third generation of machines appeared. These machines are characterized by their use of ICs
­consisting of subminiature packages of multiple transistor circuits, which provided still another drastic reduction in size.
Improvements in packaging and memory technology also contributed to the improved third-generation machines.
The late 1960s also saw the emergence of the minicomputer. In addition to large complex machines, often called
mainframes, many manufacturers offered these smaller, limited-capability, general-purpose computers. Minicomputers,
which derived their name from their size and cost, have been used in many diverse applications and have played a major
role in popularizing the use of computers. The minicomputer widely increased computer usage in the scientific and
engineering communities. Machines found their way into industrial and university research laboratories. Computerized
process control in industry became commonplace.
The fourth generation of computers was ushered in during the late 1970s and early 1980s with the appearance of
machines based on large-scale integrated (LSI) and very-large-scale integrated (VLSI) circuit hardware components. VLSI
made it feasible to build small but powerful computers known as personal computers or workstations. The central com-
ponent of these machines is the microprocessor, which is an entire central processing unit of a computer implemented in a
single VLSI component. Intel Corporation and Motorola led the way in microprocessor technology development during
this period. This development is illustrated in Fig. 0.1a, which shows the evolution over a 30-year period of the Intel VLSI
microprocessor chips used in the IBM and IBM-compatible personal computers.
0.1 A Brief History of Computing 3

Figure 0.1 Evolution of the Intel microprocessors. (a) Twentieth century machines.
(b) Twenty-first century machines.

7,500,000
3,100,000
10,000,000 240

233
1,200,000
Parameter 230
...
Transistors
70

66
1,000,000

275,000
Clock speed (MHz)
60
Number of transistors

130,000

Clock speed (MHz)


50
50
100,000

29,000
40

33
30

6500
10,000
4500

20

16
2300

10
10
8
0.74

1000 0
4004 8080 8085 8086/8088 80286 80386 80486 Pentium Pentium II
(1971) (1974) (1976) (1978) (1980) (1986) (1988) (1993) (1997)

(a)

10,000,000,000 3500

3000

2500
1,000,000,000
2000

1500
100,000,000
1000

500

10,000,000 0
0)

4)

8)

8)

4)

6)
4)
)
08
00

00

00

00

01

01
01
20
(2

(2

(2

(2

(2
(2
(2

e(
4

uo

re

re
re
III

r
ua
m

co

co
co
co
D
m

Q
iu

8-

2-
8-
6-
2
iu

nt

i7

l2
l1
re

i7
00
nt

Pe

re
Co

el
el
Pe

74

re
Co

dw
w
Co

as
n

oa
eo

Br
X

n
eo

n
eo
X

Number of Transistors Clock Rate (MHz)

(b)

Perhaps the appearance of personal computers such as the IBM Personal Computer, based on Intel microprocessors,
and the Apple II, based on Motorola microprocessors, had the most dramatic impact on expanding the range of computer
applications than has any other occurrence. Before the personal computer became widespread, one could safely say that
most computers were only used by computer experts. Now computers are commonly used by experts and nonexperts
alike. Computer networks become commonplace during the fourth generation as well. Networks have increased access
to computers and have spawned new applications, such as electronic mail, electronic commerce, smart phones, social
networks, and many more.
4 Chapter 0 Computers and Digital Systems

Figure 0.2 Evolution of Nvidia GPUs.


100,000,000,000 200

180

160
10,000,000,000
140

120

1,000,000,000 100

80

60
100,000,000
40

20

10,000,000 0
0)

3)

7)

6)

7)
)
11

14
00

00

00

01

01
20

20
(2

(2

(2

(2
(2

i(

l(
38

sla

al

ta
15

rm

el

sc

ol
w
Te
V
NV

Fe

V
Pa
ax
N

86

0
9

10
11

10
G

V
10
F

P
G

G
G
M
G

Number of Transistors Process (nano-meters)

0.1.4 The Fifth Generation and Beyond


When will the fifth generation of computers begin? Or has it already begun? Using the classical measure, which is the
switch to a new hardware technology base, the answer is no. But should hardware technology be the only indicator
of computer generations? Probably not. It is clear that advances in software have had profound effects on the way
computers are used. New user interfaces, such as voice activation, or new computational paradigms, such as parallel
processing and neural networks, may also characterize the next-generation machine. Whatever the case may be, it is
likely that parallel processing, artificial intelligence, optical processing, visual programming, and gigabit networks
will play key roles in computer systems of the future. We will likely be in the fifth generation of computers for some
time before it becomes apparent.
Figure 0.1b shows the continued evolution of Intel microprocessors in the twenty-first century with transistor counts
approaching an astonishing 10 billion per chip. Two trends are clear—the appearance of multicore machines providing
on-chip parallel processing and the leveling-off of clock speed. These strongly suggest that future performance gains will
come through greater use of parallelism rather than higher clock rates.
The increasing complexity of ICs this century has also led to the development of the graphical processing unit
(GPU). Initially, GPUs were used as accelerators in visual computing applications such as 2D and 3D graphics, image
processing, and video. Now they are finding use as coprocessors in general-purpose, high-performance computing
applications. Figure 0.2 illustrates the evolution of Nvidia GPUs since 2000.
Armed with these perspectives, let us now review some important terminology and concepts that will be
needed to analyze and design circuits for computers and other digital systems. See [2] for more information on IC
complexity.

0.2 Digital Systems


General purpose computers, as discussed previously, are perhaps the most visible representative of a broader class of
machines known as digital systems. Other examples of digital systems include digital watches, traffic light controllers,
pocket calculators, and fitness trackers. This section will take a closer look at digital systems: Why are they preferred over
analog systems and what is their future?
0.2 Digital Systems 5

Figure 0.3 Analog and digital forms of an electrical signal. (a) Analog form. (b) Sampled analog form.
(c) Digital form.

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1
1 0 0 0 1 0 0 0 1 1 1 1 1 0 0 0
1 0 1 1 0 1 1 0 1 0 0 0 1 0 1 1

(a) (b) (c)

0.2.1 Digital versus Analog Systems


A digital system or device is one in which information is represented and processed in discrete rather than continuous
forms. Systems based on continuous forms of information are called analog systems or devices. A watch that displays
time with hour, minute, and second hands is an example of an analog device, whereas a watch that displays the time in
decimal digits is a digital device. Traditional musical instruments produce sounds in analog form and were so recorded
on the original phonograph records. Today, music is recorded digitally so that it can be stored in the Cloud, played on
smart phones and computers, and transmitted over the Internet.
For example, Fig. 0.3a shows an analog signal that might represent a musical tone. The first step to converting this
to digital is to sample the signal at uniform time intervals and convert it to a discrete number of values, as shown in
Fig. 0.3b. The final step is to represent each discrete level with a binary number, as shown in Fig. 0.3c. So the string of
binary numbers is the digital form of the original analog signal. The sampling rate and the number of bits in the binary
numbers are related—the faster the sampling translates to a need for more bits and produces a better quality sound.
A principle difference between digital computers and other digital systems is that computers are programmable and
general purpose while the others have fixed functionalities and are application specific.
In a rapidly growing trend, computers are being used in place of application-specific circuits in such products as auto-
mobile engines, home appliances, and electronic games by developing programs to perform the tasks required of the applica-
tion and then embedding the programmed computer within the product. The ability to program a computer to perform any
arbitrary task allows embedded computers to be used in place of a wide variety of fixed circuits, usually at a much lower cost.
Analog computers and other analog systems were in use long before digital systems were perfected. Why then have
digital systems supplanted analog systems in most application areas? There are several reasons.
• In general, digital techniques offer more flexibility than do analog techniques in that they can be more easily
programmed to perform any desired algorithm.
• Digital circuits provide for more powerful processing capabilities in terms of speed.
• Numeric information can be represented digitally with greater precision and range than it can with analog signals.
• Information storage and retrieval functions are much easier to implement in digital form than in analog.
• Digital techniques allow the use of built-in error detection and correction mechanisms.
• Digital systems lend themselves to miniaturization more than do analog systems.

0.2.2 Digital System Levels of Abstraction


Digital systems may be designed and studied at many different levels of abstraction, ranging from a purely behavioral
model, in which no hardware details are specified, down to the physical level, in which only structures of physical mate-
rials are specified. Several levels of design abstraction are listed in Table 0.1. Figure 0.4 shows the hierarchy of the hard-
ware components of a simple computer.

Table 0.1 Digital System Levels of Abstraction


Design Level Hierarchy Amount of Detail Type of Model
System Highest Lowest Behavioral
Subsystem T c Behavioral
Register Transfer (ISA) T c Behavioral/Structural
Logic (Gate and Flip-Flop) T c Structural
Electronic (Transistor) T c Structural
Physical Lowest Highest Structural
6 Chapter 0 Computers and Digital Systems

Figure 0.4 Hierarchy diagram.

Computer

Arithmetic/Logic Unit Control Unit Memory Unit

Storage Address
AddSub AndXOR ACC PC IR FR FSM Control
Array Decoder

RCA OVR Register MUX

FA (Gates and flip-flops would typically fall below each of these blocks to form the lowest level of the hierarchy.)

System and Subsystem Levels


At its highest level, a digital system can be viewed as one or more interacting functional modules. The behavior
of the system and of each module is described without specifying implementation details. For example, a desktop
computer viewed at the system level comprises a microprocessor, memory modules, control circuits for the monitor,
keyboard, printer, and other peripheral devices. In this case, the computer is the system and the other components are
its subsystems.
An important characteristic of each level of abstraction is that it hides the complexity of the levels beneath it. That is,
we can understand the functionality of a computer and how to use it without understanding how the microprocessor and
other subsystems work. Likewise, we can understand how a microprocessor works without understanding how its arith-
metic/logic unit (ALU) and controller work. The concepts of abstraction levels and complexity hiding are very important
in the design of computers and digital systems in that they allow complex systems to be partitioned into a hierarchy of
simpler components or modules. These components then can be designed separately and systematically integrated to
form the complete system. Ideally, some of the components may be standard, off-the-shelf devices that do not need to be
redesigned but just integrated with other components.

Instruction Set Architecture (ISA) and Register-Transfer Level (RTL)


Computers, being programmable machines, all have a set of basic instructions that are used to formulate the programs
to be executed. These instructions plus other details, such as instruction and data formats and data register organization,
form the ISA of the computer. At the register level, a digital system is viewed as a collection of elements called registers
that store information, which are interconnected in some fashion by signal lines. Information is processed by the system
by transferring it between registers along these signal lines. In some cases, the information is transformed during these
register transfers by routing it through one or more functional modules.
Figures 0.5a and b illustrate the system- and register-level models of a digital system that computes the sum of a
sequence of binary numbers supplied one at a time as inputs to the system. At the system level, all that is known is the
basic function of the system, which is to compute:

Total = a Inputi
N

i=1

At the register level, as in Fig. 0.5b, it is seen that the system comprises a storage register, A, and an adder circuit.
The Total is computed by first clearing register A, using control signal Clear, and then adding each input number,
Inputi, to the contents of register A, replacing the contents of register A with the new sum, using control signal
0.2 Digital Systems 7

Figure 0.5 Models of a digital system that adds lists of numbers. (a) System level.
(b) Register level.
Input

Adder
Input

Compute the sum of Clear


Register A
a sequence of Store
input numbers

Total Total

(a) (b)

Store. Hence, the sum of a list of numbers is computed by performing the following register transfers in the proper
sequence.

Clear: A d 0

Store: A d A + Input

Logic Level
At the logic level, the behavior of a digital system is specified as a set of logic equations from Boolean algebra that can
be realized in hardware by logic circuits. The smallest logical unit of digital hardware is called a gate. Gates are logic
elements that implement the fundamental operators of Boolean algebra. Logic equations are realized in hardware by
interconnecting gates to form combinational logic circuits, as illustrated in Fig. 0.6. Note that the circuit has six gates.
The inputs in this example are labeled x1, c, x5, and the output f(x1, c, x5) is a function only of the present value of
the input signals. Hence, a distinguishing feature of the combinational logic circuit is that it possesses no memory of
previous input signals. The analysis and design of combinational logic circuits consume a major portion of this text.
All digital computers contain memory devices called registers that serve as temporary stores for information. These
registers and certain parts of the control unit are called sequential logic circuits. A sequential logic circuit is, in general,
a combinational logic circuit plus memory, as modeled in Fig. 0.7. Unlike combinational logic circuits, the outputs of a
sequential logic circuit are functions of not only the present value of the input signals but also depend on the past history
of inputs, as reflected by the information stored in the registers. Sequential logic circuit analysis and design comprise
the second focal point of this text. Only after readers have mastered the fundamentals of combinational and sequential
circuits can they proceed with the design and construction of digital systems hardware.

Figure 0.6 A combinational logic circuit with six gates.


x1
G1
x2

G4

x1
x3 G2 G6 f (x1, x2, x3, x4, x5)
x4

G5

x2
G3
x5
8 Chapter 0 Computers and Digital Systems

Figure 0.7 Sequential logic circuit model.

Inputs Combinational Outputs


logic
network

Memory

Electronic Level
Combinational and sequential logic circuits completely define the logical behavior of a digital system. Ultimately, each
logic gate must be realized by a lower-level transistor circuit, which in turn is realized by combining various semiconduc-
tor and other materials. The technologies used to construct gates and other logic elements have evolved from mechani-
cal devices to relays to electron tubes to discrete transistors to ICs. Modern computers and application-specific digital
systems are usually built of ICs that are arranged to realize the registers and control circuits necessary to implement the
computer’s instruction set or the system’s functions.
An IC contains multiple logic elements. The number of gates or transistors per IC determines the scale of integra-
tion. Small-scale integration (SSI) refers to ICs with 2 to 100 transistors, medium-scale integration (MSI) corresponds to 100
to 500 transistor ICs, LSI to 500 to 20,000 transistors, VLSI to ICs with 20,000 to 1,000,000 transistors, and ultra large-scale
integration (ULSI) to ICs with more than 1,000,000 transistors.
It is beyond the scope of this text to consider transistor and physical-level design of logic gates. However, it is impor-
tant to have a basic understanding of various electrical and physical properties of different technologies so that the logi-
cal operation, performance, cost, and other parameters of a digital system design may be evaluated.

0.3 Electronic Technologies


Numerous families of electronic technologies have been developed to provide characteristics such as speed, power con-
sumption, packaging density, functionality, and cost that hardware designers prefer or need. Usually, it is ­impossible
to provide all the desired characteristics in one family. Hence, there is an ongoing quest for improvements in existing
technologies or the development of new technologies. Tables 0.2 and 0.3 list the most significant technologies and corre-
sponding characteristics that have been used since the beginning of the transistor era. Figure 0.8 shows electronic circuit

Table 0.2 Important Electronic Technologies


Technology Transistor Type Comments
Resistor-transistor logic (RTL) Bipolar junction Obsolete
Diode-transistor logic (DTL) Bipolar junction Obsolete
Transistor-transistor logic (TTL) Bipolar junction Still in Use
Emitter-coupled logic (ECL) Bipolar junction Obsolete
Positive metal oxide semiconductor (pMOS) MOSFET Obsolete
Negative metal oxide semiconductor (nMOS) MOSFET Obsolete
Complementary metal oxide semiconductor (CMOS) MOSFET Widely Used

Table 0.3 Characteristics of Selected Electronic Technology Families


Technology Speed Power Vcc Logic 0 Logic 1 Packaging
TTL Medium Medium 5 volts 0–0.8 volts 2.0–5.0 volts SSI, MSI
ECL High High 5 volts 0–3.6 volts 4.4–5.0 volts SSI, MSI, LSI
CMOS 5.0 Medium Low 5 volts 0–1.5 volts 3.5–5.0 volts SSI, MSI, LSI, VLSI
CMOS 3.3 Medium Low 3.3 volts 0–0.8 volts 2.0–3.3 volts LSI, VLSI, ULSI
CMOS 1.8 High Low 1.8 volts 0–0.63 volts 1.17–1.8 volts VLSI, ULSI
CMOS 1.5 High Low 1.5 volts 0–0.53 volts 0.98–1.5 volts VLSI, ULSI
0.3 Electronic Technologies 9

Figure 0.8 TTL and CMOS NAND circuits. (a) TTL two-input NAND circuit. (b) CMOS two-input
NAND circuit.

Vdd
VCC
Q1 Q2
R1 R2 R3

4K 1.6K 130

Output
Q3
Q1 Q3
D1 InputA
Input A Q2 Y
Input B
Q4
Q4 InputB
R4
D2 D3
1K
GND

(a) (b)

diagrams of a two-input NAND gate for TTL and CMOS technologies. See [3 and 4] for more information on TTL and
CMOS devices and circuits.
The packaging of logic gates and other logic elements has changed significantly over the years. Early elec-
tronic logic elements were typically constructed from large electron tubes, discrete resistors, and capacitors; were
mounted on an aluminum chassis; and were interconnected with copper wire. Tube technology advances resulted
in reduced sizes, and printed circuit boards replaced the wires. Later, discrete transistors replaced the tubes, but
the resistors, capacitors, and printed circuit boards remained in use, although their sizes were smaller. The advent
of the IC in the early 1960s produced further reduction in the size of printed circuit boards and other passive ele-
ments. Today an entire system can be implemented on a single chip.
ICs can be manufactured in standard, semicustom, and custom forms. Standard ICs provide the parts necessary to
build systems for most applications. However, some applications may require semicustom or custom circuits to meet
special functions, lower cost, or size requirements. Custom circuits are manufactured to the exact requirements of a
specific customer. Custom circuits are very expensive to design and manufacture. More importantly, their functional-
ity cannot be changed after manufacture, which makes them susceptible to becoming obsolete, making their cost even
higher. Semicustom circuits are programmed to satisfy a customer’s need, which reduces the cost compared to cus-
tom circuits but does not address the obsolsence issue. The term application-specific integrated circuits (ASICs) is used to
describe semicustom devices. Recent developments of cost-effective and powerful programmable logic devices known as
complex ­programmable logic devices (CPLDs) and field programmable gate arrays (FPGAs) have addressed both issues and are
beginning to supplant custom devices and ASICs as the technology of choice for designers. Programmable devices will
be discussed in more detail next and later in the book.

0.3.1 Moore’s “Law”


First of all, Moore’s law is not a law but an observation by Gordon Moore, one of the founders of Intel, that the
complexity of ICs doubles every 12 months. Moore used the number of transistors per IC chip as his measure
of ­complexity, and that remains the primary measure today. Moore first published his observation in Electronics
magazine in 1965 [5], and it held remarkably accurate until about 1990 when growth had slowed to doubling every
18 months. By 50 years later, the pace had slowed to a two-year doubling period with some even pronouncing that
Moore’s law was “dead,” meaning that complexity growth was no longer predictable. See [6 and 7] for an update on
Moore’s law. Figure 0.9 [8] shows growth trends over the years for microprocessors in terms of complexity, perfor-
mance, clock speed, power, and logical cores. This graph captures the incredible advances that have occurred in IC
technology as predicted by Moore’s law.
10 Chapter 0 Computers and Digital Systems

Figure 0.9 Integrated circuit growth trends.


42 Years of Microprocessor Trend Data

107 Transistors
6 (thousands)
10

105 Single-Thread
Performance
104 (SpecINT 3 103)
Frequency ( MHz)
103
Typical Power
102 (Watts)
Number of
101 Logical Cores
100

1970 1980 1990 2000 2010 2020


Year
Original data up to the year 2010 collected and plotted by M.Horowitz, F. Labonte, O. Shacham, K. Olukotun, L.Hammond, and C. Batten.
New plot and data collected for 2010–2017 by K. Rupp.

0.3.2 Fixed versus Programmable Logic


The growth in complexity of ICs has also had a profound effect on how logic functions are realized. First, small-scale
integrated (SSI) circuits provided gate-level devices that could be interconnected to realize logic functions. Next, MSI gave
designers higher-level devices, such as decoders, multiplexers, and adder/subtractors. LSI added simple 4-bit processors
and small random access memory (RAM) and read-only memory (ROM) devices to the parts cabinet. These were all major
advances but still required devices to be interconnected with wires and/or on printed circuit boards. Once these circuits
were built, they were fixed in place and could not be easily modified. This led to the term fixed-logic to describe such
realizations.
The appearance of programmable devices and memory led IC designers to the idea of programmable logic devices
that could be used to realize logic functions and eliminate or reduce the need for fixed logic. Programmable logic devices
are generally easier to design and easier to modify, providing a more efficient and cost-effective design process. Many
programmable devices have been developed and commercialized with names such as programmable logic arrays (PLAs),
programmable array logic (PALs), programmable read-only memory (PROMs), CPLDs, and FPGAs. Table 0.4 shows the evo-
lution of technology for realizing logic functions. Note that FPGAs rival GPUs in complexity (transistors per chip). See
[4 and 9] for further coverage of programmable devices.

0.3.3 Microcontrollers
Microcontrollers are low-cost, low-power microprocessors designed for use in embedded systems, such as appliances,
toys, automobiles, printers, etc. Microcontrollers are general purpose in that they are programmable, yet they are too
limited computationally to serve as general-purpose computing platforms. Instead, they are usually programmed for a
specific application and dedicated to that purpose for product life. Since their programs won’t change, they are usually
executed from ROM instead of RAM.
Microcontrollers have become a viable option to fixed and programmable logic for realizing sequential circuits in
certain situations. More specifically, they may be a good choice for applications where speed, power consumption, and
size are not significant factors. Otherwise, fixed and/or programmable logic realizations are usually a better choice.

0.3.4 Design Evolution


The evolution of computer hardware technology has been paralleled with an evolution of design methods and tools. In
fact, computer-aided design (CAD) tools are essential for designers to utilize new devices in their designs and even to
design the next generation of devices.
0.3 Electronic Technologies 11

Table 0.4 Evolution of Integrated Circuit Technology for Realizing Logic Circuits
Integration/Device Number of Transistors Dates
Small-Scale Integration (SSI) 2 to 100 1964
NOT gate 2
2-input NAND 4
2-input AND 6
D flip-flop 12
4-input MUX 24
1-bit adder-subtractor 48
Medium-Scale Integration (MSI) 100 to 500 1968
4-to-16 decoder 148
4-bit adder-subtractor 192
UART
Large-Scale Integration (LSI) 500 to 20,000 1971
PLS100 PLA 2,000-est
16-bit multiplier 9,000
DMA Controller
Very-Large-Scale Integration (VLSI) 20,000 to 1,000,000 1980
32-bit multiplier 21,000
Intel 8087 FP coprocessor 45,000 1980
82S321 PROM 100,000-est
Graphics adapter
Ultra-Large-Scale Integration (ULSI) 1,000,000 plus 1984
Xilinx Virtex-II FPGA 350,000,000 (130 nm) 2000
Xilinx Virtex-4 FPGA 1,000,000,000 (90 nm) 2004
Altera Stratix IV FPGA 2,500,000,000 (40 nm) 2008
Xilinx Virtex-7 FPGA 6,800,000,000 (28 nm) 2011
Intel Stratix 10 FPGA 17,000,000,000 (14 nm) 2017

Before ICs, logic design was essentially a pencil-and-paper process. One of the most useful tools in that process was
a logic symbol template for drawing circuits. Once designed, a prototype circuit was constructed and tested for correctness.
The process started over if changes were necessary. Similar processes were used when designing for SSI and MSI devices
but could not scale to LSI, VLSI, and ULSI complexity levels.
Designing with complex components required sophisticated CAD tools and spawned a new industry to develop
them. Some of these early tools are listed below. Most of these types of tools remain in use today in more advanced forms
and versions.

Schematic capture editors—a tool enabling the designer to enter and save the logic components and interconnections of
a logic circuit being designed. The circuit structure would be saved as net lists that could be manipulated by other CAD
tools. Early schematic editors were text-based but used graphical interfaces in later versions.

Logic simulators—a tool for simulating the behavior of a logic circuit for purposes of design verification. Early ver-
sions provided text-based inputs and outputs with later versions using graphical waveforms that approximate how the
signals would look on an oscilloscope.

Placers—tools for finding optimum or near-optimum placement of circuit components on a printed circuit board or
other interconnection structure.

Routers—tools for finding optimum or near-optimum routing of connectors between circuit components.

Technology for constructing and testing prototypes also experienced evolution to support the design of complex
circuits and systems. Some of the tools developed and in use are listed as follows.
12 Chapter 0 Computers and Digital Systems

Solderless breadboard—a device that allows for placement and interconnection of ICs without the need for soldering or
wire wrapping. They are useful for prototyping circuits built with fixed logic.

Development board—a laboratory instrument that is used to prototype logic circuits and systems to be realized with
programmable devices.

Logic analyzer—a laboratory instrument used to test and debug logic circuits and systems.

Automated test equipment—a laboratory instrument used to generate test patterns and record test results for logic
circuits and systems.

Schematic capture works well when designing with fixed logic but is restrictive when designs target the use of
programmable logic devices such as PROMs, PLAs, PALs, CPLDs, and FPGAs. Addressing this challenge led to the devel-
opment of hardware description languages (HDLs), which are now commonplace in the design of logic circuits and digital
systems. HDLs resemble programming languages such as C, C++, and Ada in syntax. However, there are some distinc-
tions that are worthy of note. HDL code represents the structure and/or behavior of a physical electronic system. As such,
statements must usually execute concurrently rather than sequentially. Also, HDLs must be able to handle timing con-
straints or specifications, describe a system as interconnected components, and incorporate various levels of abstraction.
Many HDLs have been developed over the years by hardware vendors and by CAD tool vendors. The former gen-
erally target vendor-specific devices across multiple design platforms, while the latter target vendor-specific design
platforms across multiple devices. PAL Assembler (PALASM) from Monolith Memories, Inc., Compiler for Universal
Programmable Logic (CUPL) from Logic Devices, Inc., and Advanced Boolean Equation Language (ABEL) from Data
I/O Corporation are example HDLs that were widely used in the early days. Verilog and VHSIC Hardware Description
Language (VHDL) have become the dominant HDLs used by industry and academe over the past two decades.
See [4 and 10] for more information on HDLs.
Verilog was invented in the mid-1980s and has evolved through various upgrades and enhancements into one of the
most widely used HDLs. It has been standardized as IEEE 1364. Verilog models can be synthesized, or compiled, to pro-
duce realizations that can be implemented in programmable logic devices such as CPLDs, FPGAs, programmable system
on chips (PSoC), and ASICs.
VHDL was developed in the mid-to-late 1980s under sponsorship of the U.S. Department of Defense (DOD). Given
the DOD’s prior support for the development of the Ada programming language, it’s not surprising that VHDL is similar
in structure and syntax to Ada. VHDL has been standardized as IEEE 1076. Like Verilog, VHDL can be synthesized or
compiled to produce realizations that can be implemented using programmable logic devices or ASICs.

0.4 Applications of Digital Systems


Now that we’ve introduced the general concepts and basic elements of digital systems, let us take a look at some applica-
tions of these systems. We’ll look at a few application areas in order to contrast general-purpose, programmable solutions
with dedicated, nonprogrammable ones. The breadth of applications is enormous and ever expanding, so please consider
these as representative only.

0.4.1 General-Purpose Digital Computers


A digital computer is a system whose functional elements consist of ALUs, control units, memory or storage units, and
input/output (I/O) equipment. The interaction of these elements is shown in Fig. 0.10. Every computer system has a
native set of instructions, called machine instructions, that specify operations to be performed on data by the ALU and
other interactions between the ALU, memory, and I/O devices. The memory elements contain the data plus a stored list
of machine instructions called a program. The functional units are described in more detail here. Those wanting to learn
more in depth about computer organization are referred to [11].
The control unit coordinates all operations of the ALU, memory, and I/O devices by continuously cycling through a
set of operations that cause instructions to be fetched from memory and executed. The instruction cycle of a simple digital
computer, illustrated in Fig. 0.11, includes the following basic steps:

1. Fetch the next instruction of the current program from memory into the control unit.
2. Decode the instruction; that is, determine which machine instruction is to be executed.
3. Fetch any operands needed for the instruction from memory or from input devices.
Another Random Scribd Document
with Unrelated Content
INDEX.

A.
Abbess, 101
Abbey, 100
Abbey Road, N.W., 293
Abbot, 101
Abigail, 229
Abingdon Street, S.W., 298
Abney House, 153
Abney Park, 153
Abraham Newlands, 255
Abyssinia, 36
Acre, 272
Acton, 157
Adamant, 244
Adamites, 69
Adam Street, W.C., 275
Addison of the North, The, 132
Addison Road, W., 295
Adelaide, The, 190
Adelaide Island, 54
Adelphi, 275
Adelphi Terrace, W.C., 275
Admirable Crichton, 198
Adonis, 119
Afghanistan, 36
Africa, 35
Agar Town, 154
Agate, 245
Agnostic, 62
Air Street, W., 281
Alabama, 47
Albany, The, 220
Albany Street, N.W., 287
Albemarle Street, W., 280
Albemarle Street, E.C., 291
Albert Bridge, 224
Albert Gate, S.W., 278
Albert Hall, 224
Albert Memorial, 224
Albert Palace, 224
Albigenses, 68
Aldermanbury, E.C., 262
Aldersgate Street, E.C., 269
Aldgate, E., 265
Ale, 241
Aleutian Islands, 54
Alexandra Palace, 224
Alfred the Great, 87
Algiers, 42
Allhallows Barking, Church of, 214
Allhallowes Day, 172
Allhallowe’en, 172
All Saints’ Bay, 51
All Saints’ Day, 171
All Souls’ Day, 172
All the Nations, Battle of, 164
Almanac, 175
Almack’s Assembly Rooms, 225
Almighty Nose, The, 247
Alpaca, 177
Alsatia, 260
Amen Corner, E.C., 261
America, 35
American Indians, 35
Amethyst, 245
Ampthill Square, N.W., 288
Anabaptist, 75
Anacreon Moore, 131
Angel, 254
Angel, The, 81
Angelic Doctor, The, 197
Anglesea, 57, 137
Anglican Church, 67
Angola, 176
Annunciation, Feast of the, 166
Antarctic Ocean, 49
Apocalypse, 126
Apocrypha, 125
Apollinarians, 66
Apostle of Temperance, The, 200
April, 59
Apsley House, 220
Aquarians, 66
Arabia, 36
Arbor Day, 174
Arcadian, 231
Archway Road, N., 293
Arctic Ocean, 48
Argentina, 43
Argyll Street, W., 282
Arians, 66
Aristocracy, 111
Arkansas, 47
Arlington Street, W., 280
Arminians, 70
Arras, 180
Artemus Ward, 183
Artillery Lane, E.C., 267
Arundel Street, W.C., 273
Arundel Street, S.W., 277
Ascension Day, 171
Ascension Island, 56
Ascot Races, 210
Ash Wednesday, 168
Asia, 35
Asia Minor, 36
Assumption, Feast of the, 171
Aspasia, 119
Astoria, 48
Atheist, 61
Atlantic Ocean, 49
Atlas, 107
Audley Street, North, W., 285
Audley Street, South, W., 285
Augsburg Confession, The, 68
August, 57
Augustin Friars, 101
Austin Friars, E.C., 267
Australasia, 52
Australia, 52
Austria, 41
Authorized Version, The, 123
Ave Maria Lane, E.C., 261
Aylesbury Street, E.C., 291

B.
Bacchanals, The, 83
Bachelor, 231
Bachelor of Arts, 232
Badminton, 128
Baffin Land, 55
Bag o’ Nails, The, 83
Baker Street, W., 286
Balearic Islands, 56
Ball, 143
Ballad, 144
Ballet, 144
Ball’s Pond, 153
Baltic Sea, 49
Baltimore, 46
Baltimore-bird, 99
Banker Poet, The, 131
Bankers’ Clearing House, 227
Bankside, S.E., 300
Banks Land, 55
Banquetting Hall, Whitehall, 220
Bantam, 99
Baptists, 75
Barb, 99
Barbadoes, 55
Barbarians, 231
Barbarossa, 91
Barbary, 42
Barber, 231
Barber-Surgeons, 231
Barbican, E.C., 268
Baring Island, 54
Barley Mow, The, 84
Barnard’s Inn, 208
Barnsbury, 154
Barrow Hill Place, N.W., 293
Barrow Island, 54
Barrow Road, N.W., 293
Barrow’s Strait, 51
Bartholomew Close, E.C., 269
Bartholomew Fair, 269
Bartholomew Lane, E.C., 266
Barry Cornwall, 181
Barton Street, S.W., 298
Basilians, 103
Basinghall Street, E.C., 262
Basing Yard, S.E., 299
Bassano, Il, 206
Bath chair, 189
Bath Street, E.C., 269
Battle Bridge Road, N.W., 288
Battle of all the Nations, 164
Battle of Spurs, 164
Battle of the Giants, 164
Battle of the Herrings, 163
Battle of the Spurs of Gold, 164
Battle of the Standard, 163
Battersea, 159
Bayeaux Tapestry, 179
Bayham Street, N.W., 287
Baynard’s Castle, 156
Bay of Biscay, 51
Bayswater, 156
Bayswater Fields, 156
Bear, The, 84
Bear and Ragged Staff, The, 78
Bear Garden, S.E., 300
Beau Brummell, 199
Beauchamp Tower, 215
Beauclerc, 88
Beau Fielding, 199
Beau Nash, 199
Beckenham, 161
Bedfordbury, W.C., 274
Bedford Row, W.C., 289
Bedfordshire, 136
Bedford Square, W.C., 289
Bedford Street, W.C., 274
Bedlam, 219
Beech Lane, E.C., 268
Beefeaters, 232
Beer, 241
Beer Bible, 124
Belgium, 40
Belgrave Square, S.W., 296
Belgrave Street, S.W., 296
Belgravia, 149
Bell, The, 84
Belleisle, 57
Bell the Cat, 246
Beloochistan, 36
Belvedere, The, 192
Benchers, 209
Benedictines, 102
Bennett Street, W., 280
Bentinck Street, W., 284
Berkeley Place, W., 286
Berkeley Square, W., 279
Berkeley Street, W., 279
Berkeley Street, E.C., 291
Berkshire, 135
Berlin Blue, 146
Bermondsey, 160
Bermuda Islands, 55
Bernardines, 103
Berners Street, W., 283
Bethlehem, 219
Bethlehem Hospital, 219
Bethlemites, 69
Bethnal Green, 152
Bevis Marks, E.C., 267
Bible, 122
Bidëford Postman, The, 131
Billingsgate, 217
Billiter Street, E.C., 265
Birchin Lane, E.C., 267
Birdcage Walk, S.W., 297
Birds of Paradise, 97
Bishops’ Bible, 123
Bishopsgate Street, E.C., 267
Bishop’s Wood, 155
Black Agnes, 195
Black Bear, The, 84
Blackbird, 97
Black Bull, The, 78
Black Cloaks, 114
Black Douglas, 246
Black Friars, 101
Blackfriars Bridge, 260
Blackfriars Road, S.E., 260
Blackguard, 237
Blackheath, 161
Black Jack, The, 85
Blackleg, 237
Black Posts, The, 189
Black Prince, Edward the, 88
Black Sea, 49
Blandford Square, N.W., 286
Blandford Street, N.W., 286
Blankets, 178
Blenheim Street, W., 282
Blind Chapel Court, E.C., 265
Bloody Butcher, The, 248
Bloody Mary, 89
Bloody Tower, 215
Bloomsbury, 150
Bloomsbury Square, W.C., 290
Blue Anchor Lane, S.E., 301
Blue Anchor Road, S.E., 301
Blue-bird, 96
Blue Boar, The, 80
Blue Book, 106
Blue Coat School, 218
Blue Lion, The, 78
Blue Pig, The, 83
Blue Posts, The, 189
Blue Stocking, 229
Blue Stocking Club, 229
Bluff King Hal, 89
Boar’s Head, The, 78
Boat-bill, 98
Bobbies, 232
Bock-bier, 243
Bohemia, 40
Bohemians, 233
Bolingbroke, 89
Bolivia, 43
Bolsover Street, W., 283
Bolt Court, E.C., 259
Bomba, 91
Bond Street, W., 280
Boniface, 230
Book, 106
Bookmaker, 237
Book of Deuteronomy, 125
Book of Exodus, 125
Book of Genesis, 125
Book of Leviticus, 125
Book of Numbers, 125
Bookseller, 107
Bookstall Smith, 203
Borneo, 53
Borough, 160
Boscobel, The, 85
Bosnia, 41
Bosphorus, 52
Boss Alley, E.C., 264
Botany Bay, 51
Bottle, The, 85
Bourbon Island, 53
Bow Church, 213
Bowling Green, The, 84
Bow Street, W.C., 274
Bow Street Runners, 232
Boxing Day, 168
Boycotters, 112
Boz, 182
Brahma-fowl, 99
Brahmins, 64
Brandy, 257
Brazil, 43
Bread Street, E.C., 262
Break, 139
Breakdown, 145
Brecknock, 137
Brecknock Crescent, N.W., 287
Brecknock Road, N.W., 287
Breeches Bible, 124
Brentford, 157
Bricklayers’ Arms, The, 85
Bride Lane, E.C., 259
Bridewell, 216
Bridge Street, E.C., 260
Bridge Street, S.W., 298
Bridgewater Square, E.C., 269
Bristol-board, 105
Bristol House, 223
Britain, 38
Britannia, 38
British Columbia, 45
British Matron, The, 94
Brittany, 40
Brixton, 162
Broad Church, 76
Broadcloth, 178
Broad Sanctuary, S.W., 298
Broadside, 107
Broad Street, E.C., 268
Broadway, E.C., 260
Brocade, 177
Brochure, 106
Brook Street, W., 281
Brooke Street, W.C., 270
Brother Jonathan, 93
Brougham, 138
Bruce Castle, 221
Brunswick Black, 146
Brunswick Green, 146
Brunswick Square, W.C., 290
Brussels Lace, 180
Bruton Street, W., 279
Bryanstone Square, W., 286
Bryanstone Street, W., 286
Buckingham Palace, 219
Buckinghamshire, 135
Buckingham Street, W.C., 275
Bucklersbury, E.C., 263
Budge Row, E.C., 263
Budget, 256
Buddhists, 64
Buffet, 232
Bug Bible, 124
Buggy, 139
Bulgaria, 41
Bull and Gate, The, 83
Bull and Mouth, The, 83
Bullion, 255
Bully Ruffian, The, 83
Bunhill Fields, 151
Burglar, 238
Burgundy, 127
Burleigh Street, W.C., 275
Burlington House, 221
Burlington Street, W., 280
Burmah, 64
Burton Crescent, W.C., 289
Bury Street, S.W., 277
Buttercup, 120
“By Jingo!” 116

C.
Cab, 140
Cabbage-rose, 120
Cabinet Portrait, 185
Cabriolet, 140
Cadogan Square, S.W., 296
Cadogan Street, S.W., 296
Caels, 38
Caledonia, 38
Caledonian Market, 288
Caledonian Road, N., 288
Calendar, 175
Calico, 176
California, 45
Calvinists, 68
Cam, 136, 162
Camberwell, 162
Cambria, 39
Cambric, 176
Cambridge, 162
Cambridgeshire, 136
Camden Town, 155
Camellia, 119
Cameronians, 73
Camisards, 69
Camomile Street, E.C., 267
Campden Hill, W., 295
Campden Square, W., 295
Canada, 45
Canary, 99
Canary Islands, 56
Canary Wine, 128
Candia, 57
Candlemas Day, 166
Candlewick Street, E.C., 263
Canning, The, 85
Cannon Row, S.W., 298
Cannon Street, E.C., 263
Canonbury, 153
Canterbury Arms, The, 193
Canterbury Music Hall, 193
Capability Brown, 205
Cape Colony, 43
Cape Horn, 43
Capel Court, 226
Cape of Good Hope, 43
Cap-paper, 104
Capri, 56
Caps, The, 113
Capuchin Friars, 102
Carat, 245
Carbonari, 114
Carburton Street, W., 285
Cardigan, 137
Cardinal, 147
Caribbean Sea, 49
Carlisle Lane, S.E., 298
Carlisle Street, W., 283
Carlton House Terrace, S.W., 277
Carmarthen, 137
Carmelites, 101
Carmine, 147
Carnarvon, 137
Carnation, 118, 147
Carolina, 46
Caroline Islands, 53
Carolus, 254
Carpentaria, Gulf of, 51
Carpenter, 230
Carpenters’ Arms, The, 82
Carte-de-Visite, 185
Carthusians, 102
Cartoon, 107
Cartridge-paper, 104
Cashmere, 176
Caspian Sea, 50
Cassius, 148
Castle, The, 84
Castle Street, W., 283
Castle Street, W.C., 271
Cat and Fiddle, The, 83
Cat and Wheel, The, 83
Catford, 161
Catherine Street, W.C., 273
Catherine Wheel, The, 83
Catholics, 66
Cavaliers, 111
Cavendish Square, W., 284
Cavendish Street, W., 284
Cecil Street, W.C., 275
Celestial Empire, 37
Century White, 130
Ceylon, 53
Chaffinch, 98
Chalk Farm, 155
Champagne, 127
Chancery Lane, E.C., 271
Chandos House, 220
Chandos Street, W., 285
Chandos Street, W.C., 275
Change Alley, E.C., 266
Chantilly Lace, 180
Chapel Street, W., 278
Chaperon, 228
Charing Cross, 275
Charlemagne, 91
Charles Martel, 246
Charles Street, W., 279
Charles Street, N.W., 287
Charlotte Street, W., 283
Chart, 106
Charterhouse, 218
Chartists, 117
Chartreuse, 102
Cheap Jack, 236
Cheapside, 261
Check, 179
Checkers, 179
Chelsea, 158
Chepe, 262
Chequers, The, 179
Cherry Gardens, S.E., 301
Cherry Gardens Pier, 301
Chesham Street, S.W., 297
Cheshire, 133
Chester, 133
Chesterfield House, 278
Chesterfield Street, W., 278
Chester Square, S.W., 297
Chevalier, 111
Cheyne Row, S.W., 295
Cheyne Walk, S.W., 295
Chickadee, 96
Chichester Rents, 271
Childermas Day, 167
Chili, 43
Chimney-swallow, 98
China, 36
Chinese Yellow, 146
Chintz, 177
Chiswick, 158
Christians, 65
Christmas Box, 168
Christmas Day, 167
Christmas Dole, 168
Christmas Island, 52
Christmas-rose, 120
Christ’s Hospital, 218
Chrysanthemum, 121
Church of England, 67
Church Street, N.W., 294
Cinderella Dance, 143
Circassia, 37
Cistercians, 102
City Golgotha, The, 216
City Road, N., 292
Clare Market, W.C., 272
Clarence, 138
Claret, 128
Clarges Street, W., 280
Claude Lorraine, 206
Clearing House, 227
Clement’s Inn, 208
Clerkenwell, 150
Cleveland Street, W., 283
Clifford’s Inn, 208
Clifford Street, W., 280
Clipstone Street, W., 285
Cloak Lane, E.C., 259
Clock House, The, 223
Cloth Fair, E.C., 269
Clown Tavern, The, 192
Cluniacs, 102
Coach, 140
Coach and Horses, The, 83
Coachmakers’ Arms, The, 82
Cobourg, 176
Cockney, 238
Cœur de Leon, 88
Cognac, 257
Colbertine, 180
Coldbath Fields, 290
Coldbath Square, E.C., 290
Coleman Street, E.C., 262
Colleen, 229
Colleen Bawn, 229
College Hill, E.C., 264
College of Arms, 218
College Place, N.W., 288
College Street, N.W., 288
Colony, Cape, 43
Colorado, 47
Columbia, 44, 45
Comb’s Mass, 173
Compton Street, W., 282
Conduit Street, W., 281
Confederates, 114
Confessor, 87
Conformists, 74
Congregationalists, 75
Congregational Memorial Hall, 217
Connecticut, 47
Consols, 256
Conqueror, The, 88
Conservative, 110
Convent, 100
Conventional Friars, 102
Convolvulus, 120
Copenhagen Fields, 152
Copperheads, 116
Cordeliers, 102
Corduroy, 178
Cordovan, 230
Cordwain, 230
Cordwainer, 230
Cork Street, W., 280
Cornhill, 266
Corn-feds, 115
Corn Law Rhymer, The, 132
Cornwall, 135
Corporal John, 248
Corpus Christi, Feast of, 170
Corsica, 56
Coryphée, 144
Costa Rica, 44
Costermonger, 236
Country Dance, 143
Covenanters, Scottish, 73
Covent Garden, 274
Coventry Street, W., 276
Cowley Street, S.W., 298
Cowslip, 120
Cracknut Night, 172
Cranbourne Street, W., 276
Crane’s-bill, 118
Cranmer’s Bible, 123
Craven Cottage, 223
Craven Hill Gardens, W., 295
Craven Road, W., 295
Craven Street, W.C., 276
Creed Lane, E.C., 261
Cremorne Gardens, 193
Cricketers’ Arms, The, 85
Crimea, 37
Crimson, 147
Cripplegate, E.C., 268
Cromwell House, 222
Cromwell Place, S.W., 295
Cromwell Road, W., 295
Crooked Lane, E.C., 264
Crosby Hall, 217
Cross-bill, 98
Cross Keys, The, 81
Crown, The, 80
Crown and Anchor, The, 80
Crown and Sceptre, The, 80
Crown-paper, 104
Crown-piece, 253
Cruel, The, 91
Crusted Port, 129
Crutched Friars, 101
Crutched Friars, E.C., 265
Crystal Palace, 224
Cuba, 55
Cuckoo, 96
Cumberland, 133
Cumberland Gate, W., 278
Cumberland Market, N.W., 287
Curlew, 96
Cursitor, 271
Cursitor Street, E.C., 271
Curtain Road, E.C., 292
Curzon Street, W., 279
Cyprus, 57, 127

D.
Daffodil, 120
Daguerreotype, 185
Dahlia, 119
Daisy, 120
Dale Road, N.W., 293
Dalston, 152
Damask, 176
Damask-rose, 119
Damassin, 177
Dancing Chancellor, The, 203
Dandy, 233
Dane’s Inn, 208
Danvers Street, S.W., 296
Dardanelles, 52
Davies Street, W., 281
“D.D. Cellars,” The, 205
Dead Sea, 49
Dean Street, W., 282
De Beauvoir Town, 152
December, 59
Defender of the Faith, 89
Deist, 61
Delahay Street, S.W., 297
Delaware, 48
Del Salviati, 206
Democrats, 110
Denbigh, 137
Denmark, 40
Denzil Street, W.C., 272
Deptford, 160
Derby Races, 210
Derbyshire, 136
Desborough Place, W., 293
Desolation Island, 53
Deuteronomy, Book of, 125
Devereaux Court, W.C., 273
Devil, The, 191
Devonshire, 135
Devonshire House, 220
Devonshire Square, E.C., 267
Diamond, 244
Dimity, 176
Dirty Dick, 205
Dissenters, 74
Distaff’s Day, 167
Diver, 98
Dizzy, 202
Doctors’ Commons, 218
Dog and Duck, The, 84
Dog-cart, 138
Dog-rose, 119
Dollar, 255
Dolphin, 254
Dominica Island, 55
Dominicans, 101
Donatists, 66
Doncaster St. Leger, 210
Dorset Buildings, E.C., 259
Dorset Gardens Theatre, 259
Dorsetshire, 134
Dorset Square, N.W., 286
Dorset Street, E.C., 259
Dorset Street, N.W., 286
Douay Bible, 123
Douglas, Bell the Cat, 246
Dover House, 220
Dover Street, W., 280
Dowager, 228
Dowgate, E.C., 264
Drury Lane, W.C., 272
Dry Wine, 129
Ducat, 253
Duchess Street, W., 284
Duck-bill, 98
Duck’s Foot Lane, E.C., 264
Welcome to Our Bookstore - The Ultimate Destination for Book Lovers
Are you passionate about testbank and eager to explore new worlds of
knowledge? At our website, we offer a vast collection of books that
cater to every interest and age group. From classic literature to
specialized publications, self-help books, and children’s stories, we
have it all! Each book is a gateway to new adventures, helping you
expand your knowledge and nourish your soul
Experience Convenient and Enjoyable Book Shopping Our website is more
than just an online bookstore—it’s a bridge connecting readers to the
timeless values of culture and wisdom. With a sleek and user-friendly
interface and a smart search system, you can find your favorite books
quickly and easily. Enjoy special promotions, fast home delivery, and
a seamless shopping experience that saves you time and enhances your
love for reading.
Let us accompany you on the journey of exploring knowledge and
personal growth!

ebooksecure.com

You might also like