Digital Design and Computer Architecture

Digital Design and Computer Architecture

2nd Edition - July 24, 2012

Write a review

  • Authors: David Harris, Sarah Harris
  • Paperback ISBN: 9780123944245
  • eBook ISBN: 9780123978165

Purchase options

Purchase options
DRM-free (EPub, Mobi, PDF)
Sales tax will be calculated at check-out

Institutional Subscription

Free Global Shipping
No minimum order


Digital Design and Computer Architecture, Second Edition, takes a unique and modern approach to digital design, introducing the reader to the fundamentals of digital logic and then showing step by step how to build a MIPS microprocessor in both Verilog and VHDL. This new edition combines an engaging and humorous writing style with an updated and hands-on approach to digital design. It presents new content on I/O systems in the context of general purpose processors found in a PC as well as microcontrollers found almost everywhere. Beginning with digital logic gates and progressing to the design of combinational and sequential circuits, the book uses these fundamental building blocks as the basis for the design of an actual MIPS processor. It provides practical examples of how to interface with peripherals using RS232, SPI, motor control, interrupts, wireless, and analog-to-digital conversion. SystemVerilog and VHDL are integrated throughout the text in examples illustrating the methods and techniques for CAD-based circuit design. There are also additional exercises and new examples of parallel and advanced architectures, practical I/O applications, embedded systems, and heterogeneous computing, plus a new appendix on C programming to strengthen the connection between programming and processor architecture. This new edition will appeal to professional computer engineers and to students taking a course that combines digital logic and computer architecture.

Key Features

  • Updated based on instructor feedback with more exercises and new examples of parallel and advanced architectures, practical I/O applications, embedded systems, and heterogeneous computing
  • Presents digital system design examples in both VHDL and SystemVerilog (updated for the second edition from Verilog), shown side-by-side to compare and contrast their strengths
  • Includes a new chapter on C programming to provide necessary prerequisites and strengthen the connection between programming and processor architecture
  • Companion Web site includes links to Xilinx CAD tools for FPGA design, lecture slides, laboratory projects, and solutions to exercises
  • Instructors can also register at for access to: Solutions to all exercises (PDF), Lab materials with solutions, HDL for textbook examples and exercise solutions, Lecture slides (PPT), Sample exams, Sample course syllabus, Figures from the text (JPG, PPT)


Students taking a course that combines digital logic and computer architecture; professional computer engineers

