Presentation is loading. Please wait.

Presentation is loading. Please wait.

Multi-Level Minimization

Similar presentations


Presentation on theme: "Multi-Level Minimization"— Presentation transcript:

1 Multi-Level Minimization
Sungho Kang Yonsei University

2 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

3 Introduction Primality Irredundancy Don’t care conditions Testability

4 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 

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

6 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

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

8 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

9 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

10 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

11 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

12 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 )

13 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

14 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 y2=x’+y F=y1+y2 After sweep y2=x’+y F=w+y2

15 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

16 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’

17 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

18 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

19 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

20 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


Download ppt "Multi-Level Minimization"

Similar presentations


Ads by Google