# stld text book

Post on 30-Oct-2014

324 views

Embed Size (px)

TRANSCRIPT

This page intentionally left blank

Copyright 2008, New Age International (P) Ltd., Publishers Published by New Age International (P) Ltd., Publishers All rights reserved. No part of this ebook may be reproduced in any form, by photostat, microfilm, xerography, or any other means, or incorporated into any information retrieval system, electronic or mechanical, without the written permission of the publisher. All inquiries should be emailed to rights@newagepublishers.com

ISBN (13) : 978-81-224-2879-7

PUBLISHING FOR ONE WORLD

NEW AGE INTERNATIONAL (P) LIMITED, PUBLISHERS 4835/24, Ansari Road, Daryaganj, New Delhi - 110002 Visit us at www.newagepublishers.com

Dedicated to

My Parents

(v)

This page intentionally left blank

PREFACEThe objective of this book is to develop in the reader the ability to analyze and design the digital circuits. The increased uses of digital technology in objects used for day-to-day life necessitate an in-depth knowledge of the subject for the professionals and engineers. There are lots of references available on Switching Theory and Basic Digital Circuits, which discuss various topics separately. But through this text our notion was to discover the topics rather than to cover them. This comprehensive text fulfills the course requirement on the subject of Switching Theory and Logic Design for B. Tech degree course in Electronics Engineering of different technical Universities. This text is also bound to serve as a useful reference book for various competitive examinations. There is no special pre-requisite before starting this book. Each chapter of the book starts with simple facts and concepts, and traverse through the examples & figures it uncovers the advanced topics. The book has 11 well-organized chapters. Chapter 1 deals with number systems and their arithmetic. It includes an exhaustive set of solved examples and exercise to clarify the concepts. Chapter 2 introduces the basic building blocks of digital electronics. It starts with basic postulates, Boolean algebra and then introduces logic gates. It also deals with several types of implementation using logic gates. For beginners we strongly recommend to work out this chapter twice before proceeding further. Chapter 3 deals with the Boolean function minimization techniques using Postulates and Boolean Algebra, K-Map and Quine-McCluskey methods. Chapter 4 presents various combinational logic design using the discrete logic gates and LSI & MSI circuits. This chapter also deals with hazards and fault detection. Chapter 5 introduces the Programmable Logic Devices. It also deals with basics of ROM, and then moves towards PLAs, PALs, CPLDs and FPGA. Chapter 6 introduces the clocked (synchronous) sequential circuits. It starts with discussions on various flip-flops their triggering and flip-flop timings. It then deals with analysis and design of synchronous circuits and concludes with sequence detector circuits. Chapter 7 deals with shift registers and counters. It introduces the basic idea of shift registers and then discusses various modes and application of shift registers. It then introduces the various types and modes of counters and concludes with applications. Chapter 8 describes introductory concept of finite state machines and Chapter 9 deals with asynchronous sequential(vii)

(viii)

circuits. It elaborates the analysis and design procedures with different considerations. Chapter 10 introduces the Threshold logic and its capabilities to realize switching functions. Chapter 11 describes the Algorithmic State Machine. It starts with basic concepts, design tools and concludes with design using multiplexers and PLA. All the topics are illustrated with clear diagram and simple language is used throughout the text to facilitate easy understanding of the concepts. The author welcomes constructive suggestion and comments from the readers for the improvement of this book at singh_a_k@rediffmail.com AUTHOR

ACKNOWLEDGEMENTThis book is the result of the dedication and encouragement of many individuals. I would like to thank my family members especially wife Menka and daughter Omanshi for their patience and continuing support and parents for their blessings. I am indebted to my friends and colleague especially Manish Tiwari and Arun Prakash for their invaluable contribution in the project. I thankfully acknowledge the contributions of various authors, data manuals, journals, reference manuals etc. from where materials have been collected to enrich the contents of the book. Finally, I would like to thank the people at New Age International (P) Limited, especially Mr. L.N. Mishra, who continues support and encourages writing and who made the book a reality. Thanks are also due to Mr. Saumya Gupta, M.D. New Age International (P) Limited for his involvement in the project. In last but not the least by the blessing of almighty and good fortune I get such a supporting and cooperative people around me who in one way or other help me to complete this project in time. ARUN KUMAR SINGH

