Preface         Â
1 Digital Systems and Binary Numbers      Â
1.1          Digital Systems Â
1.2          Binary Numbers Â
1.3          NumberBase Conversions        Â
1.4          Octal and Hexadecimal Numbers        Â
1.5          Complements of Numbers        Â
1.6          Signed Binary Numbers        Â
1.7          Binary Codes        Â
1.8          Binary Storage and Registers        Â
1.9          Binary Logic        Â
Â
2 Boolean Algebra and Logic Gates       Â
2.1          Introduction        Â
2.2          Basic Definitions        Â
2.3          Axiomatic Definition of Boolean Algebra        Â
2.4          Basic Theorems and Properties of Boolean Algebra        Â
2.5          Boolean Functions        Â
2.6          Canonical and Standard Forms        Â
2.7          Other Logic Operations        Â
2.8          Digital Logic Gates        Â
2.9          Integrated Circuits Â
Â
3 GateLevel Minimization       Â
3.1          Introduction        Â
3.2          The Map Method        Â
3.3          FourVariable K-Map        Â
3.4          ProductofSums Simplification        Â
3.5          Don’tCare Conditions        Â
3.6          NAND and NOR Implementation        Â
3.7          Other TwoLevel Implementations        Â
3.8          ExclusiveOR Function        Â
3.9Â Â Â Â Â Â Â Â Â Â Hardware Description Languages (HDLs)Â Â Â Â Â Â Â Â Â
Â
4 Combinational Logic       Â
4.1          Introduction        Â
4.2          Combinational Circuits        Â
4.3          Analysis of Combinational Circuits        Â
4.4          Design Procedure        Â
4.5          Binary Adder—Subtractor        Â
4.6          Decimal Adder        Â
4.7          Binary Multiplier        Â
4.8          Magnitude Comparator        Â
4.9          Decoders        Â
4.10       Encoders        Â
4.11       Multiplexers        Â
4.12       HDL Models of Combinational Circuits    Â
  Â
5 Synchronous Sequential Logic       Â
5.1          Introduction        Â
5.2          Sequential Circuits        Â
5.3          Storage Elements: Latches        Â
5.4          Storage Elements: FlipFlops        Â
5.5          Analysis of Clocked Sequential Circuits        Â
5.6          Synthesizable HDL Models of Sequential Circuits        Â
5.7          State Reduction and Assignment        Â
5.8          Design Procedure        Â
Â
6 Registers and Counters       Â
6.1          Registers        Â
6.2          Shift Registers        Â
6.3          Ripple Counters        Â
6.4          Synchronous Counters        Â
6.5          Other Counters        Â
6.6          HDL Models of Registers and Counters Â
Â
7 Memory and Programmable Logic       Â
7.1          Introduction        Â
7.2          RandomAccess Memory        Â
7.3          Memory Decoding        Â
7.4          Error Detection and Correction        Â
7.5          ReadOnly Memory        Â
7.6          Programmable Logic Array        Â
7.7          Programmable Array Logic        Â
7.8          Sequential Programmable Devices        Â
Â
8  Design at the Register Transfer Level       Â
8.1          Introduction        Â
8.2          Register Transfer Level (RTL) Notation        Â
8.3Â Â Â Â Â Â Â Â Â Â RTL descriptions VERILOG (Edge- and Level-Sensitive Behaviors)Â Â Â Â Â Â Â Â Â
8.4Â Â Â Â Â Â Â Â Â Â Algorithmic State Machines (ASMs)Â Â Â Â Â Â Â Â Â
8.5Â Â Â Â Â Â Â Â Â Â Design Example (ASMD Chart)Â Â Â Â Â Â Â Â Â
8.6          HDL Description of Design Example        Â
8.7          Sequential Binary Multiplier        Â
8.8          Control Logic        Â
8.9          HDL Description of Binary Multiplier        Â
8.10       Design with Multiplexers        Â
8.11Â Â Â Â Â Â Â RaceFree Design (Software Race Conditions)Â Â Â Â Â Â Â Â Â
8.12Â Â Â Â Â Â Â LatchFree Design (Why Waste Silicon?)Â Â Â Â Â Â Â Â Â
8.13       System Verilog–An Introduction        Â
Â
9  Laboratory Experiments with Standard ICs and FPGAs       Â
9.1          Introduction to Experiments        Â
9.2          Experiment 1: Binary and Decimal Numbers        Â
9.3          Experiment 2: Digital Logic Gates        Â
9.4          Experiment 3: Simplification of Boolean Functions        Â
9.5          Experiment 4: Combinational Circuits        Â
9.6          Experiment 5: Code Converters        Â
9.7          Experiment 6: Design with Multiplexers        Â
9.8          Experiment 7: Adders and Subtractors        Â
9.9          Experiment 8: FlipFlops        Â
9.10       Experiment 9: Sequential Circuits        Â
9.11       Experiment 10: Counters        Â
9.12       Experiment 11: Shift Registers        Â
9.13       Experiment 12: Serial Addition        Â
9.14       Experiment 13: Memory Unit        Â
9.15       Experiment 14: Lamp Handball Â
9.16       Experiment 15: ClockPulse Generator        Â
9.17       Experiment 16: Parallel Adder and Accumulator        Â
9.18       Experiment 17: Binary Multiplier        Â
9.19       HDL Simulation Experiments and Rapid Prototyping with FPGAs        Â
Â
10 Standard Graphic Symbols       Â
10.1       RectangularShape Symbols        Â
10.2       Qualifying Symbols        Â
10.3       Dependency Notation        Â
10.4       Symbols for Combinational Elements        Â
10.5       Symbols for FlipFlops        Â
10.6       Symbols for Registers        Â
10.7       Symbols for Counters        Â
10.8Â Â Â Â Â Â Â Symbol for RAMÂ Â Â Â Â Â Â Â Â Â Â
Appendix       Â
Answers to Selected Problems       Â
Index Â
Â
Â