Skip to:Content
|
Bottom
Cover image for Digital design and computer organization
Title:
Digital design and computer organization
Personal Author:
Edition:
MultiSIM textbook ed.
Publication Information:
Boca Raton, Fla. : CRC Press, 2004
Physical Description:
1 CD-ROM ; 12 cm
ISBN:
9780849311918
General Note:
Accompanies text of the same title : TK7868.D5 F37 2004

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010071089 CP 5937 Computer File Accompanies Open Access Book Compact Disc Accompanies Open Access Book
Searching...

On Order

Summary

Summary

Digital Design and Computer Organization introduces digital design as it applies to the creation of computer systems. It summarizes the tools of logic design and their mathematical basis, along with in depth coverage of combinational and sequential circuits.

The book includes an accompanying CD that includes the majority of circuits highlighted in the text, delivering you hands-on experience in the simulation and observation of circuit functionality. These circuits were designed and tested with a user-friendly Electronics Workbench package (Multisim Textbook Edition) that enables your progression from truth tables onward to more complex designs.

This volume differs from traditional digital design texts by providing a complete design of an AC-based CPU, allowing you to apply digital design directly to computer architecture. The book makes minimal reference to electrical properties and is vendor independent, allowing emphasis on the general design principles.


Reviews 1

Choice Review

Farhat (Univ. of Nebraska, Omaha) offers a book on digital design and computer organization that treats these topics in a somewhat traditional manner, from a computer engineering/electronic engineering perspective. He emphasizes digital design and approaches computer organization from a digital design perspective. As such, the book has a strong upper-level undergraduate focus in digital design. It is not for the casual reader, but readers with a strong software background may find this book an excellent way to expand their knowledge and see the relationships between their software background and experience and the field of digital design. There are eleven chapters; variations of the first nine chapters, as described in the preface, may be used in a typical three-credit course. There is an exercise section at the end of each chapter and excellent figures and graphics throughout. The book contains a brief but complete set of references and an outstanding collection of completed exercises in an appendix. ^BSumming Up: Recommended. Upper-division undergraduates through professionals. J. Beidler University of Scranton


Table of Contents

