0134549899 pdf download






















Like the previous editions, this edition of Digital Design supports a multimodal approach to learning, with a focus on digital design, regardless of language.

Recognizing that three public-domain languages--Verilog, VHDL, and SystemVerilog--all play a role in design flows for today's digital devices, the 5th Edition offers parallel tracks of presentation of multiple languages, but allows concentration on a single, chosen language. Computers - Computer Science. ISBN Your tags:. Send-to-Kindle or Email Please login to your account first Need help? Please read our short guide how to send a book to Kindle. The file will be sent to your email address.

It may take up to minutes before you receive it. The file will be sent to your Kindle account. It may takes up to minutes before you received it.

Please note : you need to verify every book you want to send to your Kindle. Check your mailbox for the verification email from Amazon Kindle. Related Booklists. The language-based examples throughout the book are not just about the details of an HDL. We emphasize and demonstrate the modeling and verification of digital circuits having specified behavior.

Regardless of language, our examples introduce a design methodology based on the concept of computer-aided modeling of digital systems by means of a mainstream, IEEE-standardized, hardware description language. This revision of Digital Design begins each chapter with a statement of its objectives. Problems at the end of each chapter are combined with inchapter examples, and with in-chapter Practice Exercises.

Together, these encounters with the subject matter bring the student closer to achieving the stated objectives and becoming skilled in digital design. Answers are given to selected problems at the end of each chapter. A Solution Manual gives detailed solutions to all of the problems at the end of the chapters. The level of detail of the solutions is such that an instructor can use individual problems to support classroom instruction.

The relatively high level of illustrations and graphical content of our text addresses the visual V component of VARK; discussions and numerous examples address the reading R component. Students who exploit the availability of free Verilog, VHDL and SystemVerilog simulators and synthesis tools to work assignments are led through a kinesthetic learning experience, including the delight of designing a digital circuit that actually works. We have provided an abundance of materials and examples to support classroom lectures.

Thus, a course using Digital Design, can provide a rich, balanced, learning experience and address all the modes identified by VARK.

Experiential learning: Experience as the source of learning and development 2nd ed. ISBN OCLC For skeptics who might still question the need to present and use HDLs in a first course in digital design, we note that industry does not rely on schematic-based design methods.

Schematic entry creates a representation of functionality that is implicit in the constructs and layout of the schematic. Unfortunately, it is difficult for anyone in a reasonable amount of time to determine the functionality represented by the schematic of a logic circuit without having been instrumental in its construction, or without having additional documentation expressing the design intent.

Consequently, industry today relies almost exclusively on HDLs to describe the functionality of a design and to serve as a basis for documenting, simulating, testing, and synthesizing the hardware implementation of the design in a standard cell-based ASIC or an FPGA. The utility of a schematic depends on the detailed documentation of a carefully constructed hierarchy of design units.

In the past, designers relied on their years of experience to create a schematic of a circuit to implement functionality. Introduction of HDLs in a first course in digital design is not intended to replace fundamental understanding of the building blocks of such circuits, or to eliminate a discussion of manual methods of design.

It is still essential for students to understand how hardware works. Thus, this edition of Digital Design retains a thorough treatment of combinational and sequential logic design and a foundation in Boolean algebra. Manual design practices are presented, and their results are compared with those obtained using HDLs.

Our end-ofchapter problems cross-reference problems that access a manual design task with a companion problem that uses an HDL to accomplish the assigned task. We also link the manual and HDL-based approaches by presenting annotated results of simulations in the text, in answers to selected problems at the end of the text, and extensively in the solution manual. The revisions and updates to the text include: Elimination of specialized circuit-level content not typically covered in a first course in logic circuits and digital design e.

The framework in which this material is presented treats the realistic situation in which status signals from the datapath are used by the controller, i. Thus, our treatment provides a foundation for designing complex and interactive digital systems. Although it is presented with an emphasis on HDL-based design, the methodology is also applicable to manual-based approaches to design and is language-neutral. Also, correct syntax does not guarantee that a model meets a functional specification or that it can be synthesized into physical hardware.

