Switching and Finite Automata Theory



Similar documents
Symbolism and Regime Change in Russia

SECURITY AND QUALITY OF SERVICE IN AD HOC WIRELESS NETWORKS

a new anthropology of islam

Equality in Education Law and Policy,

PROGRAM LOGICS FOR CERTIFIED COMPILERS

Essentials of Positioning and Location Technology

MORTALITY AMONGST ILLICIT DRUG USERS

Camferfoge plain Cext*

Management Across Cultures

ANALOG & DIGITAL ELECTRONICS

Gates, Circuits, and Boolean Algebra

Edward Shorter is a historian of psychiatry who has written three books on the history of psychiatry and psychosomatic illness.

EE360: Digital Design I Course Syllabus

Approaches and Methods in Language Teaching

in this web service Cambridge University Press

The Disappearance of the Social in American Social Psychology

Professor Marilyn Fleer

CHAPTER 3 Boolean Algebra and Digital Logic

Fast analytical techniques for electrical and electronic circuits. Jet Propulsion Laboratory California Institute of Technology

Human Rights and Social Work

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

Computer Organization

Upon completion of unit 1.1, students will be able to

List of courses MEngg (Computer Systems)

Digital Logic Design. Basics Combinational Circuits Sequential Circuits. Pu-Jen Cheng

Counters and Decoders

Standard for Software Component Testing

Advanced Grammar in Use

Academic year: 2015/2016 Code: IES s ECTS credits: 6. Field of study: Electronics and Telecommunications Specialty: -

INTRODUCTION TO DIGITAL SYSTEMS. IMPLEMENTATION: MODULES (ICs) AND NETWORKS IMPLEMENTATION OF ALGORITHMS IN HARDWARE

Digital Electronics Detailed Outline

Leaders and International Conflict

ECE 156A - Syllabus. Lecture 0 ECE 156A 1

Philadelphia University Faculty of Information Technology Department of Computer Science Semester, 2007/2008.

BOOLEAN ALGEBRA & LOGIC GATES

Schneps, Leila; Colmez, Coralie. Math on Trial : How Numbers Get Used and Abused in the Courtroom. New York, NY, USA: Basic Books, p i.

English Grammar in Use A reference

Primary Mathematics. Capitalising on ICT for today and tomorrow

RARITAN VALLEY COMMUNITY COLLEGE COURSE OUTLINE. CISY 103 Computer Concepts and Programming

CpE358/CS381. Switching Theory and Logical Design. Class 10

DIGITAL COUNTERS. Q B Q A = 00 initially. Q B Q A = 01 after the first clock pulse.

Mathematical Modeling and Methods of Option Pricing

Lecture 8: Synchronous Digital Systems

Design Verification & Testing Design for Testability and Scan

Fault Modeling. Why model faults? Some real defects in VLSI and PCB Common fault models Stuck-at faults. Transistor faults Summary

Software Engineering Transfer Degree

RARITAN VALLEY COMMUNITY COLLEGE ACADEMIC COURSE OUTLINE. Accounting Systems and Software ACCT-225

INSTITUTE OF AERONAUTICAL ENGINEERING Dundigal, Hyderabad

CONTENTS PREFACE 1 INTRODUCTION 1 2 NUMBER SYSTEMS AND CODES 25. vii

Sequential Logic Design Principles.Latches and Flip-Flops

Literary Criticism from Plato to Postmodernism

One Day. Helen Naylor. ... Level 2. Series editor: Philip Prowse. Cambridge University Press One Day.

Online Development of Digital Logic Design Course

ETEC 2301 Programmable Logic Devices. Chapter 10 Counters. Shawnee State University Department of Industrial and Engineering Technologies

Cyber Security and the Politics of Time

TABLE OF CONTENTS. xiii List of Tables. xviii List of Design-for-Test Rules. xix Preface to the First Edition. xxi Preface to the Second Edition

RARITAN VALLEY COMMUNITY COLLEGE COMPUTER SCIENCE (CS) DEPARTMENT. CISY Computer Literacy

Master of Arts in Mathematics

To design digital counter circuits using JK-Flip-Flop. To implement counter using 74LS193 IC.

CpE358/CS381. Switching Theory and Logical Design. Class 4

Instructional Design

Lecture 5: Gate Logic Logic Optimization

Design and Development of Virtual Instrument (VI) Modules for an Introductory Digital Logic Course

Criteria for Accrediting Computer Science Programs Effective for Evaluations during the Accreditation Cycle

Course Requirements & Evaluation Methods

