Muutke küpsiste eelistusi

Digital Logic and Microprocessor Design with VHDL [Kõva köide]

  • Formaat: Hardback, 588 pages, kõrgus x laius x paksus: 242x210x27 mm, kaal: 1170 g, Illustrations
  • Ilmumisaeg: 18-Feb-2005
  • Kirjastus: Nelson Engineering
  • ISBN-10: 0534465935
  • ISBN-13: 9780534465933
Teised raamatud teemal:
  • Kõva köide
  • Hind: 94,03 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Tavahind: 117,54 €
  • Säästad 20%
  • Raamatu kohalejõudmiseks kirjastusest kulub orienteeruvalt 2-4 nädalat
  • Kogus:
  • Lisa ostukorvi
  • Tasuta tarne
  • Tellimisaeg 2-4 nädalat
  • Lisa soovinimekirja
  • Formaat: Hardback, 588 pages, kõrgus x laius x paksus: 242x210x27 mm, kaal: 1170 g, Illustrations
  • Ilmumisaeg: 18-Feb-2005
  • Kirjastus: Nelson Engineering
  • ISBN-10: 0534465935
  • ISBN-13: 9780534465933
Teised raamatud teemal:
This book will teach students how to design digital logic circuits, specifically combinational and sequential circuits. Students will learn how to put these two types of circuits together to form dedicated and general-purpose microprocessors. This book is unique in that it combines the use of logic principles and the building of individual components to create data paths and control units, and finally the building of real dedicated custom microprocessors and general-purpose microprocessors. After understanding the material in the book, students will be able to design simple microprocessors and implement them in real hardware.

Arvustused