So, we introduce students to a disciplined use of industry-based practices for writing models to ensure that a behavioral description can be synthesized into physical hardware, and that the behavior of the synthesized circuit will match that of the behavioral description. Failure to follow this discipline can lead to software race conditions in the HDL models of such machines, race conditions in the test bench used to verify them, and a mismatch between the results of simulating a behavioral model and its synthesized physical 18 counterpart.

Similarly, failure to abide by industry practices may lead to designs that simulate correctly, but which have hardware latches that are introduced into the design accidentally as a consequence of the modeling style used by the designer. The industry-based methodology we present leads to race-free and latch-free designs. Yet not much attention is given to verification in introductory texts on digital design, where the focus is on design itself, and testing is perhaps viewed as a secondary undertaking.

We demonstrate naming practices and the use of parameters to facilitate reusability and portability. We also provide test benches for all of the solutions and exercises to 1 verify the functionality of the circuit; 2 underscore the importance of thorough testing; and 3 introduce students to important concepts, such as self-checking test benches.

Advocating and illustrating the development of a test plan to guide the development of a test bench, we introduce test plans, albeit simply, in the text and expand them in the solutions manual and in the answers to selected problems at the end of the text.

As in the previous edition, HDL material is inserted in separate sections so that it can be covered or skipped as desired, does not diminish treatment of manual-based design, and does not dictate the sequence of presentation. The treatment is at a level suitable for beginning students who are learning digital circuits and an HDL at the same time. The text prepares students to work on significant independent design 19 projects and to succeed in a later course in computer architecture and advanced digital design.

Instructor Resources Instructors can obtain the following classroom-ready resources from the publisher: Source code and test benches for all Verilog HDL examples in the test All figures and tables in the text Source code for all HDL models in the solutions manual A downloadable solutions manual with graphics suitable for classroom presentation HDL Simulators Two free simulators can be downloaded from www.

This simulator accepts the syntax of the IEEE standard and will be useful to those who have legacy models. As an interactive simulator, VeriLogger Extreme accepts the syntax of IEEE as well as IEEE, allowing the designer to simulate and analyze design ideas before a complete simulation model or schematic is available.

This technology is particularly useful for students because they can quickly enter Boolean and D flip-flop or latch input equations to check equivalency or to experiment with flip-flops and latch designs.

Free design tools that support design entry, simulation and synthesis of FPGAs are available from www. Chapter 1 presents the various binary systems suitable for representing information in digital systems. The binary number system is explained and binary codes are illustrated. Examples are given for addition and subtraction of signed binary numbers and decimal numbers in binarycoded decimal BCD format.

Chapter 2 introduces the basic postulates of Boolean algebra and shows the correlation between Boolean expressions and their corresponding logic diagrams. All possible logic operations for two variables are investigated, and the most useful logic gates used in the design of digital systems are identified. This chapter also introduces basic CMOS logic gates. Chapter 3 covers the map method for simplifying Boolean expressions. All other possible two-level gate circuits are considered, and their method of implementation is explained.

Verilog and VHDL are introduced together with simple examples of gatelevel models. Chapter 4 outlines the formal procedures for the analysis and design of combinational circuits. Some basic components used in the design of digital systems, such as adders and code converters, are introduced as design examples.

Frequently used digital logic functions such as parallel adders and subtractors, decoders, encoders, and multiplexers are explained, and their use in the design of combinational circuits is illustrated. HDL examples are given in gate-level, dataflow, and behavioral models to show the alternative ways available for describing combinational circuits in Verilog and VHDL.

The procedure for writing a simple test bench to provide stimulus to an HDL design is presented. Chapter 5 outlines the formal procedures for analyzing and designing clocked synchronous sequential circuits. The gate structure of several types of flip-flops is presented together with a discussion on the difference 21 between level and edge triggering.

Specific examples are used to show the derivation of the state table and state diagram when analyzing a sequential circuit. A number of design examples are presented with emphasis on sequential circuits that use D-type flip-flops. HDL examples are given to illustrate Mealy and Moore models of sequential circuits.

