With the strong impact of digital technology on our everyday lives, it is not surprising
that a course in digital concepts and design is a standard requirement for majors
in computer engineering, computer science, and electrical engineering. An introductory
course is frequently encountered in the first or second year of their undergraduate
programs. Additional courses are then provided to refine and extend the basic
concepts of the introductory course. This book is suitable for an introductory course in digital principles with em-phasis
on logic design as well as for a more advanced course. With the exception of
the appendix, it assumes no background on the part of the reader. The intent of the
author is not to just present a set of procedures commonly encountered in digital design
but, rather, to provide justifications underlying such procedures. Since no background
is assumed, the book can be used by students in computer engineering, computer
science, and electrical engineering. The approach taken in this book is a traditional one. That is, emphasis is on the
presentation of basic principles of logic design and the illustration of each of these
principles. The philosophy of the author is that a first course in logic design should
establish a strong foundation of basic principles as provided by a more traditional
approach before engaging in the use of computer-aided design tools. Once basic
concepts are mastered, the utilization of design software becomes more meaningful
and allows the student to use the software more effectively. Thus, it is the understanding
of basic principles on which this book focuses and the application of these
principles to the analysis and design of combinational and sequential logic networks.
Each topic is approached by first introducing the basic theory and then illustrating
how it applies to design. For those people who want to use CAD tools, we
have included a CD-ROM containing Altera MAX+plus II 10.1 Student Edition, as
well as software tutorials in an Appendix. SCOPE OF THE BOOK Chapter 1 discusses the differences between continuous, i.e., analog, and discrete,
i.e., digital, networks and devices. Then, the basic operation of the digital computer
is introduced as an example of a system that utilizes most of the concepts presented
in the remaining chapters. The chapter concludes with an overview of the topics
that will be introduced. In Chapter 2 the general concepts of positional number systems, arithmetic,
and conversion techniques are introduced. This material is developed for arbitrary
positive integer bases rather than simply for the binary number system to emphasize
the similarity of all positional number systems and their manipulations. Then,
various codes and their properties are discussed with emphasis on error detection
and correction. The two-valued Boolean algebra is introduced in Chapter 3. How Boolean expressions
are written, manipulated, and simplified is presented. Since there is a one-to-
one correspondence between the two-valued Boolean algebra and logic networks,
it is then shown how the algebra can serve as a mathematical model for the
behavior and structure of combinational logic networks. The chapter concludes with
a discussion of the gate properties that are relevant to logic networks, i.e., noise
margin, fan-out, propagation delays, and power dissipation. An important application of the Boolean algebra is to obtain those expressions
which can best be associated with optimal networks. Under the assumption that the
reduction in the delay time of a network is of paramount importance, it is possible to
obtain efficient networks by systematic procedures. Two methods for obtaining minimal
expressions are presented in Chapter 4. The first method, Karnaugh maps, is a
graphical procedure that permits minimal expressions to be obtained very rapidly.
However, since the procedure relies upon the recognition of patterns, there is a limit
to the complexity of a problem for which the procedure is effective. This limit seems
to be problems of six variables. A second method for obtaining minimal expressions
is the Quine-McCluskey method. This method involves just simple mathematical
manipulations. For problems with many variables, the Quine-McCluskey method
can be carried out on a digital computer. The concepts of both approaches are then
extended to a set of Boolean expressions describing multiple-output networks. The
chapter concludes with a variation of the Karnaugh map concept, called variable-entered
Karnaugh maps, in which Boolean functions can appear as map entries. Chapter 5 is concerned with several MSI and LSI components. The intent of
this chapter is to investigate combinational networks that are commonly encountered
in digital systems. Several types of adders and subtracters are discussed.
These include binary and decimal adders as well as high-speed adders using the
carry lookahead concept. Also included in this chapter are discussions on comparators,
decoders, encoders, and multiplexers. In the case of decoders and multiplexers,
attention is given to their use as generic logic design devices. The final part of the
chapter involves the three basic structures of programmable logic devices: programmable
read-only memories, programmable logic arrays, and programmable array
logic devices. Emphasis is placed on their utilization for the realization of logic networks,
with special attention given to their strengths and weaknesses and the constraints
placed on a logic design utilizing them. Chapter 6 begins the presentation on sequential logic networks. In this chapter,
various types of flip-flops, i.e., JK, D, T, and SR flip-flops, are introduced. The operational
behavior of the three categories of flip-flops, i.e., latches, edge-triggered,
and master-slave flip-flops, is discussed in detail. The remainder of the chapter is
concerned with some simple flip-flop applications, in particular, registers and counters.
Ripple and synchronous counters are presented and compared. The chapter
concludes with a general design procedure for synchronous counters. This procedure
serves as a basis for Chapters 7 and 8 involve clocked synchronous sequential networks. In Chapter
7 the classic Mealy and Moore models of a synchronous sequential network are pre-
sented. First, these networks are analyzed to establish various tabular representations
of network behavior. Then, the process is reversed and synthesis is discussed.
Chapter 8 also involves the design of clocked synchronous sequential networks;
however, this time using the algorithmic state machine model. The relationship between
the classic Mealy/Moore models and the algorithmic state machine model is
discussed as well as the capability of the algorithmic state machine model to handle
the controlling of an architecture of devices. In Chapter 9 asynchronous sequential networks are studied. Paralleling the approach
taken for synchronous sequential networks, the analysis of asynchronous sequential
networks is first undertaken and then, by reversing the analysis procedure,
the synthesis of these networks is presented. Included in this chapter is also a discussion
on static and dynamic hazards. Although these hazards occur in combinational
networks, their study is deferred to this chapter, since these hazards can have
a major effect on asynchronous network behavior. A great deal of attention is given
to the many design constraints that must be satisfied to achieve a functional design
of an asynchronous network. In addition to the static and dynamic hazards, the concepts
of races, the importance of the state assignment, and the effects of essential
hazards are addressed. An appendix on digital electronics is included for completeness. It is not intended
to provide an in-depth study on digital electronics, since such a study should
be reserved for a course in itself. Rather, its inclusion is to provide the interested
reader an introduction to actual circuits that can occur in digital systems and the
source of constraints placed upon a logic designer. For this reason, the appendix does
not delve into circuit design but, rather, only into the analysis of electronic digital
circuits. Emphasis is placed on the principles of operation of TTL, ECL, and MOS
logic circuits. Since circuits are analyzed, the appendix does assume the reader has
an elementary knowledge of linear circuit analysis. In particular, the reader should be
familiar with Ohm’s law along with Kirchhoff’s current and voltage laws.
Another appendix with software tutorials is also included. These tutorials, provided
by two contributors, include one on Altera MAX+plus II 10.1 Student Edition
and one on LogicWorks TM 4. The tutorials are meant to provide basic introductions to
these tools for those people who are using them in their course. HOMEWORK PROBLEMS With the exception of Chapter 1, each chapter includes a set of problems. Some of
these problems provide for reinforcement of the reader’s understanding of the material,
some extend the concepts presented in the chapter, and, finally, some are
applications-oriented. ADDITIONAL RESOURCES The expanded book website at http://www.mhhe.com/givone includes a downloadable
version of the Solutions Manual for instructors only and PowerPoint slides.
There are also a variety of labs using both the Altera Software and LogicWorks. A
CD-ROM containing Altera’s MAX+plus II CAD software and Multisim 2001 is
included free with every copy of the book. |