CSEE 6861 CAD of Digital Systems Handout: Lecture #5

Similar documents
Diagnostic Test Generation and Fault Simulation Algorithms for Transition Faults

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

Iterative Deletion Routing Algorithm

Synthesis of Reversible Sequential Elements*

Synchronous Digital Logic Systems. Review of Digital Logic. Philosophy. Combinational Logic. A Full Adder. Combinational Logic

Lecture 11: Adder Design

A.R. ENGINEERING COLLEGE, VILLUPURAM ECE DEPARTMENT

Chapter 5 Sequential Systems. Introduction

nmos transistor Basics of VLSI Design and Test Solution: CMOS pmos transistor CMOS Inverter First-Order DC Analysis CMOS Inverter: Transient Response

EXPERIMENT: 1. Graphic Symbol: OR: The output of OR gate is true when one of the inputs A and B or both the inputs are true.

Combinational Logic Design

Computer Architecture and Organization

Fundamentals of Computer Systems

DIGITAL TECHNICS. Dr. Bálint Pődör. Óbuda University, Microelectronics and Technology Institute

GLOBAL DISPARITY COMPENSATION FOR MULTI-VIEW VIDEO CODING. Kwan-Jung Oh and Yo-Sung Ho

Software Engineering 2DA4. Slides 3: Optimized Implementation of Logic Functions

Chapter 6 Sequential Circuits

Supplement 3 Asynchronous Sequential Circuit Concepts

DIGITAL SYSTEM DESIGN UNIT I (2 MARKS)