Chapter 6 deals with various sequential circuit components such as registers, shift registers, and counters. These digital components are the basic building blocks from which more complex digital systems are constructed.

HDL descriptions of shift registers and counters are presented. Chapter 7 introduces random access memory RAM and programmable logic devices. Memory decoding and error correction schemes are discussed. Chapter 8 deals with the register transfer level RTL representation of digital systems. The algorithmic state machine ASM chart is introduced.

The design of a finite state machine to control a datapath is presented in detail, including the realistic situation in which status signals from the datapath are used by the state machine that controls it. This chapter provides the student with a systematic approach to more advanced design projects. Chapter 9 presents experiments that can be performed in the laboratory with hardware that is readily available commercially.

The operation of the ICs used in the experiments is explained by referring to diagrams of similar components introduced in previous chapters.

Each experiment is presented informally and the student is expected to design the circuit and formulate a procedure for checking its operation in the laboratory.

Today, software for synthesizing an HDL model and implementing a circuit with an FPGA is available at no cost from vendors of FPGAs, allowing students to conduct a significant amount of work in their personal environment before using prototyping boards and other resources in a lab. With these resources, students can work prescribed lab exercises or their own projects and get results immediately.

These graphic symbols have been developed for small-scale integration SSI and medium-scale integration MSI components so that the user can recognize each function from the unique graphic symbol assigned.

The chapter shows the standard graphic symbols of the ICs used in the laboratory experiments. Acknowledgments We are grateful to the reviewers of Digital Design, 6e. Their expertise, careful reviews, and suggestions helped shape this edition. We are grateful, too, for the ongoing support and encouragement of our wives, Sandra and Jerilynn. Understand binary number system. Know how to convert between binary, octal, decimal, and hexadecimal numbers. Know how to take the complement and reduced radix complement of a number.

Know how to form the code of a number. Know how to form the parity bit of a word. Digital systems are used in communication, business transactions, traffic control, spacecraft guidance, medical treatment, weather monitoring, the Internet, and many other commercial, industrial, and scientific enterprises.

We have digital telephones, digital televisions, digital versatile discs DVDs , digital cameras, personal, handheld, touch-screen devices, and, of course, digital computers. We enjoy music downloaded to our portable media player e. GUIs enable them to execute commands that appear to the user to be simple, but which, in fact, involve precise execution of a sequence of complex internal instructions.

Most, if not all, of these devices have a special-purpose digital computer, or processor, embedded within them. The most striking property of the digital computer is its generality. It can follow a sequence of instructions, called a program, which operates on given data. The user can specify and change the program or the data according to the specific need. Because of this flexibility, general-purpose digital computers can perform a variety of information-processing tasks that range over a wide spectrum of applications and provide unprecedented access to massive repositories of information and media.

One characteristic of digital systems is their ability to represent and manipulate discrete elements of information. Any set that is restricted to a finite number of elements contains discrete information. Examples of discrete sets are the 10 decimal digits, the 26 letters of the alphabet, the 52 playing cards, and the 64 squares of a chessboard. Early digital computers were used for numeric computations. In this case, the discrete elements were the digits. From this application, the term digital computer emerged.

Discrete elements of information are represented in a digital system by physical quantities called signals.

Electrical signals such as voltages and currents are the most common. Electronic devices called transistors predominate in the circuitry that implement, represent, and manipulate these signals. The signals in most present-day electronic digital systems use just two discrete values and are therefore said to be binary. A binary 27 digit, called a bit, has two numerical values: 0 and 1.

Discrete elements of information are represented with groups of bits called binary codes. For example, the decimal digits 0 through 9 are represented in a digital system with a code of four bits e. How a pattern of bits is interpreted as a number depends on the code system in which it resides. To make this distinction, we could write 2 to indicate that the pattern is to be interpreted in a binary system, and 10 to indicate that the reference system is decimal.

The subscript indicating the base for interpreting a pattern of bits will be used only when clarification is needed. Through various techniques, groups of bits can be made to represent discrete symbols, not necessarily numbers, which are then used to develop the system in a digital format. Thus, a digital system is a system that manipulates discrete elements of information represented internally in binary form.

