Multi-Level Minimization

Slides:



Advertisements
Similar presentations
1 EECS 219B Spring 2001 Node minimization Andreas Kuehlmann.
Advertisements

ENGG3190 Logic Synthesis “Multi Level Logic” (Part II) Winter 2014 S. Areibi School of Engineering University of Guelph.
CSEE 4823 Advanced Logic Design Handout: Lecture #2 1/22/15
Gate-Level Minimization
K-Map Simplification COE 202 Digital Logic Design Dr. Aiman El-Maleh
Based on slides by: Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. ECE/CS 352: Digital System Fundamentals Lecture 8 – Systematic Simplification.
Multilevel Logic Minimization -- Introduction. ENEE 6442 Outline > Multi-level minimization: technology independent local optimization. > What to optimize:
Nov. 13, 2002ICCAD 2002 Simplification of Non-Deterministic Multi-Valued Networks Alan Mishchenko Electrical and Computer Engineering Portland State University.
Sept. 19, 2002Workshop on Boolean Problems A Theory of Non-Deterministic Networks R. K. Brayton EECS Dept. University of California Berkeley.
Department of Computer Engineering
Boolean Methods for Multi-level Logic Synthesis Giovanni De Micheli Integrated Systems Centre EPF Lausanne This presentation can be used for non-commercial.
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect19: Multi Level Logic Minimization.
Optimization Algorithm
ECE 2110: Introduction to Digital Systems PoS minimization Don’t care conditions.
ECE 3110: Introduction to Digital Systems Symplifying Products of sums using Karnaugh Maps.
Boolean Algebra Introduction Logical arguments are valid (or not) by virtue of their form, not content Example All men are mortal(premise 1) Harry is a.
CHAPTER 3: PRINCIPLES OF COMBINATIONAL LOGIC
05 BA2 Page 1 ECEn/CS 224 Boolean Algebra – Part 2.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Multi-Level Logic Synthesis.
1 Gate Level Minimization EE 208 – Logic Design Chapter 3 Sohaib Majzoub.
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect10: Two-level Logic Minimization.
1 Using Don’t Cares - full_simplify command Major command in SIS - uses SDC, ODC, XDC Key Questions: How do we represent XDC to a network? How do we relate.
ICS 252 Introduction to Computer Design Lecture 8 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI.
1 CS 352 Introduction to Logic Design Lecture 4 Ahmed Ezzat Multi-level Gate Circuits and Combinational Circuit Design Ch-7 + Ch-8.
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect18: Multi Level Logic Minimization.
1 Digital Systems Design Lecture 7 Transformations Factoring - finding a factored form from SOP or POS expression Decomposition - expression of a function.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 2 – Combinational Logic Circuits Part 2.
CHAPTER 7 MULTI-LEVEL GATE CIRCUITS / NAND AND NOR GATES
CHAPTER 3 Simplification of Boolean Functions
ECE 2110: Introduction to Digital Systems
Computer Organisation
Chapter 4 Simplification of Boolean Functions Karnaugh Maps
Overview Part 1 – Gate Circuits and Boolean Equations
Delay Optimization using SOP Balancing
SLIDES FOR CHAPTER 2 BOOLEAN ALGEBRA
ECE 2110: Introduction to Digital Systems
Reading: Hambley Chapters
ECE 331 – Digital System Design
Digital Logic and Design
Reconfigurable Computing
Boolean Algebra.
BASIC & COMBINATIONAL LOGIC CIRCUIT
EE4271 VLSI Design Logic Synthesis EE 4271 VLSI Design.
Digital Logic & Design Dr. Waseem Ikram Lecture 13.
Synthesis and Verification of Finite State Machines
Optimization Algorithm
CSE 370 – Winter Combinational Implementation - 1
Programmable Configurations
EECS150 - Digital Design Lecture 7 - Boolean Algebra II
Karnaugh Maps Introduction Venn Diagrams 2-variable K-maps
Chapter 3 Gate-level Minimization.
Topics Logic synthesis. Placement and routing..
MINTERMS and MAXTERMS Week 3
Testability of Multi-Level Circuits
332:437 Lecture 3 Hardware Design Methodology and Advanced Logic Design Hardware design.
Sungho Kang Yonsei University
Testability of Two-Level Circuits
DESIGN OF SEQUENTIAL CIRCUITS
Synthesis and Verification of Finite State Machines
Heuristic Minimization of Two Level Circuits
Automatic Test Pattern Generation
Overview Part 2 – Circuit Optimization
3-Variable K-map AB/C AB/C A’B’ A’B AB AB’
Chapter 3 Overview • Multi-Level Logic
ECE 352 Digital System Fundamentals
Delay Optimization using SOP Balancing
Analysis of Logic Circuits Example 1
ECE 352 Digital System Fundamentals
SAT-based Methods: Logic Synthesis and Technology Mapping
Circuit Simplification and
Presentation transcript:

Multi-Level Minimization Sungho Kang Yonsei University

Outline Introduction Boolean Networks Don’t Cares in Multi-Level Networks Internal Satisfiability Don’t Cares Observability Don’t Cares Prime and Irredundant Networks Two-Level Minimization with Multi-Level Don’t Cares

Introduction Primality Irredundancy Don’t care conditions Testability

Boolean Networks Boolean Network A Boolean network is an interconnection of n Boolean functions defined by a five-tuple (f, y, I, O, dx) consisting of f = (f1, f2, …, fn) : a vector of completely-specified logic functions y = (y1, y2, …, yn) : a vector of logic variables that are in one-to-one correspondence with f I = (I1, I2, …, Ip) : a vector of y-indices that identify the corresponding p externally controllable signals as primary inputs O = (O1, O2, .., Oq) : a vector of y-indices that identify the corresponding q externally observable signals as primary outputs dx =( dx1, dx2, …, dxn ) : a vector of completely-specified logic functions that specify the set of don’t cares minterms on the output of 