Table of Contents

  • In Praise of Digital Design

    About the Authors




    Online Supplements

    How to Use the Software Tools in A Course




    1. From Zero to One

    1.1 The Game Plan

    1.2 The Art of Managing Complexity

    1.3 The Digital Abstraction

    1.4 Number Systems

    1.5 Logic Gates

    1.6 Beneath the Digital Abstraction

    1.7 CMOS Transistors*

    1.8 Power Consumption*

    1.9 Summary and a Look Ahead

    2. Combinational Logic Design

    2.1 Introduction

    2.2 Boolean Equations

    2.3 Boolean Algebra

    2.4 From Logic to Gates

    2.5 Multilevel Combinational Logic

    2.6 X’s and Z’s, Oh My

    2.7 Karnaugh Maps

    2.8 Combinational Building Blocks

    2.9 Timing

    2.10 Summary

    3. Sequential Logic Design

    3.1 Introduction

    3.2 Latches and Flip-Flops

    3.3 Synchronous Logic Design

    3.4 Finite State Machines

    3.5 Timing of Sequential Logic

    3.6 Parallelism

    3.7 Summary

    4. Hardware Description Languages

    4.1 Introduction

    4.2 Combinational Logic

    4.3 Structural Modeling

    4.4 Sequential Logic

    4.5 More Combinational Logic

    4.6 Finite State Machines

    4.7 Data Types*

    4.8 Parameterized Modules*

    4.9 Testbenches

    4.10 Summary

    5. Digital Building Blocks

    5.1 Introduction

    5.2 Arithmetic Circuits

    5.3 Number Systems

    5.4 Sequential Building Blocks

    5.5 Memory Arrays

    5.6 Logic Arrays

    5.7 Summary

    6. Architecture

    6.1 Introduction

    6.2 Assembly Language

    6.3 Machine Language

    6.4 Programming

    6.5 Addressing Modes

    6.6 Lights, Camera, Action: Compiling, Assembling, and Loading

    6.7 Odds and Ends*

    6.8 Real-World Perspective: x86 Architecture*

    6.9 Summary

    7. Microarchitecture: With contributions from Matthew Watkins

    7.1 Introduction

    7.2 Performance Analysis

    7.3 Single-Cycle Processor

    7.4 Multicycle Processor

    7.5 Pipelined Processor

    7.6 HDL Representation*

    7.7 Exceptions*

    7.8 Advanced Microarchitecture*

    7.9 Real-World Perspective: x86 Microarchitecture*

    7.10 Summary

    8. Memory and I/O Systems

    8.1 Introduction

    8.2 Memory System Performance Analysis

    8.3 Caches

    8.4 Virtual Memory

    8.5 I/O Introduction

    8.6 Embedded I/O Systems

    8.7 PC I/O Systems

    8.8 Real-World Perspective: x86 Memory and I/O Systems*

    8.9 Summary


    A: Digital System Implementation

    A.1 Introduction

    A.2 74xx Logic

    A.3 Programmable Logic

    A.4 Application-Specific Integrated Circuits

    A.5 Data sheets

    A.6 Logic Families

    A.7 Packaging and Assembly

    A.8 Transmission Lines

    A.9 Economics

    B: MIPS Instructions

    C: C Programming

    C.1 Introduction


    C.2 Welcome to C


    C.3 Compilation


    C.4 Variables


    C.5 Operators

    C.6 Function Calls

    C.7 Control-Flow Statements


    C.8 More Data Types


    C.9 Standard Libraries

    C.10 Compiler and Command Line Options

    C.11 Common Mistakes

    Further Reading


Product details

  • No. of pages: 720
  • Language: English
  • Copyright: © Morgan Kaufmann 2012
  • Published: July 24, 2012
  • Imprint: Morgan Kaufmann
  • Paperback ISBN: 9780123944245
  • eBook ISBN: 9780123978165

About the Authors

David Harris

David Harris
David Harris is the Harvey S. Mudd Professor of Engineering Design at Harvey Mudd College. He received his Ph.D. in electrical engineering from Stanford University and his M.Eng. in electrical engineering and computer science from MIT. Before attending Stanford, he worked at Intel as a logic and circuit designer on the Itanium and Pentium II processors. Since then, he has consulted at Sun Microsystems, Hewlett-Packard, Broadcom, and other design companies. David holds more than a dozen patents and is the author of three other textbooks on chip design, as well as many Southern California hiking guidebooks. When he is not working, he enjoys hiking, flying, and making things with his three sons.

Affiliations and Expertise

Associate Professor of Engineering, Harvey Mudd College, Claremont, CA, USA

Sarah Harris

Sarah Harris
Sarah L. Harris is an Assistant Professor of Engineering at Harvey Mudd College. She received her Ph.D. and M.S. in Electrical Engineering from Stanford University. Before attending Stanford, she received a B.S. in Electrical and Computer Engineering from Brigham Young University. Sarah has also worked with Hewlett-Packard, the San Diego Supercomputer Center, Nvidia, and Microsoft Research in Beijing.

Sarah loves teaching, exploring and developing new technologies, traveling, wind surfing, rock climbing, and playing the guitar. Her recent exploits include researching sketching interfaces for digital circuit design, acting as a science correspondent for a National Public Radio affiliate, and learning how to kite surf. She speaks four languages and looks forward to learning more in the near future.

Affiliations and Expertise

Assistant Professor of Engineering, Harvey Mudd College, Claremont, CA, USA

Ratings and Reviews

Write a review

Latest reviews

(Total rating for all reviews)

  • BalazsLaszlo Sat May 25 2019

    rare excellent technical book

    Excellent textbook with numerous excercises. Well organized material