A Second Undergraduate Course in Digital Logic Design: The Datapath+Controller-Based Approach

Design Verification and Test of Digital VLSI Circuits NPTEL Video Course. Module-VII Lecture-I Introduction to Digital VLSI Testing

Analysis of Financial Time Series

CS311 Lecture: Sequential Circuits

Yaffs NAND Flash Failure Mitigation

Module 3: Floyd, Digital Fundamental

Social Media Intelligence

Understanding Logic Design

Table of Contents. Preface. Chapter 1 Introduction 1.1 Background. 1.2 Problem description. 1.3 The role of standardization. 1.4 Scope and objectives

Digital Systems. Syllabus 8/18/2010 1

Theory of Logic Circuits. Laboratory manual. Exercise 3

Recurrent Neural Networks

6.080/6.089 GITCS Feb 12, Lecture 3

DEPARTMENT OF COMPUTER SCIENCE CORNELL UNIVERSITY

INFORMATION CONCERNING THE PREPARATION AND SUBMISSION OF DOCTORAL DISSERTATIONS

English for Business Communication

Psychology for Language Teachers

Experiment # 9. Clock generator circuits & Counters. Eng. Waleed Y. Mousa

Decomposition of Finite State Machines for Area, Delay Minimization

CMOS Binary Full Adder

1. True or False? A voltage level in the range 0 to 2 volts is interpreted as a binary 1.

Digital Electronics Part I Combinational and Sequential Logic. Dr. I. J. Wassell

7. Latches and Flip-Flops

NTE2053 Integrated Circuit 8 Bit MPU Compatible A/D Converter

ENEE Electrical & Computer Engineering Summer 2015

CURRICULUM VITAE. 9. Academic Qualifications : Degree University Specialization Year. Jawaharlal Nehru Technological University, Hyderabad

Information Systems. Administered by the Department of Mathematical and Computing Sciences within the College of Arts and Sciences.

This page has been left blank intentionally

Transcription:

Switching and Finite Automata Theory Understand the structure, behavior, and limitations of logic machines with this thoroughly updated third edition. New topics include: CMOS gates logic synthesis logic design for emerging nanotechnologies digital system testing asynchronous circuit design The intuitive examples and minimal formalism of the previous edition are retained, giving students a text that is logical and easy to follow, yet rigorous. Kohavi and Jha begin with the basics, and then cover combinational logic design and testing, before moving on to more advanced topics in finite-state machine design and testing. The theory is made easier to understand with 200 illustrative examples, and students can test their understanding with over 350 end-of-chapter review questions. Zvi Kohavi is Executive Vice President and Director General at Technion Israel Institute of Technology. He is Professor Emeritus of the Computer Science Department at Technion, where he held the position of Sir Michael and Lady Sobell Chair in Computer Engineering and Electronics. Niraj K. Jha is a Professor at Princeton University and a Fellow of the IEEE and ACM. He is a recipient of the AT&T Foundation Award and NEC Preceptorship Award for research excellence, the NCR Award for teaching excellence, and Princeton s Graduate Mentoring Award.

Switching and Finite Automata Theory Third Edition Zvi Kohavi Technion Israel Institute of Technology Niraj K. Jha Princeton University

cambridge university press Cambridge, New York, Melbourne, Madrid, Cape Town, Singapore, São Paulo, Delhi Cambridge University Press The Edinburgh Building, Cambridge CB2 8RU, UK Published in the United States of America by Cambridge University Press, New York Information on this title: /9780521857482 First and second editions The McGraw-Hill Companies Inc. Third edition Z. Kohavi and N. Jha 2010 This publication is in copyright. Subject to statutory exception and to the provisions of relevant collective licensing agreements, no reproduction of any part may take place without the written permission of Cambridge University Press. First published 1970 Second edition 1978 Third edition 2010 Printed in the United Kingdom at the University Press, Cambridge A catalog record for this publication is available from the British Library Library of Congress Cataloguing in Publication data Kohavi, Zvi. Switching and finite automata theory / Zvi Kohavi. 3rd ed. / Niraj Jha. p. cm. ISBN 978-0-521-85748-2 (hardback) 1. Sequential machine theory. 2. Switching theory. I. Jha, Niraj K. II. Title. QA267.5.S4K64 2009 511.3 5 dc22 2009036353 ISBN 978-0-521-85748-2 Hardback Additional resources for this publication at /9780521857482 Cambridge University Press has no responsibility for the persistence or accuracy of URLs for external or third-party internet websites referred to in this publication, and does not guarantee that any content on such websites is, or will remain, accurate or appropriate.

