Cover image for Digital design : from gates to intelligent machines
Title:
Digital design : from gates to intelligent machines
Personal Author:
Publication Information:
New York : Charles River Media, 2006
Physical Description:
1 CD-ROM ; 12 cm.
ISBN:
9781584503743
General Note:
Accompanies text of the same title : (TK7868.L6 K374 2006)

Available:*

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

On Order

Summary

Summary

This book is a comprehensive introduction to the science and art of designing digital circuits. It begins by describing two foundational topics, numbers systems and boolean algebra. These topics then form the basis for the introduction of simple combinational circuits, or circuits without a memory. Complex circuits of this form are then described. It is shown, for example, how to construct a carry-look-ahead adder from elementary logic gates. Sequential digital circuits, or circuits with memories, are then treated, with the emphasis on sequential design. These topics then allow the introduction of a simple but operational digital computer that includes an arithmetic logic unit (ALU). The book concludes by showing that many of the principles developed in earlier chapters can be applied to the construction of intelligent machines.


Table of Contents

Prefacep. xvii
1 Numbers and Number Systemsp. 1
Introductionp. 1
Numbersp. 4
Positional Number Systems and Basesp. 5
Conversions Between Basesp. 8
Conversions to and from Other Bases to Base 10p. 9
Binary Number Systemsp. 11
Binary Addition and Subtractionp. 12
Binary Multiplicationp. 15
Negative Numbers in Binary: Signed Magnitude and Two's Complementp. 15
Codesp. 18
BCDp. 18
Gray Codingp. 19
Parityp. 20
ASCII and Unicodep. 20
Summaryp. 22
Exercisesp. 22
LATTICE Exercisesp. 23
2 Boolean Algebrap. 25
Introductionp. 25
Logical Functions in Boolean Algebrap. 26
Truth Tablesp. 29
Tautology, Equivalence, and Logical Lawsp. 31
Other Useful Logical Operatorsp. 33
Simplificationp. 34
Simplification with Logical Lawsp. 35
Minterms and Maxtermsp. 37
Karnaugh Maps and Minimizationp. 42
Summaryp. 50
Exercisesp. 51
LATTICE Exercisesp. 53
3 Elementary Combinational Circuitsp. 55
Introductionp. 55
Logic, Gates, and Circuitsp. 56
Elementary Gatesp. 56
Circuits to Functions and Truth Tablesp. 59
Realizing a Function Directlyp. 61
Realizing a Circuit Through Minterms and Maxtermsp. 63
Alternative Representations of SOP and POS Functionsp. 64
Realizing a Minimized Form of a Functionp. 66
Gates and Integrated Circuits in Practicep. 67
Logic Technologies and Logic Familiesp. 68
Values and Voltagesp. 69
Fan-In and Fan-Outp. 70
Gate Delays and Circuit Delaysp. 72
Implementation of Gatesp. 74
Summaryp. 78
Exercisesp. 78
LATTICE Exercisesp. 80
4 Complex Combinational Circuitsp. 81
Introductionp. 81
Binary Addersp. 82
Full Adderp. 82
Ripple-Carry Adderp. 85
Carry-Look-Ahead Adderp. 86
Two's Complement Addition and Subtractionp. 88
Decoders and Encodersp. 90
Binary Decodersp. 91
Decoder Applicationsp. 95
Encodersp. 97
Multiplexers and Demultiplexersp. 100
Programmable Logic Devices (PLDs)p. 107
Programmable Read Only Memory (PROM)p. 107
Programmable Array Logic (PAL)p. 108
Programmable Logic Array (PLA)p. 109
Summaryp. 112
Exercisesp. 114
LATTICE Exercisesp. 116
5 Elements of Sequential Designp. 117
Introductionp. 117
Latchesp. 119
SR Latchp. 119
D Latchp. 123
Flip-Flopsp. 125
Edge-Triggered D Flip-Flopp. 125
Edge-Triggered J-K Flip-Flopp. 127
Registersp. 130
Parallel-Load Registersp. 130
Shift Registersp. 132
Summaryp. 134
Exercisesp. 134
LATTICE Exercisesp. 137
6 Sequential Machinesp. 139
Introductionp. 139
Finite State Machinesp. 140
Mealy and Moore Machinesp. 144
Sequential Machine Analysisp. 145
Sequential Machine Synthesisp. 150
General Methodp. 150
The Parity Examplep. 153
A Sequence Recognition Examplep. 157
A Maze Examplep. 162
Designing with J-K Flip-Flopsp. 170
Summaryp. 174
Exercisesp. 175
LATTICE Exercisesp. 177
7 Elements of Computer Designp. 179
Introductionp. 179
Computer Organizationp. 182
Memoryp. 183
The CPUp. 189
I/Op. 191
Summaryp. 193
Exercisesp. 194
LATTICE Exercisesp. 195
8 The Design of a Simple CPU and Computerp. 197
Introductionp. 197
The Register Setp. 198
The Instruction Setp. 201
The Control Unitp. 204
The Fetch-Decode-Execute Cyclep. 205
The Control Unit Finite State Machinep. 207
Data Pathsp. 210
The ALUp. 214
Putting It All Togetherp. 218
Further Issues in Computer Designp. 223
Microsequencingp. 224
Interruptsp. 224
RISC and Pipeliningp. 225
High-Level Languagesp. 226
Summaryp. 226
Exercisesp. 227
LATTICE Exercisesp. 228
9 Explorations in Digital Intelligencep. 229
Introductionp. 229
Pattern Recognitionp. 232
Pattern Completionp. 235
Interference and Expert Systemsp. 236
Neural Networksp. 240
Learningp. 249
Searchp. 254
Emergent Behaviorp. 256
Summaryp. 259
LATTICE Exercisesp. 260
Appendix The LATTICE Systemp. 263
Introductionp. 263
Installationp. 264
System Requirementsp. 264
Installation Procedurep. 264
General Operationp. 265
Program Layoutp. 265
File Menu Optionsp. 265
Animation Optionsp. 266
Mouse Buttonsp. 266
Truth Systemsp. 267
Variable Drop-Down Boxp. 267
Operator Drop-Down Boxp. 268
Truth Table Options (Bottom of Screen)p. 269
Variable Settings Dialog Boxp. 269
State Systemsp. 270
Column 1 (State Color)p. 271
Column 2 (State Action)p. 271
Column 3 (State Name)p. 273
Columns 4 Through the End of the Table (State Transitions)p. 273
State Variable Settingsp. 273
State Table Options (Bottom of Screen)p. 275
Tricks of the Tradep. 275
System Submissionp. 277
Indexp. 279