Chapter 1. Designing Microprocessors 1.1 Overview of a Microprocessor 1.2 Design Abstraction Levels 1.3 Examples of a 2-to-1 Multiplexer 1.4 Introduction to VHDL 1.5 Synthesis 1.6 Going Forward 1.7 Summary Checklist 1.8 Problems Chapter 2. Digital Circuits 2.1 Binary Numbers 2.2 Binary Switch 2.3 Basic Logic Operators and Logic Expressions 2.4 Truth Tables 2.5 Boolean Algebra and Boolean Function 2.6 Minterms and Maxterms 2.7 Canonical, Standard, and non-Standard Forms 2.8 Logic Gates and Circuit Diagrams 2.9 Example: Designing a Car Security System 2.10 VHDL for Digital Circuits 2.11 Summary Checklist 2.12 Problems Chapter 3. Combinational Circuits 3.1 Analysis of Combinational Circuits 3.2 Synthesis of Combinational Circuits 3.3 * Technology Mapping 3.4 Minimization of Combinational Circuits 3.5 * Timing Hazards and Glitches 3.6 7-Segment Decoder Example 3.7 VHDL for Combinational Circuits 3.8 Summary Checklist 3.9 Problems Chapter 4. Standard Combinational Components 4.1 Signal Naming Conventions 4.2 Adder 4.3 Two?s Complement Binary Numbers 4.4 Subtractor 4.5 Adder-Subtractor Combination 4.6 Arithmetic Logic Unit 4.7 Decoder 4.8 Encoder 4.9 Multiplexer 4.10 Tri-state Buffer 4.11 Comparator 4.12 Shifter-Rotator 4.13 Multiplier 4.14 Summary Checklist 4.15 Problems Chapter 5. * Implementation Technologies 5.1 Physical Abstraction 5.2 Metal-Oxide-Semiconductor Field-Effect Transistor (MOSFET) 5.3 CMOS Logic 5.4 CMOS Circuits 5.5 Analysis of CMOS Circuits 5.6 Using ROMs to Implement a Function 5.7 Using PLAs to Implement a Function 5.8 Using PALs to Implement a Function 5.9 Complex Programmable Logic Device (CPLD) 5.10 Field-Programmable Gate Array (FPGA) 5.11 Summary Checklist 5.12 Problems Chapter 6. Latches and Flip-Flops 6.1 Bistable Element 6.2 SR Latch 6.3 SR Latch with Enable 6.4 D Latch 6.5 D Latch with Enable 6.6 Clock 6.7 D Flip-Flop 6.8 D Flip-Flop with Enable 6.9 Asynchronous Inputs 6.10 Description of a Flip-Flop 6.11 Timing Issues 6.12 Example: Car Security System ? Version 2 6.13 VHDL for Latches and Flip-Flops 6.14 * Flip-Flop Types 6.15 Summary Checklist 6.16 Problems Chapter 7. Sequential Circuits 7.1 Finite-State-Machine (FSM) Model 7.2 State Diagrams 7.3 Analysis of Sequential Circuits 7.4 Synthesis of Sequential Circuits 7.5 Unused State Encodings and the Encoding of States 7.6 Example: Car Security System ? Version 3 7.7 VHDL for Sequential Circuits 7.8 * Optimization for Sequential Circuits 7.9 Summary Checklist 7.10 Problems Chapter 8. Standard Sequential Components 8.1 Registers 8.2 Shift Registers 8.3 Counters 8.4 Register Files 8.5 Static Random Access Memory 8.6 * Larger Memories 8.6.1 More Memory Locations 8.7 Summary Checklist 8.8 Problems Chapter 9. Datapaths 9.1 General Datapath 9.2 Using a General Datapath 9.3 Timing Issues 9.4 A More Complex General Datapath 9.5 Dedicated Datapath 9.6 Designing Dedicated Datapaths 9.7 Using a Dedicated Datapath 9.8 VHDL for Datapaths 9.9 Summary Checklist 9.10 Problems Chapter 10. Control Units 10.1 Constructing the Control Unit 10.2 Examples 10.3 Generating Status Signals 10.4 Timing Issues 10.5 Standalone Controllers 10.6 * ASM Charts and State Action Tables 10.7 VHDL for Control Units 10.8 Summary Checklist 10.9 Problems Chapter 11. Dedicated Microprocessors 11.1 Manual Construction of a Dedicated Microprocessor 11.2 Examples 11.3 VHDL for Dedicated Microprocessors 11.4 Summary Checklist 11.5 Problems Chapter 12. General-Purpose Microprocessors 12.1 Overview of the CPU Design 12.2 The EC-1 General-Purpose Microprocessor 12.3 The EC-2 General-Purpose Microprocessor 12.4 VHDL for General-Purpose Microprocessors 12.5 Summary Checklist 12.6 Problems Appendix A. Schematic Entry Tutorial 1 A.1 Getting Started A.2 Using the Graphic Editor A.3 Specifying the Top-Level File and Project A.4 Synthesis for Functional Simulation A.5 Circuit Simulation A.6 Creating and Using the Logic Symbol Appendix B. VHDL Entry Tutorial 2 B.1 Getting Started B.2 Synthesis for Functional Simulation B.3 Circuit Simulation Appendix C. UP2 Programming Tutorial 3 C.1 Getting Started C.2 Synthesis for Programming the PLD C.3 Circuit Simulation C.4 Using the Floorplan Editor C.5 Fitting the Netlist and Pins to the PLD C.6 Hardware Setup C.7 Programming the PLD C.8 Testing the Hardware C.9 MAX7000S EPM7128SLC84-7 Summary C.10 FLEX10K EPF10K70RC240-4 Summary Appendix D. VHDL Summary D.1 Basic Language Elements D.2 Dataflow Model Concurrent Statements D.3 Behavioral Model Sequential Statements D.4 Structural Model Statements D.5 Conversion Routines Index

