For sophomore courses on digital design in an Electrical Engineering, Computer Engineering, or Computer Science department.Digital Design, fourth edition is a modern update of the classic authoritative text on digital design. This book teaches the basic concepts of digital design in a clear, accessible manner. The book presents the basic tools for the design of digital circuits and provides procedures suitable for a variety of digital applications.
Preface ixDigital Systems and Binary Numbers 1Digital Systems 1Binary Numbers 3Number-Base Conversions 5Octal and Hexadecimal Numbers 8Complements 9Signed Binary Numbers 14Binary Codes 17Binary Storage and Registers 25Binary Logic 28Boolean Algebra and Logic Gates 36Introduction 36Basic Definitions 36Axiomatic Definition of Boolean Algebra 38Basic Theorems and Properties of Boolean Algebra 41Boolean Functions 44Canonical and Standard Forms 48Other Logic Operations 55Digital Logic Gates 57Integrated Circuits 63Gate-Level Minimization 70Introduction 70The Map Method 70Four-Variable Map 76Five-Variable Map 81Product-of-Sums Simplification 83Don't-Care Conditions 86NAND and NOR Implementation 89Other Two-Level Implementations 96Exclusive-OR Function 101Hardware Description Language 106Combinational Logic 122Introduction 122Combinational Circuits 122Analysis Procedure 123Design Procedure 126Binary Adder-Subtractor 130Decimal Adder 139Binary Multiplier 142Magnitude Comparator 144Decoders 146Encoders 150Multiplexers 152HDL Models of Combinational Circuits 159Synchronous Sequential Logic 182Introduction 182Sequential Circuits 182Storage Elements: Latches 184Storage Elements: Flip-Flops 188Analysis of Clocked Sequential Circuits 195Synthesizable HDL Models of Sequential Circuits 207State Reduction and Assignment 227Design Procedure 225Registers and Counters 242Registers 242Shift Registers 245Ripple Counters 253Synchronous Counters 258Other Counters 265HDL for Registers and Counters 269Memory and Programmable Logic 284Introduction 284Random-Access Memory 285Memory Decoding 291Error Detection and Correction 296Read-Only Memory 299Programmable Logic Array 305Programmable Array Logic 309Sequential Programmable Devices 311Design at the Register Transfer Level 334Introduction 334Register Transfer Level (RTL) Notation 334Register Transfer Level in HDL 336Algorithmic State Machines (ASMs) 345Design Example 352HDL Description of Design Example 367Sequential Binary Multiplier 371Control Logic 376HDL Description of Binary Multiplier 382Design with Multiplexers 390Race-Free Design 407Latch-Free Design 403Other Language Features 404Asynchronous Sequential Logic 415Introduction 415Analysis Procedure 477Circuits with Latches 425Design Procedure 433Reduction of State and Flow Tables 439Race-Free State Assignment 446Hazards 452Design Example 457Digital Integrated Circuits 471Introduction 471Special Characteristics 473Bipolar-Transistor Characteristics 477RTL and DTL Circuits 481Transistor-Transistor Logic 484Emitter-Coupled Logic 493Metal-Oxide Semiconductor 495Complementary MOS 498CMOS Transmission Gate Circuits 501Switch-Level Modeling with HDL 505Laboratory Experiments with Standard ICs and FPGAs 57 511Introduction to Experiments 511Experiment 1: Binary and Decimal Numbers 516Experiment 2: Digital Logic Gates 579Experiment 3: Simplification of Boolean Functions 520Experiment 4: Combinational Circuits 522Experiment 5: Code Converters 524Experiment 6: Design with Multiplexers 526Experiment 7: Adders and Subtractors 527Experiment 8: Flip-Flops 550Experiment 9: Sequential Circuits 532Experiment 10: Counters 534Experiment 11: Shift Registers 535Experiment 12: Serial Addition 538Experiment 13: Memory Unit 539Experiment 14: Lamp Handball 547Experiment 15: Clock-Pulse Generator 545Experiment 16: Parallel Adder and Accumulator 547Experiment 17: Binary Multiplier 549Experiment 18: Asynchronous Sequential Circuits 553Verilog HDL Simulation Experiments and Rapid Prototyping with FPGAs 553Standard Graphic Symbols 589Rectangular-Shape Symbols 559Qualifying Symbols 562Dependency Notation 564Symbols for Combinational Elements 566Symbols for Flip-Flops 550Symbols for Registers 570Symbols for Counters 573Symbol for RAM 575Answers to Selected Problems 577Index 597