Discrete quantities of information either emerge from the nature of the data being processed or may be quantized from a continuous process. On the one hand, a payroll schedule is an inherently discrete process that contains employee names, social security numbers, weekly salaries, income taxes, and so on.

On the other hand, a research scientist may observe a continuous process, e. The scientist is thus quantizing continuous data, making each number in the table a discrete quantity. In many cases, the quantization of a process can be performed automatically by an analog-to-digital converter, a device that forms a digital discrete representation of an analog continuous quantity. Digital cameras rely on this technology to quantify the measurements of exposure captured from an image.

The general-purpose digital computer is the best-known example of a digital system. The major parts of a computer are a memory unit, a central processing unit, and input—output units. The memory unit stores programs as well as input, output, and intermediate data. The central processing unit performs arithmetic and other data-processing operations as specified by the program. The program and data prepared by a user are transferred into 28 memory by means of an input device such as a keyboard or a touch-screen video display.

An output device, such as a printer, receives the results of the computations, and the printed results are presented to the user. A digital computer can accommodate many input and output devices.

One very useful device is a communication unit that provides interaction with other users through the Internet. A digital computer is a powerful instrument that can perform not only arithmetic computations but also logical operations. In addition, it can be programmed to make decisions based on internal and external conditions.

There are fundamental reasons that commercial products are made with digital circuits. Like a digital computer, most digital devices are programmable.

By changing the program in a programmable device, the same underlying hardware can be used for many different applications, thereby allowing its cost of development to be spread across sales to a wider customer base. Dramatic cost reductions in digital devices have come about because of advances in digital integrated circuit technology. As the number of transistors that can be put on a piece of silicon increases to produce complex functions, the cost per unit decreases, and digital devices can be bought at an increasingly reduced price.

Equipment built with digital integrated circuits can perform at a speed of hundreds of millions of operations per second. Digital systems can be made to operate with extreme reliability by using error-correcting codes. An example of this strategy is the digital versatile disk DVD , in which digital information representing photos, video, audio, and other data is recorded without the loss of a single item.

Digital information on a DVD is recorded in such a way that, by examining the code in each digital sample before it is played back, any error can be automatically identified and corrected. A digital system is an interconnection of digital modules.

To understand the operation of each digital module, it is necessary to have a basic knowledge of digital circuits and their logical function. The first seven chapters of this book present the basic tools of digital design, such as logic gate structures, combinational and sequential circuits, and programmable logic devices.

Chapter 8 introduces digital design at the register transfer level RTL using a modern, public-domain hardware description language HDL. Chapter 9 concludes the text with laboratory exercises using digital circuits. An HDL resembles a programming language and is suitable for describing digital circuits in textual form. It is used to simulate a digital system to verify its operation before hardware is built. It is also used in conjunction with logic synthesis tools to automate the design process.

Because it is important that students become familiar with an HDL-based design methodology, HDL descriptions of digital circuits are presented throughout the book. While these examples help illustrate the features of an HDL, they also demonstrate the best practices used by industry to exploit HDLs. Ignorance of these practices will lead to cute, but worthless, HDL models that may simulate a phenomenon, but that cannot be synthesized by design tools, or to models which waste silicon area or synthesize to hardware that does not operate correctly.

As previously stated, digital systems manipulate discrete quantities of information that are represented in binary form. Operands used for calculations may be expressed in the binary number system. Other discrete elements, including the decimal digits and characters of the alphabet, are represented in binary codes.

Digital circuits, also referred to as logic circuits, process data by means of binary logic elements logic gates using binary signals. Quantities are stored in binary two-valued storage elements flip-flops. The purpose of this chapter is to introduce the various binary concepts and provide a foundation for further study in the succeeding chapters. The thousands, hundreds, etc.

In general, a number with a decimal point is represented by a series of coefficients: a5a4a3a2a1a0. The radix of a number system determines the number of distinct values that can be used to represent any arbitrary number.