Contents Preface page xi Part 1 Preliminaries 1 Number systems and codes 3 1.1 Number systems 3 1.2 Binary codes 10 1.3 Error detection and correction 13 Notes and references 19 Problems 20 2 Sets, relations, and lattices 23 2.1 Sets 23 2.2 Relations 25 2.3 Partially ordered sets 28 2.4 Lattices 30 Notes and references 33 Problems 33 Part 2 Combinational logic 3 Switching algebra and its applications 37 3.1 Switching algebra 37 3.2 Switching functions 44 3.3 Isomorphic systems 52 3.4 Electronic-gate networks 57 3.5 Boolean algebras 58 Notes and references 60 Problems 61 v

vi Contents 4 Minimization of switching functions 67 4.1 Introduction 67 4.2 The map method 68 4.3 Minimal functions and their properties 78 4.4 The tabulation procedure for the determination of prime implicants 81 4.5 The prime implicant chart 86 4.6 Map-entered variables 93 4.7 Heuristic two-level circuit minimization 95 4.8 Multi-output two-level circuit minimization 97 Notes and references 100 Problems 101 5 Logic design 108 5.1 Design with basic logic gates 108 5.2 Logic design with integrated circuits 112 5.3 NAND and NOR circuits 125 5.4 Design of high-speed adders 128 5.5 Metal-oxide semiconductor (MOS) transistors and gates 132 5.6 Analysis and synthesis of MOS networks 135 Notes and references 143 Problems 144 6 Multi-level logic synthesis 151 6.1 Technology-independent synthesis 151 6.2 Technology mapping 162 Notes and references 169 Problems 170 7 Threshold logic for nanotechnologies 173 7.1 Introductory concepts 173 7.2 Synthesis of threshold networks 181 Notes and references 200 Problems 202 8 Testing of combinational circuits 206 8.1 Fault models 206 8.2 Structural testing 212 8.3 I DDQ testing 220 8.4 Delay fault testing 224 8.5 Synthesis for testability 232 8.6 Testing for nanotechnologies 250 Notes and references 254 Problems 257

vii Contents Part 3 Finite-state machines 9 Introduction to synchronous sequential circuits and iterative networks 265 9.1 Sequential circuits introductory example 265 9.2 The finite-state model basic definitions 269 9.3 Memory elements and their excitation functions 272 9.4 Synthesis of synchronous sequential circuits 280 9.5 An example of a computing machine 293 9.6 Iterative networks 296 Notes and references 300 Problems 300 10 Capabilities, minimization, and transformation of sequential machines 307 10.1 The finite-state model further definitions 307 10.2 Capabilities and limitations of finite-state machines 309 10.3 State equivalence and machine minimization 311 10.4 Simplification of incompletely specified machines 317 Notes and references 330 Problems 330 11 Asynchronous sequential circuits 338 11.1 Modes of operation 338 11.2 Hazards 339 11.3 Synthesis of SIC fundamental-mode circuits 346 11.4 Synthesis of burst-mode circuits 358 Notes and references 363 Problems 365 12 Structure of sequential machines 372 12.1 Introductory example 372 12.2 State assignments using partitions 375 12.3 The lattice of closed partitions 380 12.4 Reduction of the output dependency 383 12.5 Input independency and autonomous clocks 386 12.6 Covers, and the generation of closed partitions by state splitting 388 12.7 Information flow in sequential machines 395 12.8 Decomposition 404 12.9 Synthesis of multiple machines 413 Notes and references 418 Problems 419

viii Contents 13 State-identification experiments and testing of sequential circuits 431 13.1 Experiments 431 13.2 Homing experiments 435 13.3 Distinguishing experiments 439 13.4 Machine identification 440 13.5 Checking experiments 442 13.6 Design of diagnosable machines 448 13.7 Alternative approaches to the testing of sequential circuits 453 13.8 Design for testability 458 13.9 Built-in self-test (BIST) 461 Appendix 13.1 Bounds on the length of synchronizing sequences 464 Appendix 13.2 A bound on the length of distinguishing sequences 467 Notes and references 467 Problems 468 14 Memory, definiteness, and information losslessness of finite automata 478 14.1 Memory span with respect to input output sequences (finite-memory machines) 478 14.2 Memory span with respect to input sequences (definite machines) 483 14.3 Memory span with respect to output sequences 488 14.4 Information-lossless machines 491 14.5 Synchronizable and uniquely decipherable codes 504 Appendix 14.1 The least upper bound for information losslessness of finite order 510 Notes and references 512 Problems 513 15 Linear sequential machines 523 15.1 Introduction 523 15.2 Inert linear machines 525 15.3 Inert linear machines and rational transfer functions 532 15.4 The general model 537 15.5 Reduction of linear machines 541 15.6 Identification of linear machines 550 15.7 Application of linear machines to error correction 556 Appendix 15.1 Basic properties of finite fields 559 Appendix 15.2 The Euclidean algorithm 561 Notes and references 562 Problems 563 16 Finite-state recognizers 570 16.1 Deterministic recognizers 570 16.2 Transition graphs 572