1 Numbers in Different Basesp. 1
1.1 Digital and Analog Datap. 2
1.2 Codingp. 2
1.3 Positional Number Systemp. 3
1.3.1 Numbers without Radix Pointp. 4
1.3.2 Numbers with Radix Pointp. 5
1.4 Octal and Hexadecimal Basesp. 6
1.5 Operands Types and Their Rangep. 8
1.5.1 Data Typesp. 9
1.5.2 Finite Rangep. 9
1.6 Conversion of Decimal Numbers to Equivalent Numbers in Arbitrary Basesp. 11
1.6.1 Conversion of Integer Partp. 11
1.6.2 Converting the Fractional Partp. 13
1.7 Binary Arithmeticp. 15
1.7.1 Additionp. 15
1.7.2 Subtractionp. 17
1.7.3 Multiplicationp. 19
1.8 Radix and Diminished Radix Complementsp. 20
1.9 Representation of Negative Numbersp. 22
1.9.1 The Three Representationsp. 23
1.9.2 Range of the Numbersp. 24
1.10 Coding and Binary Codesp. 25
1.10.1 BCD Codep. 26
1.10.2 The Excess-m Codep. 27
1.10.3 Gray Codep. 28
1.10.4 Character Codesp. 29
1.11 Floating-Point Numbersp. 30
1.11.1 Binary Representation of Floating-Pointp. 30
1.11.2 Normalized and Biased Floating-Point Representationp. 32
Chapter 1 Exercisesp. 35
2 Boolean Algebra, and Gate and Transistor Designp. 37
2.1 Boolean or Switching Algebrap. 38
2.1.1 Definitionsp. 38
2.1.2 Boolean Expressionsp. 39
2.1.3 Truth Tablesp. 41
2.2 Properties of Boolean Algebrap. 43
2.2.1 Axiomsp. 43
2.2.2 Principle of Dualityp. 44
2.3 Simplification of Boolean Expressionsp. 48
2.4 Boolean Functionp. 51
2.4.1 Definitionsp. 51
2.4.2 Representations (Realization)p. 52
2.4.3 Complement of Boolean Functionsp. 54
2.5 Circuit Analysis and Gate Designp. 56
2.5.1 Circuit Analysis and Gate Representationp. 56
2.5.2 Circuit Designp. 57
2.5.3 Multiple Input Gatesp. 59
2.6 Electrical Circuitsp. 59
2.6.1 Voltage, Current, and Resistancep. 59
2.6.2 Ohm's Lawp. 60
2.7 Kirchhoff's Laws and Voltage Divisionp. 61
2.7.1 Voltage Differencep. 61
2.7.2 Kirchhoff's Voltage Lawp. 62
2.7.3 Voltage Divisionp. 63
2.8 Kirchhoff's Current Lawp. 66
2.9 RC Circuitsp. 71
2.10 Transistors and Logic Gatesp. 75
2.11 CMOS Gate Designp. 78
2.11.1 The AND CMOS Designp. 80
Chapter 2 Exercisesp. 83
3 Canonical Forms and Logical Completenessp. 87
3.1 Canonical Forms of Boolean Functionsp. 88
3.1.1 Canonical Sum Formp. 88
3.1.2 Canonical Product Formp. 92
3.2 Sum of Product and Product of Sum Formsp. 95
3.2.1 Sum of Product Formp. 95
3.2.2 Product of Sum Formp. 96
3.2.3 Verification of Function Equality Using Canonical Formsp. 96
3.3 Design of Functions in Standard Formsp. 98
3.3.1 Canonical Sum and Sum of Product Designp. 98
3.3.2 Canonical Product and Product of Sum Representationp. 100
3.4 Other Two Variable Functionsp. 100
3.4.1 Number of Boolean Functions over Two Variablesp. 101
3.4.1.1 The NAND Functionp. 101
3.4.1.2 The NOR Functionp. 101
3.4.1.3 The Exclusive OR Functionp. 102
3.4.1.4 The Equivalence Functionp. 102
3.5 Logical Completenessp. 103
3.5.1 Definition and Examplesp. 104
3.5.2 The NAND and NOR Gates as Logically Complete Gatesp. 105
3.6 NAND and NOR Design of Combinational Circuitsp. 106
3.6.1 NAND Gate Designp. 107
3.6.2 NOR Gate Designp. 108
3.6.3 AND-OR-Invert and OR-AND-Invert Designp. 111
3.7 Design Automation Tools and Levels of Abstractionp. 111
3.7.1 Levels of Abstractionp. 112
3.7.2 Computer-Aided Design (CAD) Toolsp. 113
3.7.2.1 Design Entryp. 115
3.7.2.2 Synthesisp. 115
3.7.2.3 Simulationp. 115
3.8 Application to the Electronics Workbench (EW)p. 116
3.8.1 The Electronics Workbenchp. 116
3.8.2 Design Entryp. 117
3.8.2.1 Design Entry through Truth Tablesp. 117
3.8.2.2 Design Entry through Equationsp. 119
3.8.2.3 Design Entry Using Schematic Capturep. 119
3.8.3 Synthesisp. 122
3.8.3.1 Synthesis from Truth Tablep. 123
3.8.3.2 Synthesis from Equationsp. 123
3.8.3.3 Synthesis from Schematic Capturep. 124
3.8.4 Simulationp. 125
3.9 Integrated Circuitsp. 127
3.9.1 Small-Scale Integrationp. 128
3.9.2 Medium-Scale Integrationp. 128
3.9.3 Large-Scale Integrationp. 128
3.9.4 Very-Large-Scale Integrationp. 129
Chapter 3 Exercisesp. 131
4 Minimization of Boolean Functionsp. 133
4.1 Logical Adjacencies and K-Map Constructionp. 133
4.1.1 Logical Adjacencyp. 134
4.1.2 K-Map Constructionp. 135
4.1.2.1 The Inputs to the Tablep. 136
4.1.2.2 How Is the Table Read?p. 136
4.2 Subcube Formationsp. 137
4.2.1 Filling the Table Entriesp. 137
4.2.2 Subcubes and Minimizationp. 139
4.3 K-Map Minimizationp. 142
4.3.1 Subcubes and Prime Implicantsp. 142
4.3.2 K-Map Minimizationp. 145
4.3.2.1 Relationship to Subcubes on a K-Mapp. 146
4.3.2.2 The Minimization Processp. 148
4.3.2.3 Essential Prime Implicants and Examplesp. 148
4.4 Incompletely Specified Functionsp. 152
4.5 Product of Sum Minimizationp. 154
4.6 The Quine-McCluskey or Tabular Methodp. 156
4.6.1 Building Prime Implicantsp. 157
4.6.2 Finding Minimal Coverp. 159
4.6.3 Algorithmic Procedure of the Tabular Methodp. 160
4.6.3.1 Forming the Prime Implicantsp. 160
4.6.3.2 Minimal Cover Procedurep. 163
4.6.4 Decimal Method of Building Prime Implicantsp. 165
4.7 Multiple-Output Function Minimizationp. 167
Chapter 4 Exercisesp. 173
5 Arithmetic Logic Circuits and Programmable Logic Devicesp. 175
5.1 Binary Addersp. 176
5.1.1 Iterative Circuitsp. 176
5.1.2 Half and Full Addersp. 177
5.2 Look-Ahead Carry Generatorsp. 180
5.3 Magnitude Comparatorsp. 182
5.3.1 1-Bit Magnitude Comparatorp. 184
5.3.2 Boolean Equations for the Equal Outputp. 184
5.3.3 Design of the A [greater than sign] B Outputp. 185
5.3.4 Boolean Equations for A [less than sign] Bp. 186
5.3.5 Magnitude Comparators with Enable Linesp. 186
5.4 Binary Subtractorsp. 186
5.4.1 Half Subtractorsp. 187
5.5 Arithmetic Circutis Using Radix Complementp. 190
5.5.1 Unsigned Addition and Subtractionp. 190
5.5.2 Hardware Implementation of Unsigned Arithmeticp. 192
5.5.3 Signed Number Arithmetic in Radix Complementp. 193
5.5.3.1 An Alternative Method to Compute 2's Complementp. 193
5.5.3.2 Signed Arithmeticp. 195
5.5.3.2.1 Case One (No Overflow or Underflow Is Possible)p. 195
5.5.3.2.2 Case Two (Overflow Is Possible to Occur)p. 195
5.5.3.2.3 Case Three (Underflow Is Possible to Occur)p. 196
5.5.4 Hardware Implementation of Signed Arithmeticp. 198
5.6 Multiplier Circuitsp. 198
5.7 Multiplexersp. 200
5.7.1 Design of Multiple Output Multiplexersp. 202
5.8 Design of a Simple Arithmetic Logic Unitp. 203
5.8.1 Subtraction and the Arithmetic Unitp. 204
5.8.2 Bit-Wise Logic Operationsp. 205
5.8.3 Combinational Shift Leftp. 206
5.8.4 The Design of the ALUp. 206
Chapter 5 Exercisesp. 209
6 Programmable Logic Devicesp. 213
6.1 Decodersp. 213
6.1.1 Binary Decodersp. 214
6.1.2 Function Design Using Decodersp. 217
6.1.3 Building Larger Decoders from Smaller Onesp. 220
6.2 Encodersp. 222
6.2.1 Binary Encodersp. 223
6.2.2 Priority Encodersp. 224
6.3 Multiplexersp. 225
6.3.1 Design and Equationsp. 226
6.3.2 Design of Larger Multiplexers from Smaller Onesp. 227
6.3.3 Design of Boolean Functions Using Multiplexersp. 228
6.4 Demultiplexersp. 231
6.5 Programmable Logic Arraysp. 233
6.5.1 Programmable Logic Devices (PLDs)p. 233
6.5.2 Programmable Logic Arraysp. 234
6.5.3 Tabular Descriptionp. 239
6.5.4 AND-OR-NOT Designp. 241
6.6 Programmable Array Logic Devicesp. 243
6.7 Read-Only Memoryp. 245
6.8 Diodes and Programmable Logic Devicesp. 247
6.8.1 Diodesp. 248
6.8.2 Programmable Logic Devicesp. 250
6.8.3 Diode Design of Programmable Logic Arraysp. 251
Chapter 6 Exercisesp. 253
7 Flip-Flops and Analysis of Sequential Circuitsp. 255
7.1 Latchesp. 256
7.1.1 Feedback Loopsp. 256
7.1.2 SR Latchesp. 257
7.2 Behavioral Descriptionp. 260
7.2.1 Characteristic Tablep. 260
7.2.2 Characteristic Equationsp. 261
7.2.3 State Diagramsp. 262
7.2.4 Timing Diagramsp. 263
7.3 Other Primitive Latchesp. 264
7.3.1 Characteristic Tables of the Three Latchesp. 265
7.3.2 The Characteristic Equationsp. 266
7.3.3 The State Diagramsp. 266
7.4 The Latches Gate Designp. 266
7.4.1 D Latch Designp. 266
7.4.2 The JK Latchp. 267
7.4.3 The T Latchp. 269
7.5 Gated Latchesp. 270
7.6 Flip-Flopsp. 273
7.6.1 Asynchronous and Synchronous Circuitsp. 273
7.6.2 Master-Slave Flip-Flopsp. 275
7.7 Glitches and Ones-Catchingp. 277
7.8 Edge-Triggered Flip-Flopsp. 278
7.8.1 Asynchronous Presetp. 279
7.8.2 Clock Value Equal to 1p. 281
7.8.3 Clock Makes a Transition from 1 to 0p. 281
7.8.4 Clock Value Is 0p. 281
7.8.5 Clock Makes Transition from 0 to 1p. 282
7.9 Block Diagrams and Timing Constraintsp. 283
7.9.1 Timing Constraintsp. 284
7.10 Analysis of Sequential Circuitsp. 285
7.10.1 Sequential Circuits Block Diagram Modelp. 287
7.10.2 Characteristic Equationsp. 288
7.10.3 Characteristic or State Table Constructionp. 291
7.10.4 State Diagramsp. 291
7.10.5 Timing Diagramsp. 294
7.10.6 Alternative Representations of State Tablesp. 298
Chapter 7 Exercisesp. 301
8 Design of Sequential Circuits and State Minimizationp. 305
8.1 Block Diagrams and Design from Excitation Equationsp. 306
8.1.1 Design of Sequential Circuits Given the External Outputs and Excitation Equationsp. 307
8.2 Design Given the Characteristic Equationsp. 308
8.2.1 Design Using D Flip-Flopsp. 309
8.2.2 Design Using JK Flip-Flopsp. 311
8.3 General Design Procedure of Sequential Circuitsp. 313
8.3.1 Step 1p. 313
8.3.2 Step 2p. 314
8.3.3 Step 3p. 314
8.3.3.1 Flip-Flop Excitation Tablesp. 315
8.3.4 Step 4p. 316
8.3.5 Step 5p. 317
8.4 Machine Equivalence and State Assignmentsp. 319
8.5 Mealy State Diagramsp. 323
8.6 Moore Machinesp. 328
8.6.1 Conversion from Mealy to Moore Machinesp. 330
8.7 Machine and State Equivalencep. 331
8.8 State Reduction and Minimal State Diagramsp. 334
8.8.1 The Reduced State Tablep. 338
Chapter 8 Exercisesp. 341
9 Registers, Counters, and Memory Elementsp. 345
9.1 Registersp. 346
9.1.1 Parallel Registersp. 346
9.1.2 Shift Registersp. 348
9.2 Countersp. 351
9.2.1 Mod-2[superscript n] Synchronous Countersp. 351
9.2.2 Mod-M Counters for General Mp. 353
9.2.3 Binary Counters with Decreasing Countsp. 356
9.3 Asynchronous, Ring, and Johnson Countersp. 357
9.3.1 Asynchronous Countersp. 357
9.3.2 Ring Countersp. 359
9.3.3 Johnson Countersp. 360
9.4 General-Purpose Register-Counter Circuitsp. 361
9.5 Memory Block Diagramp. 366
9.6 Building Larger RAM from Smaller RAMp. 368
9.7 The Data Bus Connectionsp. 372
9.7.1 Connections Using Multiplexersp. 372
9.7.2 Connections Using Tristate Gatesp. 374
9.8 Internal Design of Memoryp. 374
9.8.1 Gate Design of a Single Memory Cellp. 375
9.8.2 RAM Design with Two Data Busesp. 376
9.8.3 RAM Design with a Single Data Busp. 378
9.9 Register Filesp. 380
Chapter 9 Exercisesp. 387
10 Instruction Set Architecturep. 391
10.1 Instruction Set of a Computerp. 391
10.2 Accumulator-Based Instruction Set Architecturep. 392
10.2.1 Accumulator-Based Architecturep. 393
10.2.2 Accumulator-Based Instructionsp. 394
10.2.2.1 Load and Store Instructionsp. 394
10.2.2.2 Arithmetic and Logic Instructionsp. 395
10.2.2.3 Register Transfer Languagesp. 396
10.3 General Register-Based Architecturep. 398
10.4 Machine-Level Instructionsp. 400
10.5 The Computer Instruction Cyclesp. 403
10.6 Common Addressing Modesp. 405
10.7 Macrosp. 410
Chapter 10 Exercisesp. 413
11 Design of a Simple AC-Based CPUp. 417
11.1 Microoperation and Register Transfer Languagesp. 418
11.2 Design of RTL Statementsp. 420
11.3 Instruction Set of the Simple CPUp. 424
11.3.1 Instruction Set Completenessp. 424
11.3.1.1 Arithmetic Instructionsp. 425
11.3.1.2 Logic Instructionsp. 425
11.3.1.3 Branch (Jump Instructions)p. 425
11.3.1.4 CPU and Memory Instructionsp. 425
11.3.2 The Instruction Set of the Simple CPUp. 425
11.4 CPU Organization Data Pathp. 427
11.5 The Control Unitp. 430
11.6 The Three Cyclesp. 431
11.7 Computer Cycles Execute Microoperationsp. 433
11.7.1 The Memory-Reference Instructionsp. 433
11.7.1.1 The LW Instructionp. 433
11.7.1.2 The ST Instructionp. 434
11.7.1.3 The ADD Instructionp. 434
11.7.1.4 The AND Instructionp. 435
11.7.1.5 The JMP Instructionp. 435
11.7.1.6 The SKZ and the SKP Instructionsp. 435
11.7.2 Register-Reference Instructionsp. 435
11.8 Inputs and Outputs of the Combinational Part of Control Unitp. 437
11.8.1 Input Partp. 437
11.8.2 Output Partp. 437
11.9 The Control Unit Output Functionsp. 439
11.10 Design of the AC-Based CPUp. 441
Chapter 11 Exercisesp. 445
Appendix A Referencesp. 447
Appendix B Answers to Selected Problemsp. 449
Indexp. 473
Go to:Top of Page