(ix)

This page intentionally left blank

This page intentionally left blank

NUMBER SYSTEMS AND CODES1.0 INTRODUCTION

Inside todays computers, data is represented as 1s and 0s. These 1s and 0s might be stored magnetically on a disk, or as a state in a transistor, co re, or vacuum tube. To perform useful operations on these 1s and 0s one have to organize them together into patterns that make up codes. Modern digital systems do not represent numeric values using the decimal system. Instead, they typically use a binary or twos complement numbering system. To understand the digital system arithmetic, one must understand how digital systems represent numbers. This chapter discusses several important concepts including the binary, octal and hexadecimal numbering systems, binary data organization (bits, nibbles, bytes, words, and double words), signed and unsigned numbering systems. If one is already familiar with these terms he should at least skim this material.

1.1

A REVIEW OF THE DECIMAL SYSTEM

People have been using the decimal (base 10) numbering system for so long that they probably take it for granted. When one see a number like 123, he dont think about the value 123; rather, he generate a mental image of how many items this value represents. In reality, however, the number 123 represents: 1*102 + 2*101 + 3*100 or 100 + 20 + 3 Each digit appearing to the left of the decimal point represents a value between zero and nine times an increasing power of ten. Digits appearing to the right of the decimal point represent a value between zero and nine times an increasing negative power of ten. For example, the value 123.456 means: 1*102 + 2*101 + 3*100 + 4*101 + 5*102 + 6*103 or 100 + 20 + 3 + 0.4 + 0.05 + 0.006

1.2 BINARY NUMBERING SYSTEMMost modern digital systems operate using binary logic. The digital systems represents values using two voltage levels (usually 0 v and +5 v). With two such levels one can represent1

CHAPTER

1

2

FOUNDATION OF SWITCHING THEORY AND LOGIC DESIGN

exactly two different values. These could be any two different values, but by convention we use the values zero and one. These two values, coincidentally, correspond to the two digits used by the binary numbering system.

1.2.1

Binary to Decimal Conversion

The binary numbering system works just like the decimal numbering system, with two exceptions: binary only allows the digits 0 and 1 (rather than 09), and binary uses powers of two rather than powers of ten. Therefore, it is very easy to convert a binary number to decimal. For each 1 in the binary string, add 2n where n is the bit position in the binary string (0 to n1 for n bit binary string). For example, the binary value 10102 represents the decimal 10 which can be obtained through the procedure shown in the table 1: Table 1 Binary No. Bit Position (n) Weight Factor (2n) bit * 2n Decimal Value Decimal Number 1 3rd 23 1*23 8 0 2nd 22 0*22 0 1 1st 21 1*21 2 0 0th 20 0*20 0

8 + 0 + 2 + 0 = 10

All the steps in above procedure can be summarized in short as 1*23 + 0*22 + 1*21 + 0*20 = 8 + 0 + 2 + 0 = 1010 i.e., 1. Multiply each digit of the binary number by its positional weight and then add up the result. 2. If any digit is 0, its positional weight is not to be taken into account.

1.2.2

Decimal to Binary Conversion

The inverse problem would be to find out the binary equivalent of given decimal number for instance let us find out binary of 1910 (decimal 19)

Division 19 / 2 9/2 4/2 2/2 1/2

Dividend 9 4 2 1 0

Remainder 1 1 0 0 1 1 0 0 1 1

Dividend is 0, stop the procedure.

NUMBER SYSTEMS AND CODES

3

Our final number is (10011)2. i.e., 1. 2. 3. Divide the decimal number by 2 producing a dividend and a remainder. This number is the LSB (least significant bit of the desired binary number). Again divide the dividend obtained above by 2. This produces another dividend and remainder. The remainder is the next digit of the binary number. Continue this process of division until the dividend becomes 0. The remainder obtained in the final division is the MSB (most significant bit of the binary number).

1.2.3

Binary Formats

In the purest sense, every binary number contains an infinite number of digits (or bits which is short for binary digits). Because any number of leading zero bits may precede the binary number without changing its value. For example, one can represent the number seven by: 111 00000111 ..0000000000111 000000000000111 Often several values are packed together into the same binary number. For convenience, a numeric value is assign to each bit position. Each bit is numbered as follows: 1. 2. The rightmo