Introduction to Digital Design Goal and audience
Characteristics of the presentation
Organization
CAD tools
Typical sequences
Supplemental material
Companion CD-ROM
This textbook covers the specification, analysis, and design of digital systems. The theory and practice of these systems have developed over the last fifty years and have received a dramatic impulse because of the rapid growth of digital communications, digital instruments, digital entertainment technology, and especially of general-purpose computers. Basic theoretical knowledge about digital systems has consolidated over this period, and methods for their specification, analysis, and design have evolved. However, the field continues changing very rapidly, as technological advances make possible ever more complex and powerful systems.The rapid pace of change in the field of digital systems constantly outdates some topics and creates new ones, making the field a very dynamic one. As a result, a study of these systems that provides relatively long-lasting knowledge must rely on basic concepts and on a general methodology that can be adapted to the rapidly evolving characteristics. To satisfy such goals, this book distinguishes among the specification of a system and its implementation, and introduces analysis and design methods that are hierarchical and structured. In this way, the specification techniques remain relatively stable throughout time, whereas the implementation of the systems changes according to the technology.
The choice of material and the sequence of exposition was guided by the desire to present well-established concepts and notation, as well as analysis and design techniques, in a concise and comprehensive manner. As a result of that intention, several important topics could not be covered; missing topics include asynchronous circuits and systems, and testing and design for testability. For same reason, no detailed discussion of specific CAD tools is presented, although the related concepts are introduced and simple examples of their use are given. A WWW site, discussed later, contains material on these and other related topics which instructors may wish to use.
The textbook is suitable for a first course in digital systems, usually taught in the sophomore year to Computer Engineering, Electrical Engineering and Computer Science majors. The complete book can be covered in a one-semester course, and the most important topics can be covered in a one-quarter course, as outlined later in this Preface. A concurrent laboratory experience is possible, especially one which relies on analysis and design tools and programmable modules. However, we favor a laboratory that follows the course so that it can make immediate use of all the material in this course. To provide students with some hands-on experience with CAD tools for design entry and simulation, we developed a set of homework problems for several CAD platforms suited for academic use. These are available from the WWW site.
The book has no specific prerequisite, only the general knowledge obtained from the usual mathematics and physics courses at the freshman level. Basic ``electronics'' background is given in Chapter 3.
This textbook prepares students for a design-oriented course as well as for specialized courses in VLSI design, testing, implementation of digital signal processing systems, computer design, and microprocessor-based design. TOP
Characteristics
of the presentation
The presentation emphasizes the concepts, illustrating such concepts for present day technology. The book stresses a variety of description methods, such as tables, maps, expressions, and description languages. A subset of the language VHDL is introduced and used in the last sections of the relevant chapters, but these sections could be omitted or replaced with the discussion and use of some other hardware description language.Each chapter contains an outline of the concepts covered. Moreover, each chapter contains a large number of exercises which help students grasp the corresponding material. TOP
The book is divided into two parts. The first part (Chapters 1 through12) presents the specification and implementation of simple combinational and sequential systems. Chapters 2 through Chapter 6 deal with combinational systems: Chapter 2 discusses specification forms, Chapter 3 reviews the related technology, focusing on CMOS circuits and emphasizing the parameters needed for analysis and design, and Chapters 4, 5 and 6 present general methods to analyze combinational networks and discuss their implementation using basic combinational modules (gates), programmable logic devices (PLAs and PALs), and 2-input multiplexers.Chapter 7 and Chapter 8 are dedicated to simple sequential systems, and follow the same ordering as for combinational systems. Chapter 7 defines sequential systems and discusses their specification, whereas Chapter 8 discusses canonical sequential networks, the technology as related to sequential systems, focusing again on CMOS circuits, and the basic approaches for the analysis and design of sequential systems using basic modules (flip-flops).
Chapters 9 through 12 deal with the analysis and design of modular digital systems, that is, systems which are based on complex modules rather than on basic gates and flip-flops. Chapter 9 presents standard combinational modules such as decoders, encoders, multiplexers, and shifters. Arithmetic modules (adders, comparators, ALUs, and multipliers) are covered in Chapter 10, together with the the representation of signed integers and the implementation of the corresponding basic operations. Chapter 11 introduces basic sequential modules: registers, shift registers, and counters. We discuss the use of counters in the implementation of sequential systems, and the implementation of large modules as networks of smaller ones. Chapter 12 discusses programmable modules, some of which were already introduced in Chapter 5.
In the second part of the book, Chapter 13 discusses the organization, analysis and design of systems at the register-transfer level (RTL), and introduces methods for their specification using a subset of VHDL. Chapter 14 presents the organization of the data and control subsystems, and gives a complete design example. The chapter finishes with a discussion of microprogramming and describes a microprogrammed control unit. Finally, Chapter 15 utilizes the techniques introduced in previous chapters to describe the specification and implementation of a simple microcomputer.
The book also contains two appendices. Appendix A presents a short treatment of Boolean algebras, whereas Appendix B (included on the CD-ROM) contains a set of VHDL constructs (``packages'') used in the VHDL-based descriptions throughout the book. TOP
Exposing students to computer-aided design tools for digital systems is desirable for introducing them to modern design processes. Because the range of CAD tools available is quite wide, from industrial systems such as ViewLogic PowerView to academic packages such as LogicWorks, we have not included the use of any specific tool in the text. Instead, we provide sets of design problems together with a brief discussion of a suitable tool on this WWW site. These problems range from basic ones intended to familiarize student with the use of minimization tools such as Espresso and SIS, schematic entry, simulation and timing analysis, to more challenging ones exposing the use of complex modules. The problems in the sets come from the book; they can be used selectively as homeworks or within a laboratory course. TOP
The book could be used in any of the following course settings:A. One-Quarter course: Chapters 1 through 11, and a choice of problem sets from the WWW site for hands-on experience.
B. One-Semester course: All chapters and a choice of problem sets from the WWW site for hands-on experience. In the case of a course with laboratory, only Chapters 1 through 11.
C. One-Quarter/Semester Elective course: Follows A or B. It also covers Chapters 12 through 15, and VHDL sections in all chapters. May include supplemental topics from the WWW site. Design project. TOP
- Instructor's Manual containing solutions to all the exercises, as well as sample tests with answers, available from the publisher.- VHDL lab projects
- Lecture viewgraphs (in Postscript and PDF form), available from this WWW site, containing lecture material used at UCLA. TOP
The book comes with a CD-ROM containing Altera's MAX+PLUS II software (student edition), a complete CAD environment for the design of digital systems. MAX+PLUS II includes tools for design and simulation of digital systems, ranging from schematic capture to synthesis based on hardware description languages (Altera HDL and VHDL). The CD-ROM has documentation describing the features and use of the various tools. The uVHDL source code of the examples used throughout the book is available on this site. Several of those examples use VHDL packages from the standard IEEE library (ieee.std_logic_1164), which are included in the MAX+PLUS II support libraries. It should be noted that some of the uVHDL examples in the book correspond to high-level behavioral descriptions using constructs that might not be allowed in a synthesis environment; consequently, those examples might not be accepted by the MAX+PLUS II VHDL compiler. This is the case, in particular, for some of the descriptions in the later chapters of the book. TOP