`COEN 312 DIGITAL SYSTEMS DESIGN - LECTURE NOTES Concordia University

Lab 3 : CMOS Sequential Logic Gates

THE UNIVERSITY OF TRINIDAD & TOBAGO

Using minterms, m-notation / decimal notation Sum = Cout = Using maxterms, M-notation Sum = Cout =

CS 151 Final. Instructions: Student ID. (Last Name) (First Name) Signature

Essential Question: How can you use transformations of a parent square root function to graph. Explore Graphing and Analyzing the Parent

Sequential Circuits. Introduction to Digital Logic. Course Outline. Overview. Introduction to Digital Logic. Introduction to Sequential Circuits

Multi-Level Gate Circuits. Chapter 7 Multi-Level Gate Circuits NAND and NOR Gates. Some Terminologies (Cont.) Some Terminologies

AN INTRODUCTION TO DIGITAL COMPUTER LOGIC

12/31/2010. Overview. 12-Latches and Flip Flops Text: Unit 11. Sequential Circuits. Sequential Circuits. Feedback. Feedback

CS6201 UNIT I PART-A. Develop or build the following Boolean function with NAND gate F(x,y,z)=(1,2,3,5,7).

Principles of Computer Architecture. Appendix A: Digital Logic

Logic Symbols with Truth Tables INVERTER A B NAND A B C NOR C A B A B C XNOR A B C A B Digital Logic 1

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180A DIGITAL SYSTEMS I Winter 2006

211: Computer Architecture Summer 2016

2014 Reinier Maliepaard: Recomposing Van Hemel s Fantasia

Digital Principles and Design

Department of Computer Science and Engineering Question Bank- Even Semester:

Lab 3 : CMOS Sequential Logic Gates

Logic. Andrew Mark Allen March 4, 2012

Prime Num Generator - Maker Faire 2014

12.1 Creating Systems of Linear Equations

A Local Dimming Algorithm for Low Power LCD TVs Using Edge-type LED Backlight

Palestine Technical College. Engineering Professions Department. EEE Digital Logic Fundamentals. Experiment 2.

Asynchronous IC Interconnect Network Design and Implementation Using a Standard ASIC Flow

Optimal Television Adverts Selection, Case Study: Ghana Television (GTV)

Introduction Actel Logic Modules Xilinx LCA Altera FLEX, Altera MAX Power Dissipation

The word digital implies information in computers is represented by variables that take a limited number of discrete values.

Logic Symbols with Truth Tables

IMPLEMENTATION OF X-FACTOR CIRCUITRY IN DECOMPRESSOR ARCHITECTURE

Logik für Informatiker Logic for computer scientists

Bit Swapping LFSR and its Application to Fault Detection and Diagnosis Using FPGA

D U I S B U R G E S S E N

Spiral Content Mapping. Spiral 2 1. Learning Outcomes DATAPATH COMPONENTS. Datapath Components: Counters Adders Design Example: Crosswalk Controller

PROGRAMMABLE ASIC LOGIC CELLS

(Refer Slide Time: 1:45)

Novel Pulsed-Latch Replacement Based on Time Borrowing and Spiral Clustering

8. Design of Adders. Jacob Abraham. Department of Electrical and Computer Engineering The University of Texas at Austin VLSI Design Fall 2017

UNIVERSITY OF MASSACHUSSETS LOWELL Department of Electrical & Computer Engineering Course Syllabus for Logic Design Fall 2013

Designing VeSFET-based ICs with CMOS-oriented EDA Infrastructure

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Science

Minnesota State College Southeast

Page 1. Some Definitions. Chapter 3: Sequential Logic. Sequential Logic. The Combinational Logic Unit. A NOR Gate with a Lumped Delay

EECS 270 Homework the Last Winter 2017

R13 SET - 1 '' ''' '' ' '''' Code No: RT21053

Boolean, 1s and 0s stuff: synthesis, verification, representation This is what happens in the front end of the ASIC design process

Logic Design IS1200, spring 2015 Review Slides

Design for Test. Design for test (DFT) refers to those design techniques that make test generation and test application cost-effective.

Code No: A R09 Set No. 2

R13. II B. Tech I Semester Regular Examinations, Jan DIGITAL LOGIC DESIGN (Com. to CSE, IT) PART-A

Revelation Principle; Quasilinear Utility

9 Programmable Logic Devices

TKK S ASIC-PIIRIEN SUUNNITTELU

Final Examination (Open Katz, Calculators OK, 3 hours)

Digital Circuits ECS 371

Chapter Contents. Appendix A: Digital Logic. Some Definitions

ORF 307: Lecture 14. Linear Programming: Chapter 14: Network Flows: Algorithms

CPSC 121: Models of Computation Lab #2: Building Circuits

EE 121 June 4, 2002 Digital Design Laboratory Handout #34 CLK

Hitting the Right Note composing and arranging RDA

DIGITAL ELECTRONICS: LOGIC AND CLOCKS

Correlation to the Common Core State Standards

THE KENYA POLYTECHNIC

4. Formal Equivalence Checking

Instructions. Final Exam CPSC/ELEN 680 December 12, Name: UIN:

MODULE 3. Combinational & Sequential logic

Implementation of an MPEG Codec on the Tilera TM 64 Processor

Satellite Services and Interference: The current situation. ITU International Satellite Communication Symposium Geneva, June 2016

RELATED WORK Integrated circuits and programmable devices

LAERSKOOL RANDHART ENGLISH GRADE 5 DEMARCATION FOR EXAM PAPER 2

C2 Vectors C3 Interactions transfer momentum. General Physics GP7-Vectors (Ch 4) 1

Outline. CPE/EE 422/522 Advanced Logic Design L04. Review: 8421 BCD to Excess3 BCD Code Converter. Review: Mealy Sequential Networks

1. Introduction. Abstract. 1.1 Logic Criteria

Fundamentals of Computer Systems

DVR or NVR? Video Recording For Multi-Site Systems Explained DVR OR NVR? 1

LESSON PLAN. Sub Code: EE2255 Sub Name: DIGITAL LOGIC CIRCUITS Unit: I Branch: EEE Semester: IV

Chapter 3. Boolean Algebra and Digital Logic

BHARATHIDASAN ENGINEERING COLLEGE, NATTRAMPALLI DEPARTMENT OF ECE

Combinational / Sequential Logic

Ultra-lightweight 8-bit Multiplicative Inverse Based S-box Using LFSR

Experiment (6) 2- to 4 Decoder. Figure 8.1 Block Diagram of 2-to-4 Decoder 0 X X

Transcription:

SEE 6861 of igital Sstems Handout: Lecture #5 2/18/16 Prof. Steven M. Nowick nowick@cs.columbia.edu epartment of omputer Science (and Elect. Eng.) olumbia Universit New York, NY, US ESPRESSO: dvanced Steps (i) Essentials #2 (ii) MKE-SPRSE 1

ESPRESSO: Essentials #2 Step generating all essentials when not given all s Eample: given an cover F of a oolean function f ( cover = cover using onl implicants, i.e. full-epanded cubes) Q1. oes the cover include all essentials? w! #4 2

Eample: given an cover F of a oolean function f Q1. oes the cover include all essentials? w! 1. YES! Ever cover F of a function f includes all its essentials #5 Eample: given an cover F of a oolean function f w! #6 3

Eample: given an cover F of a oolean function f w! Note: cover F does not necessaril include all s! missing! #7 Eample: given an cover F of a oolean function f w! essentials #8 4

Eample: given an cover F of a oolean function f w! not essentials #9 Eample: given an cover F of a oolean function f w! how to identif all essentials when cover F does not include all s? not essentials # 5

Eample: given an cover F of a oolean function f w! SE NLYSIS: 3 tpes of minterms in cubes # Eample: given an cover F of a oolean function f w! SE NLYSIS: 3 tpes of minterms in cubes Each ON-set minterm is: (i) covered b 2 or more cubes #12 6

Eample: given an cover F of a oolean function f w! SE NLYSIS: 3 tpes of minterms in cubes Each ON-set minterm is: (i) covered b 2 or more cubes (ii) covered b onl 1 cube #13 Eample: given an cover F of a oolean function f w! SE NLYSIS: 3 tpes of minterms in cubes Each ON-set minterm is: (i) covered b 2 or more cubes (ii) covered b onl 1 cube 2 sub-cases: #14 7

Eample: given an cover F of a oolean function f w! SE NLYSIS: 3 tpes of minterms in cubes Each ON-set minterm is: (i) covered b 2 or more cubes (ii) covered b onl 1 cube 2 sub-cases: (a) ON-set minterm isolated : no neighboring cubes (onl OFF-set) #15 Eample: given an cover F of a oolean function f w! SE NLYSIS: 3 tpes of minterms in cubes Each ON-set minterm is: (i) covered b 2 or more cubes (ii) covered b onl 1 cube 2 sub-cases: (b) ON-set minterm not isolated : has neighboring adjacent cube(s) #16 8

Eample: given an cover F of a oolean function f w! Test for ase #2(b): not in isolated regions = has neighboring cubes Grow consensus cubes: between each adjacent cube pair #17 Eample: given an cover F of a oolean function f w! Test for ase ii(b): not in isolated regions = Has ube Neighbors Grow consensus cubes: between each adjacent cube pair [ adjacent = distance-1] X = ONSENSUS (cube, cube ) #18 9

Eample: given an cover F of a oolean function f w! Test for ase #2(b): not in isolated regions = Has ube Neighbors X = ONSENSUS (cube, cube ) Intuition: eperiment to grow missing implicants - onsensus cube = seed which spans gap between adjacent cube pair (non-intersecting) - Idea: used to LOLLY generate the core of missing s in cover (consensus often is non-) #19 Eample: given an cover F of a oolean function f w! 2. If a cube w in cover F is not entirel covered b the union of: (i) the set of other cubes in cover, and (ii) the set of consensus cubes (i.e seeds of missing s) then it is essential! X = ONSENSUS (cube, cube ) #20

Eample: given an cover F of a oolean function f w! 2. If a cube w in cover F is not entirel covered b the union of: (i) the set of other cubes in cover, and (ii) the set of consensus cubes (i.e seeds of missing s) then it is essential! EXMPLE #1: ube Essential X = ONSENSUS (cube, cube ) #21 Eample: given an cover F of a oolean function f w! 2. If a cube w in cover F is not entirel covered b the union of: (i) the set of other cubes in cover, and (ii) the set of consensus cubes (i.e seeds of missing s) then it is essential! EXMPLE #2: ube Not Essential X = ONSENSUS (cube, cube ) #22

Eample: given an cover F of a oolean function f w! 2. lgorithmic Formulation*: ESSEN #2 Given cover F, including cube e (to check if e essential): 1. Remove e from F: G = F {e} 2. ompute consensus of e and each cube in G: H = consensus{e, G} 3. Formulate containment problem: heck if e <= G U H X = ONSENSUS (cube, cube ) *equivalent to Hachtel/Someni, Theorem 5.4.1 (p. 204) #23 ESPRESSO: Make-Sparse Step 12

Multi-Output Minimiation: Eample #1 Multi-Output Function #25 Multi-Output Minimiation: Eample #1 over #1: min-cost cover, using ONLY multi-output s #26 13

Multi-Output Minimiation: Eample #1 over #1: using ONLY multi-output s multi-output input part output part 0 1-1 0 1 0-1 0 1 0 1 1 1 corresponding 2-level implementation multi-output 1 PL Representation of over = cubical comple OST = 15 gate inputs #27 Multi-Output Minimiation: Eample #1 over #1: using some NON-PRIMES! NOT a multi-output input part output part 0 1-1 0 1 0-1 0 1 0 1 0 1 corresponding 2-level implementation NOT a multi-output 1 PL Representation of over = cubical comple OST = 14 gate inputs = better! #28 14

Observation Peculiar feature of multi-output s (spanning multiple functions): NOT a multi-output multi-output Spanning more functions: (i) increases coverage, UT (ii) also increases cost! #29 ESPRESSO Strateg: using MKE-SPRSE (simple version) asic idea: - Initial ESPRESSO goal: bod of algorithm alwas epands to multi-output s - Post-processing step (at end of algorithm) = MKE-SPRSE - heuristicall reduce final cover cost b ELETING UNNEESSRY OUTPUT ONNETIONS - asic version of MKE-SPRSE : -- this step is a form of multi-output REUE = eliminate unnecessar N-gate wire fanouts -- also known as reduce output parts See previous slides: - before MKE-SPRSE: over #1 (cost = 15 gate inputs) - after MKE-SPRSE: over #1 (cost = 14 gate inputs) #30 15

MKE-SPRSE: advanced version Used in Espresso-II: - Ke Idea: improved MKE-SPRSE can involve new epansion too! Step #1. Use restricted reduce : REUE OUTPUT PRTS for each N-gate, eliminate unnecessar output connections Step #2. Use restricted epand : EXPN INPUT PRTS for each N-gate, epand if possible within current outputs #31 Multi-Output Minimiation: Eample #2 Multi-Output Function: illustrates advanced MKE-SPRSE operation (NEW: minterm) #32 16

Multi-Output Minimiation: Eample #2 over #2: initial min-cost cover, using ONLY multi-output s multi-output #33 Multi-Output Minimiation: Eample #2 STEP #1 -- over #2: after RESTRITE REUE of output part = REUE OUTPUT PRT NOT a multi-output #34 17

Multi-Output Minimiation: Eample #2 STEP #2 -- over #2: after RESTRITE EXPN of input part - no epansion to new outputs, onl within current outputs! = EXPN INPUT PRT multi-output FINL OVER #35 Multi-Output Minimiation: Eample #2 -- details multi-output over #2: using ONLY multi-output s (NEW: minterm) input part output part 0 1-1 0 1 0-1 0 1 0 1 1 1 corresponding 2-level implementation multi-output 1 PL Representation = cubical comple OST = 15 gate inputs #36 18

Multi-Output Minimiation: Eample #2 -- details STEP #1 -- over #2: REUE OUTPUT PRT (NEW: minterm) NOT a multi-output input part output part 0 1-1 0 1 0-1 0 1 0 1 0 1 corresponding 2-level implementation NOT a multi-output 1 PL Representation of over = cubical comple OST = 14 gate inputs = better! #37 Multi-Output Minimiation: Eample #2 -- details STEP #2 -- over #2: EXPN INPUT PRT (NEW: minterm) EXPN cube as much as possible within current outputs input part output part corresponding 2-level implementation 0 1-1 0 1 0-1 0 1-1 0 1 1 EXPN cube as much as possible within current outputs PL Representation of over = cubical comple OST = 13 gate inputs = even better! #38 19