Table of Contents

Cover image

Title page

In Praise of Digital Design

About the Authors

Copyright

Dedication

Preface

Features

Online Supplements

How to Use the Software Tools in A Course

Labs

Bugs

Acknowledgments

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

Epilogue

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

Summary

C.2 Welcome to C

Summary

C.3 Compilation

Summary

C.4 Variables

Summary

C.5 Operators

C.6 Function Calls

C.7 Control-Flow Statements

Summary

C.8 More Data Types

Summary

C.9 Standard Libraries

C.10 Compiler and Command Line Options

C.11 Common Mistakes

Further Reading

Index

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.215.16.238