Chapter 1 Review of Logic Design Fundamentals1
1.1 Combinational Logic1
1.2 Boolean Algebra and Algebraic Simplification3
1.3 Karnaugh Maps7
1.4 Designing with NAND and NOR Gates10
1.5 Hazards in Combinational Circuits12
1.6 Flip-Flops and Latches14
1.7 Mealy Sequential Circuit Design17
1.8 Moore Sequential Circuit Design25
1.9 Equivalent States and Reduction of State Tables28
1.10 Sequential Circuit Timing30
1.11 Tristate Logic and Busses41
1.12 Problems 42
Chapter 2 Introduction to VHDL51
2.1 Computer-Aided Design51
2.2 Hardware Description Languages54
2.3 VHDL Description of Combinational Circuits57
2.4 VHDL Modules61
2.5 Sequential Statements andVHDL Processes67
2.6 Modeling Flip-Flops Using VHDL Processes69
2.7 Processes Using Wait Statements73
2.8 Two Types of VHDL Delays: Transport and Inertial Delays75
2.9 Compilation, Simulation, and Synthesis of VHDL Code77
2.10 VHDL Data Types and Operators82
2.11 Simple Synthesis Examples84
2.12 VHDL Models for Multiplexers87
2.13 VHDL Libraries90
2.14 Modeling Registers and Counters Using VHDL Processes95
2.15 Behavioral and Structural VHDL101
2.16 Variables, Signals, and Constants111
2.17 Arrays114
2.18 Loops in VHDL117
2.19 Assert and Report Statements119
2.20 Problems122
Chapter 3 Additional Topics in VHDL137
3.1 VHDL Functions137
3.2 VHDL Procedures141
3.3 Attributes143
3.4 Creating Overloaded Operators147
3.5 Multi-Valued Logic and Signal Resolution 148
3.6 The IEEE 9-Valued Logic System153
3.7 SRAM Model Using IEEE 1164156
3.8 Model for SRAM Read/Write System158
3.9 Generics161
3.10 Named Association162
3.11 Generate Statements163
3.12 Files and TEXTIO165
3.13 Problems169
Chapter 4 Design Examples1 77
4.1 BCD to Seven-Segment Display Decoder178
4.2 A BCD Adder179
4.3 32-Bit Adders181
4.4 Traffic Light Controller188
4.5 State Graphs for Control Circuits191
4.6 Scoreboard and Controller192
4.7 Synchronization and Debouncing195
4.8 A Add-and-Shift Multiplier197
4.9 Array Multiplier203
4.10 A Signed Integer/Fraction Muliplier206
4.11 Keypad Scanner218
4.12 Binary Dividers226
4.13 Problems236
Chapter 5 SM Charts and Microprogramming247
5.1 State Machine Charts247
5.2 Derivation of SM Charts252
5.3 Realization of SM Charts262
5.4 Implementation of the Dice Game266
5.5 Problems271
Chapter 6 Floating-Point Arithmetic 2 78
6.1 Representation of Floating-Point Numbers278
6.2 Floating-Point Multiplication284
6.3 Floating-Point Addition294
6.4 Other Floating-Point Operations300
6.5 Problems301
Chapter 7 Hardware Testing and Design for Testability306
7.1 Testing Combinational Logic306
7.2 Testing Sequential Logic311
7.3 Scan Testing314
7.4 Boundary Scan317
7.5 Built-In Self-Test328
7.6 Problems339
Chapter 8 Additional Design Examples345
8.1 Design of a Wristwatch345
8.2 Memory Timing Models356
8.3 A Universal Asynchronous Receiver Transmitter364
8.4 Problems378
Appendix A383
VHDL Language Summary
Appendix B391
IEEE Standard Libraries
Appendix C393
TEXTIO Package
Appendix D 395
Projects
References406