Preface xv
About the Author xix
Designing Microprocessors
1(16)
Overview of a Microprocessor
3(2)
Design Abstraction Levels
5(2)
Examples of a 2-to-1 Multiplexer
7(3)
Behavioral Level
7(1)
Gate Level
8(2)
Transistor Level
10(1)
Introduction to VHDL
10(3)
Synthesis
13(1)
Going Forward
14(1)
Summary Checklist
14(2)
Problems
16(1)
Digital Circuits
17(37)
Binary Numbers
18(4)
Binary Switch
22(1)
Basic Logic Operators and Logic Expressions
23(1)
Truth Tables
24(1)
Boolean Algebra and Boolean Functions
25(8)
Boolean Algebra
25(3)
Duality Principle
28(1)
Boolean Functions and their Inverses
29(4)
Minterms and Maxterms
33(5)
Minterms
33(3)
Maxterms
36(2)
Canonical, Standard, and Non-Standard Forms
38(1)
Logic Gates and Circuit Diagrams
39(4)
Designing a Car Security System
43(2)
VHDL for Digital Circuits
45(4)
VHDL Code for a 2-Input NAND Gate
46(1)
VHDL Code for a 3-Input NOR Gate
47(1)
VHDL Code for a Function
48(1)
Summary Checklist
49(1)
Problems
50(4)
Combinational Circuits
54(44)
Analysis of Combinational Circuits
55(5)
Using a Truth Table
56(3)
Using a Boolean Function
59(1)
Synthesis of Combinational Circuits
60(3)
Technology Mapping
63(4)
Minimization of Combinational Circuits
67(10)
Karnaugh Maps
67(7)
Don't-Cares
74(1)
Tabulation Method
75(2)
Timing Hazards and Glitches
77(3)
Using Glitches
79(1)
BCD to 7-Segment Decoder
80(2)
VHDL for Combinational Circuits
82(9)
Structural BCD to 7-Segment Decoder
83(5)
Dataflow BCD to 7-Segment Decoder
88(1)
Behavioral BCD to 7-Segment Decoder
89(2)
Summary Checklist
91(1)
Problems
92(6)
Standard Combinational Components
98(47)
Signal Naming Conventions
99(1)
Adder
100(5)
Full Adder
100(1)
Ripple-Carry Adder
101(1)
Carry-Lookahead Adder
102(3)
Two's Complement Binary Numbers
105(3)
Subtractor
108(1)
Adder-Subtractor Combination
109(5)
Arithmetic Logic Unit
114(3)
Decoder
117(5)
Encoder
122(2)
Priority Encoder
123(1)
Multiplexer
124(4)
Using Multiplexers to Implement a Function
128(1)
Tri-State Buffer
128(2)
Comparator
130(4)
Shifter
134(2)
Barrel Shifter
135(1)
Multiplier
136(3)
Summary Checklist
139(1)
Problems
139(6)
Implementation Technologies
145(33)
Physical Abstraction
146(1)
Metal-Oxide-Semiconductor Field-Effect Transistor (MOSFET)
147(1)
CMOS Logic
148(2)
CMOS Circuits
150(9)
CMOS Inverter
151(1)
CMOS NAND Gate
152(2)
CMOS AND Gate
154(1)
CMOS NOR and OR Gates
155(1)
Transmission Gate
155(1)
2-Input Multiplexer CMOS Circuit
156(2)
CMOS XOR and XNOR Gates
158(1)
Analysis of CMOS Circuits
159(2)
Using ROMs to Implement a Function
161(3)
Using PLAs to Implement a Function
164(4)
Using PALs to Implement a Function
168(2)
Complex Programmable Logic Device (CPLD)
170(3)
Field Programmable Gate Array (FPGA)
173(2)
Summary Checklist
175(1)
Problems
175(3)
Latches and Flip-Flops
178(35)
Bistable Element
180(1)
SR Latch
181(3)
SR Latch with Enable
184(1)
D Latch
185(1)
D Latch with Enable
186(1)
Clock
187(1)
D Flip-Flop
188(5)
Alternative Smaller Circuit
191(2)
D Flip-Flop with Enable
193(1)
Asynchronous Inputs
193(2)
Description of a Flip-Flop
195(2)
Characteristic Table
195(1)
Characteristic Equation
195(1)
State Diagram
196(1)
Excitation Table
196(1)
Timing Issues
197(1)
Designing a Car Security System---Version 2
198(1)
VHDL for Latches and Flip-Flops
199(7)
Implied Memory Element
199(2)
VHDL Code for a D Latch with Enable
201(1)
VHDL Code for a D Flip-Flop
201(4)
VHDL Code for a D Flip-Flop with Enable and Asynchronous Set and Clear
205(1)
Other Flip-Flop Types
206(4)
SR Flip-Flop
206(2)
JK Flip-Flop
208(1)
T Flip-Flop
208(2)
Summary Checklist
210(1)
Problems
211(2)
Sequential Circuits
213(61)
Finite State Machine (FSM) Models
215(3)
State Diagrams
218(3)
Analysis of Sequential Circuits
221(9)
Excitation Equation
222(1)
Next-State Equation
222(1)
Next-State Table
222(2)
Output Equation
224(1)
Output Table
224(1)
State Diagram
224(1)
Analysis of a Moore FSM
225(3)
Analysis of a Mealy FSM
228(2)
Synthesis of Sequential Circuits
230(16)
State Diagram
231(1)
Next-State Table
232(2)
Implementation Table
234(1)
Excitation Equation and Next-State Circuit
235(1)
Output Table and Equation
235(1)
FSM Circuit
235(1)
Synthesis of Moore FSMs
236(6)
Synthesis of a Mealy FSM
242(4)
Unused State Encodings and the Encoding of States
246(3)
Designing a Car Security System---Version 3
249(1)
VHDL for Sequential Circuits
249(9)
Optimization for Sequential Circuits
258(6)
State Reduction
258(1)
State Encoding
259(1)
Choice of Flip-Flops
260(4)
Summary Checklist
264(1)
Problems
265(9)
Standard Sequential Components
274(36)
Registers
275(2)
Shift Registers
277(6)
Serial-to-Parallel Shift Register
278(2)
Serial-to-Parallel and Parallel-to-Serial Shift Register
280(3)
Counters
283(11)
Binary Up Counter
283(3)
Binary Up-Down Counter
286(3)
Binary Up-Down Counter with Parallel Load
289(1)
BCD Up Counter
290(2)
BCD Up-Down Counter
292(2)
Register Files
294(5)
Static Random Access Memory
299(4)
Larger Memories
303(4)
More Memory Locations
304(1)
Wider Bit Width
305(2)
Summary Checklist
307(1)
Problems
308(2)
Datapaths
310(49)
Designing Dedicated Datapaths
313(8)
Selecting Registers
317(1)
Selecting Functional Units
318(1)
Data Transfer Methods
319(1)
Generating Status Signals
320(1)
Using Dedicated Datapaths
321(1)
Examples of Dedicated Datapaths
322(12)
Simple IF-THEN-ELSE
323(2)
Counting 1 to 10
325(2)
Summation of n Down to 1
327(1)
Factorial of n
328(3)
Counting 0's and 1's
331(3)
General Datapaths
334(2)
Using General Datapaths
336(3)
A More Complex General Datapath
339(5)
Timing Issues
344(3)
VHDL for Datapaths
347(7)
Dedicated Datapath
347(2)
General Datapath
349(5)
Summary Checklist
354(1)
Problems
355(4)
Control Units
359(58)
Constructing the Control Unit
361(13)
Counting 1 to 10
362(5)
Simple IF-THEN-ELSE
367(7)
Generating Status Signals
374(10)
Stand-Alone Controllers
384(20)
Rotating Lights
384(4)
PS/2 Keyboard Controller
388(5)
VGA Monitor Controller
393(11)
ASM Charts and State Action Tables
404(8)
ASM Charts
406(4)
State Action Tables
410(2)
VHDL for Control Units
412(2)
Summary Checklist
414(1)
Problems
415(2)
Dedicated Microprocessors
417(50)
Manual Construction of a Dedicated Microprocessor
420(3)
Examples of Manual Designs of Dedicated Microprocessors
423(29)
Greatest Common Divisor
424(7)
Summing Input Numbers
431(7)
High-Low Guessing Game
438(7)
Finding the Largest Number
445(7)
VHDL for Dedicated Microprocessors
452(12)
FSM+D Model
452(7)
FSMD Model
459(3)
Behavioral Model
462(2)
Summary Checklist
464(1)
Problems
464(3)
General-Purpose Microprocessors
467(44)
Overview of the CPU Design
468(2)
The EC-1 General-Purpose Microprocessor
470(12)
Instruction Set
470(2)
Datapath
472(1)
Control Unit
473(4)
Complete Circuit
477(1)
Sample Program
477(2)
Simulation
479(1)
Hardware Implementation
480(2)
The EC-2 General-Purpose Microprocessor
482(12)
Instruction Set
482(1)
Datapath
483(2)
Control Unit
485(5)
Complete Circuit
490(1)
Sample Program
490(3)
Hardware Implementation
493(1)
VHDL for General-Purpose Microprocessors
494(13)
Structural FSM+D
494(10)
Behavioral FSMD
504(3)
Summary Checklist
507(1)
Problems
508(3)
A Schematic Entry---Tutorial 1
511(14)
Getting Started
512(1)
Preparing a Folder for the Project
512(1)
Starting MAX+plus II
512(1)
Starting the Graphic Editor
513(1)
Using the Graphic Editor
513(5)
Drawing Tools
513(1)
Inserting Logic Symbols
514(2)
Selecting, Moving, Copying, and Deleting Logic Symbols
516(1)
Making and Naming Connections
516(2)
Selecting, Moving and Deleting Connection Lines
518(1)
Specifying the Top-Level File and Project
518(1)
Saving the Schematic Drawing
518(1)
Specifying the Project
519(1)
Synthesis for Functional Simulation
519(1)
Circuit Simulation
520(4)
Selecting Input Test Signals
520(1)
Customizing the Waveform Editor
521(1)
Assigning Values to the Input Signals
522(1)
Saving the Waveform File
523(1)
Starting the Simulator
523(1)
Creating and Using the Logic Symbol
524(1)
B VHDL Entry---Tutorial 2
525(9)
Getting Started
525(3)
Preparing a Folder for the Project
525(1)
Starting MAX+plus II
526(1)
Creating a Project
527(1)
Editing the VHDL Source Code
528(1)
Synthesis for Functional Simulation
528(1)
Circuit Simulation
529(5)
Selecting Input Test Signals
529(1)
Customizing the Waveform Editor
530(1)
Assigning Values to the Input Signals
531(1)
Saving the Waveform File
532(1)
Starting the Simulator
532(2)
C UP2 Programming---Tutorial 3
534(23)
Getting Started
535(1)
Preparing a Folder for the Project
535(1)
Creating a Project
536(1)
Viewing the Source File
536(1)
Synthesis for Programming the PLD
536(2)
Selecting the Target Device
536(1)
Synthesis
537(1)
Circuit Simulation
538(2)
Mapping the I/O Pins with the Floorplan Editor
540(3)
Fitting the Netlist and Pins to the PLD
543(1)
Hardware Setup
544(2)
Installing the ByteBlaster Driver
544(1)
Jumper Settings
544(1)
Hardware Connections
545(1)
Programming the PLD
546(1)
Testing the Hardware
547(1)
MAX7000S EPM7128SLC84-7 Summary
548(5)
JTAG Jumper Settings
548(1)
Prototyping Resources for Use
548(2)
General Pin Assignments
550(1)
Two Push-Button Switches
550(1)
16 DIP Switches
551(1)
16 LEDs
552(1)
7-Segment LEDs
552(1)
Clock
553(1)
FLEX10K EPF10K70RC240--4 Summary
553(4)
JTAG Jumper Settings
553(1)
Prototyping Resources for Use
553(1)
Two Push-Button Switches
553(1)
8 DIP Switches
554(1)
7-Segment LEDs
554(1)
Clock
555(1)
PS/2 Port
555(1)
VGA Port
556(1)
D VHDL Summary
557(24)
Basic Language Elements
557(10)
Comments
557(1)
Identifiers
557(1)
Data Objects
558(1)
Data Types
558(3)
Data Operators
561(1)
Entity
562(1)
Architecture
562(2)
Generic
564(1)
Package
565(2)
Dataflow Model---Concurrent Statements
567(2)
Concurrent Signal Assignment
567(1)
Conditional Signal Assignment
567(1)
Selected Signal Assignment
568(1)
Dataflow Model Sample
568(1)
Behavioral Model---Sequential Statements
569(6)
Process
569(1)
Sequential Signal Assignment
569(1)
Variable Assignment
570(1)
Wait
570(1)
If-Then-Else
570(1)
Case
571(1)
Null
571(1)
For
571(1)
While
572(1)
Loop
572(1)
Exit
572(1)
Next
572(1)
Function
573(1)
Procedure
574(1)
Behavioral Model Sample
575(1)
Structural Model---Concurrent Statements
575(4)
Component Declaration
576(1)
Port Map
576(1)
Open
577(1)
Generate
577(1)
Structural Model Sample
578(1)
Conversion Routines
579(2)
Conv_Integer()
579(1)
Conv_Std_Logic_Vector(,)
580(1)
Index 581
Dr. Enoch Hwang has a Ph.D. in Computer Science from the University of California, Riverside. He currently serves as a Professor of Computer Science at La Sierra University in Southern California, teaching digital logic and microprocessor design. In 2015, Dr. Hwang was invited to serve as a visiting professor to Zhejiang University in Hangzhou, China, where he taught their Digital Systems Design course. Many new ideas from that class have been incorporated into this edition of the book. From as early as childhood, Dr. Hwang was fascinated with electronic circuits. In one of his first experiments, he attempted to connect a microphone to the speaker inside a portable radio through the earphone plug. Instead of hearing sound from the microphone through the speaker, smoke was seen coming out of the radio. Thus ended that experiment and his family's only radio. He now continues on his interest in digital circuits with research in embedded microprocessor systems, controller automation, power optimization, and robotics.