ix Contents 16.3 Converting nondeterministic into deterministic graphs 574 16.4 Regular expressions 577 16.5 Transition graphs recognizing regular sets 582 16.6 Regular sets corresponding to transition graphs 588 16.7 Two-way recognizers 595 Notes and references 601 Problems 602 Index 608

Preface Topics in switching and finite automata theory have been an important part of the curriculum in electrical engineering and computer science departments for several decades. The third edition of this book builds on the comprehensive foundation provided by the second edition and adds: significant new material in the areas of CMOS logic; modern two-level and multi-level logic synthesis methods; logic design for emerging nanotechnologies; test generation, design for testability and built-in self-test for combinational and sequential circuits; modern asynchronous circuit synthesis techniques; etc. We have attempted to maintain the comprehensive nature of the earlier edition in providing readers with an understanding of the structure, behavior, and limitations of logical machines. At the same time, we have provided an up-to-date context in which the presented techniques can find use in a variety of applications. We start with introductory material and build up to more advanced topics. Thus, the technical background assumed on the part of the reader is minimal. This edition maintains the style of the previous edition in providing a logical and rigorous discussion of various topics with minimal formalism. Thus, theorems and algorithms are preceded by several intuitive examples to ease understanding. The original references for various topics are provided. Of course, readers who want to dig deeper into a subject would need to consult later works also. The book is divided into three parts. The first part consists of Chapters 1 and 2. It provides introductory background. The second part consists of Chapters 3 through 8. It deals with combinational logic. The third part consists of Chapters 9 through 16. It is concerned with finite automata. Several chapters contain specific topics that are not prerequisites for subsequent chapters, e.g. Chapters 6, 7, 11 16. Such chapters can be selected at the preference of instructors. Sections marked with a star may be omitted without loss of continuity. The book can be used for courses at the junior or senior levels in electrical engineering and computer science departments as well as at the beginning graduate level. It is intended as a text for a two-semester sequence. The first semester can be devoted to switching theory (Chapters 1, 3 11) and the second xi

xii Preface semester to finite automata theory (Chapters 2, 12 16). Other partitions into two semesters are also possible, keeping in mind that Chapters 3 5 are prerequisites for the rest of the book and Chapters 9 and 10 are prerequisites for Chapters 12 16. Some chapters have undergone major revision and others only minor revision. Two sections have been added to Chapter 4, on heuristic and multi-output twolevel circuit minimization. A section has been added to Chapter 5 on CMOS circuit realizations. Chapter 6 has been completely rewritten with an emphasis on technology-independent multi-level logic synthesis as well as on technology mapping. Chapter 7 has been updated with synthesis techniques geared towards emerging nanotechnologies that can efficiently implement threshold, majority, and minority logic. Chapter 8 has also been completely rewritten to include a discussion of fault models, structural testing, I DDQ testing, delay fault testing, synthesis for testability, and testing for nanotechnologies. All these topics provide the underpinning for the testing of modern integrated circuits. Minor changes have been made to the flip-flop section in Chapter 9. Chapter 11 has been updated with material on the synthesis of asynchronous circuits that allow multiple input changes, including burst-mode circuits. The substantial revisions of Chapter 13 include the addition of material on sequential test generation, design for testability, and built-in self-test. These concepts are also important for understanding how modern integrated circuits are tested. The problem sets have been expanded in all the above chapters. The previous edition has been used at many universities, which encouraged us to undertake the task of revising the book. We are grateful for the feedback and comments from Professors Sudhakar Reddy, Israel Koren, and Robert Dick. We are also indebted to students and colleagues at Technion and at Princeton University for providing a stimulating environment that made this revision possible. Last, but not the least, Niraj would like to thank his father, Dr Chintamani Jha, and his wife, Shubha, without whose encouragement and understanding this edition would not have been possible. Zvi Kohavi Niraj K. Jha