The decimal number system is said to be of base, or radix, 10 because it uses 10 digits and the coefficients are multiplied by powers of The binary system is a different number system.

The coefficients of the binary number system have only two possible values: 0 and 1. Each coefficient aj is multiplied by a power of the radix, for example, 2j, and the results are added to obtain the decimal equivalent of the number. The radix point e. For example, the decimal equivalent of the binary number To distinguish between numbers of different bases, we enclose the coefficients in parentheses and write a subscript equal to the base used except sometimes for decimal numbers, where the content makes it obvious that the base is decimal.

An example of a base-5 number is The octal number system is a base-8 system that has eight digits: 0, 1, 2, 3, 4, 5, 6, 7. An example of an octal number is To determine its equivalent decimal value, we expand the number in a power series with a base of 8: It is customary to borrow the needed r digits for the coefficients from the decimal system when the base of the number is less than The letters of the alphabet are used to supplement the 10 decimal digits when the base of the number is greater than For example, in the hexadecimal base number system, the first 10 digits are borrowed from the decimal system.

For example, B65F is used to represent As noted before, the digits in a binary number are called bits. When a bit is equal to 0, it does not contribute to the sum during the conversion.

The corresponding decimal number is the sum of the four powers of two. Zero and the first 24 numbers obtained from 2 to the power of n are listed in Table 1.

In computer work, is referred to as K kilo , as M mega , as G giga , and as T tera. Computer memory capacity and word size are usually given in bytes. A byte is equal to eight bits and can accommodate i. A terabyte is gigabytes, approximately 1 trillion bytes. Table 1. When a base other than the familiar base 10 is used, one must be careful to use only the r-allowable digits. Examples of addition, subtraction, and multiplication of two binary numbers are as follows: The sum of two binary numbers is calculated by the same rules as in decimal, except that the digits of the sum in any significant position can be only 0 or 1.

Any carry obtained in a given significant position is used by the pair of digits one significant position higher. Subtraction is slightly more complicated. The rules are still the same as in decimal, except that the borrow in a given significant position adds 2 to a minuend digit.

A borrow in the decimal system adds 10 to a minuend digit. Multiplication is simple: The multiplier digits are always 1 or 0; therefore, the partial products are equal either to a shifted left copy of the multiplicand or to 0.

Practice Exercise 1. For example, 8 and 2 are equivalent—both have decimal value 9. The conversion of a number in base r to decimal is done by expanding the number in a power series and adding all the terms as shown previously.

We now present a general procedure for the reverse operation of converting a decimal number to a number in base r. If the number includes a radix point, it is necessary to separate the number into an integer part and a fraction part, since each part must be converted differently. The conversion of a decimal integer to a number in base r is done by dividing the number and all successive quotients by r and accumulating the remainders.

This procedure is best illustrated by example. First, 41 is divided by 2 to give an integer quotient of 20 and a remainder of Then the quotient is again divided by 2 to give a new quotient and remainder. The process is continued until the integer quotient becomes 0. The required base r is 8. First, is divided by 8 to give an integer quotient of 19 and a remainder of 1. Then 19 is divided by 8 to give an integer quotient of 2 and a remainder of 3.

Finally, 2 is divided by 8 to give a quotient of 0 and a remainder of 2. However, multiplication is used instead of division, and integers instead of remainders are accumulated. Again, the method is best explained by example. First, 0. Then the new fraction is multiplied by 2 to give a new integer and a new fraction. The process is continued until the fraction becomes 0 or until the number of digits has sufficient accuracy.

The coefficients of the binary number are obtained from the integers as follows: 37 Integer Fraction Coefficient 0. To convert a decimal fraction to a number expressed in base r, a similar procedure is used.

Using the results of Examples 1. Convert Answer: The first 16 numbers in the decimal, binary, octal, and hexadecimal number systems are listed in Table 1. The corresponding octal digit is then assigned to each group.

F2 16 2 C 6 B F 2 The corresponding hexadecimal or octal digit for each group of binary digits is easily remembered from the values listed in Table 1.



0コメント

  • 1000 / 1000