Fundamentals of Logic Design
Table of Contents
- 2s Complement Numbers
- Addition of 2s Complement Numbers
- 1s Complement Numbers
- Addition of 1s Complement Numbers
- 3.2. Exclusive- OR and Equivalence Operations
- Unit 7. Multi-Level Gate Circuits NAND and NOR Gates
- 7.2. NAND and NOR Gates
- 7.3. Design of Two-Level NAND - and NOR -Gate Circuits
- 7.4. Design of Multi-Level NAND - and NOR -Gate Circuits
- 7.7. Multiple-Output NAND - and NOR -Gate Circuits
- 10.1. VHDL Description of Combinational Circuits
- 10.2. VHDL Models for Multiplexers
- 10.3. VHDL Modules
- 10.6. VHDL Operators
- 10.8. IEEE Standard Logic
- 10.9. Compilation and Simulation of VHDL Code
- 11.4. Edge-Triggered D Flip-Flop
- 11.5. S-R Flip-Flop
- 11.6. J-K Flip-Flop
- 11.7. T Flip-Flop
- Counter Design Using D Flip-Flops
- 12.5. Counter Design Using S-R and J-K Flip-Flops
- 16.4. Design of Sequential Circuits Using ROMs and PLAs
- 16.5. Sequential Circuit Design Using CPLDs
- 16.6. Sequential Circuit Design Using FPGAs
- Unit 17. VHDL for Sequential Logic
- 17.1. Modeling Flip-Flops Using VHDL Processes
- 17.2. Modeling Registers and Counters Using VHDL Processes
- 17.3. Modeling Combinational Logic Using VHDL Processes
- 17.5. Synthesis of VHDL Code
- Unit 19. State Machine Design with SM Charts
- 19.2. Derivation of SM Charts
- 19.3. Realization of SM Charts
- Unit 20. VHDL for Digital System Design
- 20.1. VHDL Code for a Serial Adder
- 20.2. VHDL Code for a Binary Multiplier
- 20.3. VHDL Code for a Binary Divider
- 20.4. VHDL Code for a Dice Game Simulator
- Appendix A. MOS and CMOS Logic
- Appendix B. VHDL Language Summary
- Appendix C. Tips for Writing Synthesizable VHDL Code
Guide
List of Illustrations
List of Tables
Copyright Statement
Fundamentals of Logic Design
COPYRIGHT 2014, 2010, 2004 Cengage Learning
ALL RIGHTS RESERVED. No part of this work covered by the copyright herein may be reproduced, transmitted, stored, or used in any form or by any means graphic, electronic, or mechanical, including but not limited to photocopying, recording, scanning, digitizing, taping, web distribution, information networks, or information storage and retrieval systems, except as permitted under Section 107 or 108 of the 1976 United States Copyright Act, without the prior written permission of the publisher.
For product information and technology assistance, contact us at Cengage Learning Customer & Sales Support, 1-800-354-9706.
For permission to use material from this text or product, submit all requests online at www.cengage.com/permissions.
Further permissions questions can be emailed to .
Library of Congress Control Number: 2012952056
ISBN-13: 978-1-133-62847-7
ISBN-10: 1-133-62847-8
Cengage Learning
200 First Stamford Place, Suite 400
Stamford CT 06902
USA
Cengage Learning is a leading provider of customized learning solutions with office locations around the globe, including Singapore, the United Kingdom, Australia, Mexico, Brazil, and Japan. Locate your local office at: international.cengage.com/region.
Cengage Learning products are represented in Canada by Nelson Education Ltd.
Except where otherwise noted, all content is Cengage Learning 2014.
For your course and learning solutions, visit www.cengage.com/engineering.
Purchase any of our products at your local college store or at our preferred online store www.cengagebrain.com.
Dedication
Dedicated to the memory of Karen Kinney and our daughters, Laurie and Kristina .
Larry Kinney
Preface
Purpose of the Text
This text is written for a first course in the logic design of digital systems. It is written on the premise that the student should understand and learn thoroughly certain fundamental concepts in a first course. Examples of such fundamental concepts are the use of Boolean algebra to describe the signals and interconnections in a logic circuit, use of systematic techniques for simplification of a logic circuit, interconnection of simple components to perform a more complex logic function, analysis of a sequential logic circuit in terms of timing charts or state graphs, and use of a control circuit to control the sequence of events in a digital system.
The text attempts to achieve a balance between theory and application. For this reason, the text does not overemphasize the mathematics of switching theory; however, it does present the theory that is necessary for understanding the fundamental concepts of logic design. After completing this text, the student should be prepared for a more advanced digital systems design course that stresses more intuitive concepts like the development of algorithms for digital processes, partitioning of digital systems into subsystems, and implementation of digital systems using currently available hardware. Alternatively, the student should be prepared to go on to a more advanced course in switching theory that further develops the theoretical concepts that have been introduced here.
Contents of the Text
After studying this text, students should be able to apply switching theory to the solution of logic design problems. They will learn both the basic theory of switching circuits and how to apply it. After a brief introduction to number systems, they will study switching algebra, a special case of Boolean algebra, which is the basic mathematical tool needed to analyze and synthesize an important class of switching circuits. Starting from a problem statement, they will learn to design circuits of logic gates that have a specified relationship between signals at the input and output terminals. Then they will study the logical properties of flip-flops, which serve as memory devices in sequential switching circuits. By combining flip-flops with circuits of logic gates, they will learn to design counters, adders, sequence detectors, and similar circuits. They will also study the VHDL hardware description language and its application to the design of combinational logic, sequential logic, and simple digital systems.
As integrated circuit technology continues to improve to allow more components on a chip, digital systems continue to grow in complexity. Design of such complex systems is facilitated by the use of a hardware description language such as VHDL . This text introduces the use of VHDL in logic design and emphasizes the relationship between VHDL statements and the corresponding digital hardware. VHDL allows digital hardware to be described and simulated at a higher level before it is implemented with logic components. Computer programs for synthesis can convert a VHDL description of a digital system to a corresponding set of logic components and their interconnections. Even though use of such computer-aided design tools helps to automate the logic design process, we believe that it is important to understand the underlying logic components and their timing before writing VHDL code. By first implementing the digital logic manually, students can more fully appreciate the power and limitations of VHDL .
Although the technology used to implement digital systems has changed significantly since the first edition of this text was published, the fundamental principles of logic design have not. Truth tables and state tables still are used to specify the behavior of logic circuits, and Boolean algebra is still a basic mathematical tool for logic design. Even when programmable logic devices ( PLDs ) are used instead of individual gates and flip-flops, reduction of logic equations is still desirable in order to fit the equations into smaller PLDs . Making a good state assignment is still desirable, because without a good assignment, the logic equations may require larger PLDs .