Boolean Networks Predecessor (input or fanin) Successor (output or fanout) Transitive fanin (transitive predecessor) Transitive fanout (transitive successor) Source terminal Sink terminal Flattening

Network Cost Boolean Network The literal-in-SOP-form cost function for a Boolean network is the sum over all nodes of the number of literals in the SOP representation for the function at each node The literal-in-factored-form cost function is the number of literals in an optimal factored form for each expression in the network The number of edges in a NOR(NAND) decomposition of the network where the NOR(NAND) gates have appropriately bounded fanin and fanout counts Another measure is delay

Satisfiability Don’t Cares SDC occur because there are input combinations to a circuit that can never occur Non-controllable state / non-justifiable states

Observability Don’t Cares The second class of don’t care conditions arises because of filtering effects that prevent local changes to the network from being observable at the POs of the network Profound connection to testing It may happen that because of the circuitry that fans out from a set of signals, perturbations in the signal values in this set cannot be observed on signals at the pre-specified observation points In this case the conditions under which the signals cannot be observed are don’t cares for functions producing the perturbed signals

Use of Don’t Cares in Minimization An optimal two-level minimizer substitutes some set of variables corresponding to the nodes of the network, into fi that results in a minimal literal count for fi Example t = sk’ + s’abcd + s’a’b’cd k = ab + a’b’ s = ef + e’f’ r = cd Simplify t usig SDC(k (ab+a’b’)) + (s (ef+e’f’)) + (r (cd)) t = sk’ + s’kr

Internal and External Don’t Cares Arising from the external environment in which the network is embedded Internal don’t cares Arising from the structure of the network itself

External Don’t Care Conditions Don't Cares Satisfiability First for a particular design the designer may decree that a particular primary input vector x Bp will never occur The vector x yI constitutes a don’t care minterm, and such minterms are don’t care for all primary outputs The set of all such minterms is denoted by s’X Observability Second the designer may state that for any primary output I O, the value of yi will not be used for a set of primary input vectors in the set o’iX Thus for each PO the total external don’t care can be written diX = s’X + o’iX i = 1, 2, … q For the external don’t care set, often there is no need to distinguish between these two types of don’t cares and in these cases we simply refer to diX If A  O then s’X  diX

Internal Satisfiability Don’t Cares A general Boolean network introduces many intermediate nodes yj = fj(y) where y is the set of all logic signals sj = ( yj  fj ) = (yj  fj)’ Overall satisfiability don’t care set s’* = s’j =  yj  fj =  ( yjfj’ + yj’fj ) Transitive s’i* =  ( yjfj’ + yj’fj ) This don’t care function gives all the input vectors that will never occur and is called satisfiability don’t care set Local satisfiability don’t care set : s’j = yjfj’ + yj’fj SDC s’ij =  ( yjfk’ + yk’fk )

Observability Don’t Cares These don’t care conditions are subtler in origin, and harder to compute and approximate than those of the satisfiability don’t care set

Observability Don’t Cares Example y1=xw y2=x’+y F=y1+y2 Attempt to minimize y1 SDCy1 = y2  (x’+y) = y2xy’ + y2’x’ +y2’y ODCy1 = y2 = 1 Cover w x y y2 y1 minimize y1= w 1 1 - - 1 y2=x’+y - - - 1 - F=y1+y2 - 1 0 1 - - 0 - 0 - - - 1 0 - After sweep y2=x’+y F=w+y2

Observability Don’t Cares Example The output is replaced by XOR F= y1  y2 y1= wx y2=x’+y Same SDCy1 = y2  (x’+y) = y2xy’ + y2’x’ +y2’y There are no ODCs Under this new set of don’t cares, we cannot minimize y1

Observability Don’t Cares Example F= y3+y y3= y1y2 y2=x’+y y1= wx ODCy1 = y2’ + y = x + y Therefore y1 is redundant because f1 = wx  ODCy1 F= y1w+y2w’+y1’y2’ y1=xw ODCy1 = w’y2 + wy2’

Computing ODCs Compute ODCs using Boolean difference Observability Don't Cares Compute ODCs using Boolean difference The calculation of ODCs can be complicated Not all the SDCs are going to be useful in minimizing a given node

Prime and Irredundant Networks Boolean network  = (f, y, I, O, dx) and * = (f*, y*, I*, O*, dx) are equivalent modulo the don’t care sets dx, if there exists a permutation Q of {1,2,…,q}such that for each PO zi*(x) in O*, zi*(z)=zQ(i)(x) for all x dx

Prime and Irredundant Networks Prime and Irredundant Boolean Networks Given a Boolean network representation N =(F,y,U,I, Dx), a cube C of the 2-level representation of Fi is prime, if no literal of C can be removed without causing the resulting network representation N* to be not equivalent to N In more general terms, let N*=(F*,y,U,I, Dx), be a Boolean network representation for which Fj*=Fj, ji and Fi = (Fi -{C})  C* where C* and C with one of its literals removed Then C is prime if N  N* Similarly, a cube C of Fi is irredundant if C cannot be removed from the representation of Fi without causing the resulting network N* to satisfy N  N* A Boolean network N= (F,y,U,I, Dx), is said to be prime, if all the cubes in each of the representations Fi of N are prime, and irredundant if all of these cubes are irredundant

Multi-Level Don’t Cares Two-Level Minimization Complete don’t care set CDCi = ExtSDC + ExtODC + SDCi + ODCi ExtSDC ExtODC : external don’t cares SDCi : internal satisfiability don’t cares ODCi : internal observability don’t cares If the complete don’t care set is calculated, at convergence of any these sequences of iterations the multi-level network will be prime and irredundant