36
1 Multi-Level Logic Synthesis Multi-Level Logic Synthesis Introduction Introduction Outline Outline Representation Representation Networks Networks Nodes Nodes Technology Independent Optimization Technology Independent Optimization Technology Dependent Optimization Technology Dependent Optimization

1 Multi-Level Logic Synthesis Introduction Outline RepresentationRepresentation –Networks –Nodes Technology Independent OptimizationTechnology Independent

Embed Size (px)

Citation preview

Page 1: 1 Multi-Level Logic Synthesis Introduction Outline RepresentationRepresentation –Networks –Nodes Technology Independent OptimizationTechnology Independent

1

Multi-Level Logic Synthesis Multi-Level Logic Synthesis IntroductionIntroduction

OutlineOutline•RepresentationRepresentation

– NetworksNetworks– NodesNodes

•Technology Independent OptimizationTechnology Independent Optimization•Technology Dependent OptimizationTechnology Dependent Optimization

Page 2: 1 Multi-Level Logic Synthesis Introduction Outline RepresentationRepresentation –Networks –Nodes Technology Independent OptimizationTechnology Independent

2

Structured SystemStructured System

(combinational logic, memory, I/O)(combinational logic, memory, I/O)

•Combinational optimizationCombinational optimization•Sequential optimizationSequential optimization

Page 3: 1 Multi-Level Logic Synthesis Introduction Outline RepresentationRepresentation –Networks –Nodes Technology Independent OptimizationTechnology Independent

3

Two-Level (PLA) vs. Multi-LevelTwo-Level (PLA) vs. Multi-Level

PLAPLAcontrol logiccontrol logic

constrained layoutconstrained layout

highly automatichighly automatic

technology independenttechnology independent

multi-valued logicmulti-valued logic

slower?slower?

input, output, state encodinginput, output, state encoding

Multi-levelMulti-levelall logicall logic

generalgeneral

automaticautomatic

partially technology independentpartially technology independent

comingcoming

can be high speedcan be high speed

some resultssome results

Page 4: 1 Multi-Level Logic Synthesis Introduction Outline RepresentationRepresentation –Networks –Nodes Technology Independent OptimizationTechnology Independent

4

Early Approaches to Multi-LevelEarly Approaches to Multi-Level

Algorithmic ApproachAlgorithmic Approach• continues along lines of ESPRESSO and two-level minimizationcontinues along lines of ESPRESSO and two-level minimization• spectrum of speed/quality trade-off algorithmsspectrum of speed/quality trade-off algorithms• encourages development of understanding and theory

Page 5: 1 Multi-Level Logic Synthesis Introduction Outline RepresentationRepresentation –Networks –Nodes Technology Independent OptimizationTechnology Independent

5

Optimization Cost CriteriaOptimization Cost Criteria

The accepted optimization criteria for multi-level The accepted optimization criteria for multi-level logic are to logic are to minimizeminimize some function of: some function of:

1.1. Area Area occupied by the logic gates and interconnectoccupied by the logic gates and interconnect (approximated by (approximated by literals = transistorsliterals = transistors in technology in technology independent optimization)independent optimization)

2.2. Critical path delay Critical path delay of the longest path through the logicof the longest path through the logic

3.3. Degree of testabilityDegree of testability of the circuit, measured in terms of of the circuit, measured in terms of the the percentagepercentage of faults covered by a specified set of test of faults covered by a specified set of test vectors for an approximate fault model (e.g. single or vectors for an approximate fault model (e.g. single or multiple stuck-at faults)multiple stuck-at faults)

4.4. PowerPower consumed by the logic gates consumed by the logic gates

5.5. Noise ImmunityNoise Immunity

6.6. WireabilityWireability

while simultaneously satisfying upper or lower while simultaneously satisfying upper or lower bound constraints placed on these physical bound constraints placed on these physical quantitiesquantities

Page 6: 1 Multi-Level Logic Synthesis Introduction Outline RepresentationRepresentation –Networks –Nodes Technology Independent OptimizationTechnology Independent

6

Optimization Cost CriteriaOptimization Cost Criteria

Page 7: 1 Multi-Level Logic Synthesis Introduction Outline RepresentationRepresentation –Networks –Nodes Technology Independent OptimizationTechnology Independent

7

Multi-Level is Natural for High Multi-Level is Natural for High Level SynthesisLevel Synthesis

ExampleExample w=ab+ab’ w=ab+ab’

IfIf ww, , then then z=cd+a’d’ z=cd+a’d’ ; ; u=cd+a’d’+e(f+b)u=cd+a’d’+e(f+b)

else else z=e(f+b) z=e(f+b) ; ; u=(cd+a’d’)e(f+b)u=(cd+a’d’)e(f+b)

A:A:w=ab+ab’ w=ab+ab’

z=w(cd+a’d’ )+w’e(f+b)z=w(cd+a’d’ )+w’e(f+b)

u=w(cd+a’d’+e(f+b))+w’((cd+a’d’)e(f+b))u=w(cd+a’d’+e(f+b))+w’((cd+a’d’)e(f+b))

B:B:w=ab+ab’ w=ab+ab’

t=cd+a’d’t=cd+a’d’

s=e(f+b)s=e(f+b)

z=wt+w’sz=wt+w’s

u=w(t+s)+w’tsu=w(t+s)+w’ts

Page 8: 1 Multi-Level Logic Synthesis Introduction Outline RepresentationRepresentation –Networks –Nodes Technology Independent OptimizationTechnology Independent

8

Network RepresentationNetwork Representation

In implementing multi-level logic our first aim is to establish a In implementing multi-level logic our first aim is to establish a structurestructure on which to develop a theory and algorithms on which to develop a theory and algorithms

1.1. independentindependent of technology on which manipulations can be of technology on which manipulations can be made, and made, and

2.2. optimization optimization progressprogress can be can be well estimatedwell estimated..

This leads to This leads to twotwo abstractions: abstractions:• Boolean networkBoolean network• Factored formsFactored forms

Page 9: 1 Multi-Level Logic Synthesis Introduction Outline RepresentationRepresentation –Networks –Nodes Technology Independent OptimizationTechnology Independent

9

Network RepresentationNetwork Representation

Boolean network:Boolean network:• directed acyclic graph (DAG)directed acyclic graph (DAG)• node logic functionnode logic function representation representation

ffjj(x,y)(x,y)

• node variablenode variable yyjj: : yyjj= f= fjj(x,y)(x,y)

• edge edge (i,j)(i,j) if if ffjj depends explicitly on depends explicitly on yyii

Inputs Inputs x = (xx = (x11, x, x22,…,x,…,xn n ))

Outputs z Outputs z = (z= (z11, z, z22,…,z,…,zp p ))

External don’t cares External don’t cares dd11(x), d(x), d22(x) ,(x) ,…, d…, dpp(x)(x)

Page 10: 1 Multi-Level Logic Synthesis Introduction Outline RepresentationRepresentation –Networks –Nodes Technology Independent OptimizationTechnology Independent

10

Network RepresentationNetwork Representation

BooleanBoolean networknetwork::

Page 11: 1 Multi-Level Logic Synthesis Introduction Outline RepresentationRepresentation –Networks –Nodes Technology Independent OptimizationTechnology Independent

11

Node RepresentationNode Representation

Some choices:Some choices:•Merged view (technology and network Merged view (technology and network

merged)merged)•Separated viewSeparated view

– technology dependenttechnology dependent– technology independenttechnology independent

•node representationnode representationgeneral nodegeneral nodegeneric nodegeneric nodediscrete nodediscrete node

Page 12: 1 Multi-Level Logic Synthesis Introduction Outline RepresentationRepresentation –Networks –Nodes Technology Independent OptimizationTechnology Independent

12

Node RepresentationNode Representation

Separated, technology independent view,Separated, technology independent view, general node:general node:• each node can be a representation of an each node can be a representation of an arbitraryarbitrary logic logic

function function • representation and implementation are the samerepresentation and implementation are the same• a theory is easier to develop since there are no arbitrary a theory is easier to develop since there are no arbitrary

restrictions dependent on technologyrestrictions dependent on technology• SISSIS uses this approach (includes all others as special uses this approach (includes all others as special

cases, except for multiple output nodes)cases, except for multiple output nodes)

Choices of Choices of function representationfunction representation for for separated, technology independent view:separated, technology independent view:• sum of products formsum of products form• factored formfactored form• binary decision diagrambinary decision diagram

Page 13: 1 Multi-Level Logic Synthesis Introduction Outline RepresentationRepresentation –Networks –Nodes Technology Independent OptimizationTechnology Independent

13

Sum of Products (SOP)Sum of Products (SOP)

Example:Example:abc’+a’bd+b’d’+b’e’f (sum of cubes)abc’+a’bd+b’d’+b’e’f (sum of cubes)

Advantages:Advantages:• easy to manipulate and minimizeeasy to manipulate and minimize• many algorithms available (e.g. AND, OR, TAUTOLOGY)many algorithms available (e.g. AND, OR, TAUTOLOGY)• two-level theory appliestwo-level theory applies

Disadvantages:Disadvantages:• Not representative of logic complexity. For exampleNot representative of logic complexity. For example f=ad+ae+bd+be+cd+cef=ad+ae+bd+be+cd+ce

f’=a’b’c’+d’e’f’=a’b’c’+d’e’

These differ in their implementation by an These differ in their implementation by an inverterinverter..• hence not easy to hence not easy to estimateestimate logic; difficult to estimate logic; difficult to estimate progressprogress during logic manipulation during logic manipulation

Page 14: 1 Multi-Level Logic Synthesis Introduction Outline RepresentationRepresentation –Networks –Nodes Technology Independent OptimizationTechnology Independent

14

Reduced Ordered BDDsReduced Ordered BDDs

• like factored form, represents both like factored form, represents both function and function and complementcomplement

• like network of muxes, but restricted since like network of muxes, but restricted since controlled by controlled by primary inputprimary input variables variables

• not really a good estimator for not really a good estimator for implementation complexityimplementation complexity

• given an ordering, reduced BDD is given an ordering, reduced BDD is canonicalcanonical, hence a good replacement for , hence a good replacement for truth tablestruth tables

• for a good for a good orderingordering, BDDs remain , BDDs remain reasonably small for complicated functions reasonably small for complicated functions (e.g. not multipliers)(e.g. not multipliers)

• manipulationsmanipulations are well defined and are well defined and efficientefficient

• truetrue support (dependency) is displayed support (dependency) is displayed

Page 15: 1 Multi-Level Logic Synthesis Introduction Outline RepresentationRepresentation –Networks –Nodes Technology Independent OptimizationTechnology Independent

15

Factored FormsFactored Forms

Example:Example: (ad+b’c)(c+d’(e+ac’))+(d+e)fg(ad+b’c)(c+d’(e+ac’))+(d+e)fg

AdvantagesAdvantages• good representative of logic good representative of logic complexitycomplexity f=ad+ae+bd+be+cd+cef=ad+ae+bd+be+cd+ce

f’=a’b’c’+d’e’ f’=a’b’c’+d’e’ f=(a+b+c)(d+e)f=(a+b+c)(d+e)• in many designs (e.g. complex gate CMOS) the in many designs (e.g. complex gate CMOS) the implementationimplementation of a function corresponds of a function corresponds

directly to its factored formdirectly to its factored form• good good estimatorestimator of logic implementation complexity of logic implementation complexity• doesn’t doesn’t blow upblow up easily easily

DisadvantagesDisadvantages• not as many algorithms available for not as many algorithms available for manipulationmanipulation• hence usually just hence usually just convertconvert into SOP before manipulation into SOP before manipulation

Page 16: 1 Multi-Level Logic Synthesis Introduction Outline RepresentationRepresentation –Networks –Nodes Technology Independent OptimizationTechnology Independent

16

Factored FormsFactored Forms

Note:Note:

literal count literal count transistor transistor

count count area area

(however, area also depends on (however, area also depends on wiring)wiring)

Page 17: 1 Multi-Level Logic Synthesis Introduction Outline RepresentationRepresentation –Networks –Nodes Technology Independent OptimizationTechnology Independent

17

Factored FormsFactored Forms

Definition 1:Definition 1: ff is an is an algebraic expressionalgebraic expression if if f f is a set of cubes (SOP), such that no is a set of cubes (SOP), such that no single cube contains another (minimal with respect to single cube containment)single cube contains another (minimal with respect to single cube containment)

Example:Example: a+aba+ab is not an algebraic expression (factoring gives is not an algebraic expression (factoring gives a(1+b) a(1+b) ))

Definition 2:Definition 2: the the productproduct of two expressions of two expressions ff and and gg is a set defined by is a set defined by fg = {cd fg = {cd | c | c f f and and d d g g andand cd cd 0} 0}

Example:Example: (a+b)(c+d+a’)=ac+ad+bc+bd+a’b(a+b)(c+d+a’)=ac+ad+bc+bd+a’b

Definition 3:Definition 3: fgfg is an is an algebraic productalgebraic product if if f f and and gg are algebraic expressions and are algebraic expressions and have have disjointdisjoint support (that is, they have no input variables in common) support (that is, they have no input variables in common)

Example:Example: (a+b)(c+d)=ac+ad+bc+bd(a+b)(c+d)=ac+ad+bc+bd is an algebraic product is an algebraic product

Page 18: 1 Multi-Level Logic Synthesis Introduction Outline RepresentationRepresentation –Networks –Nodes Technology Independent OptimizationTechnology Independent

18

Factored FormsFactored FormsDefinition 4:Definition 4: a factored form can be defined recursively by a factored form can be defined recursively by the following rules. A factored form is either a product or the following rules. A factored form is either a product or sum where:sum where:• a product is either a single a product is either a single literalliteral or or productproduct of factored of factored

formsforms• a sum is either a single a sum is either a single literalliteral or or sumsum of factored forms of factored forms

A factored form is a parenthesized algebraic expression.A factored form is a parenthesized algebraic expression.

In effect a factored form is a In effect a factored form is a productproduct of of sumssums of of products products …… or a sum of products of sums … or a sum of products of sums …

AnyAny logic logic functionfunction can be represented by a factored form, can be represented by a factored form, and and anyany factored form is a representation of some logic factored form is a representation of some logic function. function.

Page 19: 1 Multi-Level Logic Synthesis Introduction Outline RepresentationRepresentation –Networks –Nodes Technology Independent OptimizationTechnology Independent

19

Factored FormaFactored Forma

ExamplesExamples of factored forms: of factored forms:

xx y’y’ abc’abc’ a+b’ca+b’c((a’+b)cd+e)(a+b’)+e’((a’+b)cd+e)(a+b’)+e’

(a+b)’c(a+b)’c is not a factored form since is not a factored form since complementation is not allowed, complementation is not allowed, except on literalsexcept on literals. .

Three equivalent factored forms Three equivalent factored forms (factored forms are not unique):(factored forms are not unique):

ab+c(a+b)ab+c(a+b) bc+a(b+c)bc+a(b+c)ac+b(a+c)ac+b(a+c)

Page 20: 1 Multi-Level Logic Synthesis Introduction Outline RepresentationRepresentation –Networks –Nodes Technology Independent OptimizationTechnology Independent

20

Factored FormsFactored FormsDefinition 5:Definition 5: The The factorization valuefactorization value of an algebraic factorization of an algebraic factorization F=GF=G11GG22+R +R is defined to beis defined to be

fact_val(F,Gfact_val(F,G22) = lits(F)-( lits(G) = lits(F)-( lits(G11)+lits(G)+lits(G22)+lits(R) ) )+lits(R) )

= (|G= (|G11|-1) lits(G|-1) lits(G22) + (|G) + (|G22|-1) lits(G|-1) lits(G11))

assuming Gassuming G11, G, G22 and R are algebraic expressions. Where and R are algebraic expressions. Where |H||H| is the number of is the number of cubescubes in the SOP in the SOP form of form of HH..

Example: Example: The algebraic expression The algebraic expression F = ae+af+ag+bce+bcf+bcg+bde+bdf+bdgF = ae+af+ag+bce+bcf+bcg+bde+bdf+bdg

can be expressed in the form can be expressed in the form F = (a+b(c+d))(e+f+g)F = (a+b(c+d))(e+f+g),, which requires 7 literals, rather than 24. which requires 7 literals, rather than 24.

If If GG11=(a+bc+bd)=(a+bc+bd) and and GG22=(e+f+g)=(e+f+g),, then then R=R=. . fact_val(F,Gfact_val(F,G22) = ) = 223+23+25=5=1616..

The factored form above saves 17 literals, not 16. The extra literal comes from recursively The factored form above saves 17 literals, not 16. The extra literal comes from recursively applying the formula to the factored form of applying the formula to the factored form of GG11..

Page 21: 1 Multi-Level Logic Synthesis Introduction Outline RepresentationRepresentation –Networks –Nodes Technology Independent OptimizationTechnology Independent

21

Factored FormsFactored Forms

Factored forms are more Factored forms are more compactcompact representations of logic representations of logic functions than the traditional sum of products form. functions than the traditional sum of products form.

For exampleFor example, ,

(a+b)(c+d(e+f(g+h+i+j)(a+b)(c+d(e+f(g+h+i+j) when represented as a SOP form iswhen represented as a SOP form is

ac+ade+adfg+adfh+adfi+adfj+bc+bde+bdfg+ bdfh+bdfi+bdfjac+ade+adfg+adfh+adfi+adfj+bc+bde+bdfg+ bdfh+bdfi+bdfj

Of course, every SOP is a factored form but it may not be a Of course, every SOP is a factored form but it may not be a good factorization.good factorization.

Page 22: 1 Multi-Level Logic Synthesis Introduction Outline RepresentationRepresentation –Networks –Nodes Technology Independent OptimizationTechnology Independent

22

Factored FormsFactored Forms

When measured in terms of number of inputs, there are functions When measured in terms of number of inputs, there are functions whose size is whose size is exponentialexponential in sum of products representation, but in sum of products representation, but polynomialpolynomial in factored form. in factored form.

Example:Example: Achilles’ Achilles’ heelheel function function

There are There are nn literals in the factored form and literals in the factored form and (n/2)(n/2)22n/2n/2 literals in literals in the SOP form.the SOP form.

2/

1212 )(

ni

iii xx

Factored forms are useful in Factored forms are useful in estimatingestimating area area and delay in a multi-level synthesis and and delay in a multi-level synthesis and optimization system. optimization system.

In many design styles (e.g. complex gate In many design styles (e.g. complex gate CMOS design) the implementation of a CMOS design) the implementation of a function corresponds directly to its factored function corresponds directly to its factored form.form.

Page 23: 1 Multi-Level Logic Synthesis Introduction Outline RepresentationRepresentation –Networks –Nodes Technology Independent OptimizationTechnology Independent

23

Factored FormsFactored Forms

Factored forms cam be graphically represented as labeled Factored forms cam be graphically represented as labeled treestrees, called factoring trees, in which each internal node , called factoring trees, in which each internal node

including the root is labeled with either including the root is labeled with either ++ oror , and each leaf , and each leaf has a label of either a variable or its complement.has a label of either a variable or its complement.

Example:Example: factoring tree of factoring tree of ((a’+b)cd+e)(a+b’)+e’((a’+b)cd+e)(a+b’)+e’

Page 24: 1 Multi-Level Logic Synthesis Introduction Outline RepresentationRepresentation –Networks –Nodes Technology Independent OptimizationTechnology Independent

24

Factored FormsFactored Forms

The The sizesize of a factored form of a factored form FF (denoted (denoted ((F F )) is the number of literals in the factored form.)) is the number of literals in the factored form.

Example:Example: (((( a+b)ca’) = 4 a+b)ca’) = 4 ((((a+b+cd)(a’+b’)) = 6a+b+cd)(a’+b’)) = 6

A factored form is A factored form is optimaloptimal if no other factored form if no other factored form (for that function)(for that function) has less literals. has less literals.

A factored form is A factored form is positive unatepositive unate in in xx,, if if x x appears in appears in FF, but , but x’x’ does not. A factored form does not. A factored form is is negative unatenegative unate in in xx,, if if x’ x’ appears in appears in FF, but , but x x does not.does not.

FF is is unateunate in in xx if it is either positive or negative unate in if it is either positive or negative unate in xx, otherwise , otherwise FF is is binatebinate in in xx..

Example:Example:

(a+b’)c+a’(a+b’)c+a’ is positive unate in is positive unate in cc, negative unate in , negative unate in bb, and binate in , and binate in aa..

Page 25: 1 Multi-Level Logic Synthesis Introduction Outline RepresentationRepresentation –Networks –Nodes Technology Independent OptimizationTechnology Independent

25

Cofactor of Factored FormsCofactor of Factored Forms

The The cofactorcofactor of a factored form of a factored form FF, with respect a , with respect a literalliteral xx11 (or (or xx11’ ’ ), is the factored form ), is the factored form FFxx11

= F= Fxx11=1=1(x)(x)

(or (or FFxx11’’=F=Fxx11=0=0(x) (x) ) obtained by) obtained by

• replacing all occurrences of replacing all occurrences of xx11 by 1, and by 1, and xx11’ ’ by 0by 0

• simplifying the factored form using the Boolean simplifying the factored form using the Boolean algebra identitiesalgebra identities

1y=y 1+y=1 0y=0 0+y=y1y=y 1+y=1 0y=0 0+y=y• after constant propagation after constant propagation (all constants are (all constants are

removed),removed), part of the factored form may appear part of the factored form may appear as as G + GG + G. In general, . In general, GG is another factored form, is another factored form, and the and the GG’s may have different factored forms.’s may have different factored forms.

Page 26: 1 Multi-Level Logic Synthesis Introduction Outline RepresentationRepresentation –Networks –Nodes Technology Independent OptimizationTechnology Independent

26

Cofactor of Factored FormsCofactor of Factored Forms

The The cofactor of a factored form cofactor of a factored form FF, with , with respect to a cube respect to a cube cc,, is a factored form is a factored form FFCC obtained by successively cofactoring obtained by successively cofactoring FF with each literal in with each literal in cc..

Example:Example: F = (x+y’+z)(x’u+z’y’(v+u’))F = (x+y’+z)(x’u+z’y’(v+u’)) andand c = vz’c = vz’. Then. Then

FFz’ z’ = (x+y’)(x’u+y’(v+u’))= (x+y’)(x’u+y’(v+u’))

FFz’ v z’ v = (x+y’)(x’u+y’)= (x+y’)(x’u+y’)

Page 27: 1 Multi-Level Logic Synthesis Introduction Outline RepresentationRepresentation –Networks –Nodes Technology Independent OptimizationTechnology Independent

27

Factored FormsFactored FormsSOPs forms are used as the internal SOPs forms are used as the internal

representation of logic functions representation of logic functions in most multi-level logic in most multi-level logic optimization systems.optimization systems.

AdvantagesAdvantages• good algorithms for good algorithms for

manipulating them are manipulating them are availableavailable

DisadvantagesDisadvantages• performance is unpredictable - performance is unpredictable -

they may accidentally generate they may accidentally generate a function whose SOP form is a function whose SOP form is too largetoo large

• factoring algorithms have to be factoring algorithms have to be used constantly to provide an used constantly to provide an estimate for the size of the estimate for the size of the Boolean network, and the time Boolean network, and the time spent on factoring may become spent on factoring may become significantsignificant

Possible solutionPossible solution• avoidavoid SOP representation SOP representation

by using factored forms by using factored forms as the internal as the internal representationrepresentation

• this is not practical unless this is not practical unless we know how to perform we know how to perform logic operations logic operations directlydirectly on factored forms without on factored forms without converting to SOP formsconverting to SOP forms

• extensions to factored extensions to factored forms of the most forms of the most common logic operations common logic operations have been partially have been partially provided, but provided, but more more researchresearch is needed is needed

Page 28: 1 Multi-Level Logic Synthesis Introduction Outline RepresentationRepresentation –Networks –Nodes Technology Independent OptimizationTechnology Independent

28

Manipulation of Boolean Manipulation of Boolean NetworksNetworks

Basic Techniques:Basic Techniques:•structural operations structural operations (change topology)(change topology)

– algebraicalgebraic– BooleanBoolean

•node simplification node simplification (change node (change node functions)functions)

– don’t caresdon’t cares– node minimizationnode minimization

Page 29: 1 Multi-Level Logic Synthesis Introduction Outline RepresentationRepresentation –Networks –Nodes Technology Independent OptimizationTechnology Independent

29

End of lecture 8 End of lecture 8

Page 30: 1 Multi-Level Logic Synthesis Introduction Outline RepresentationRepresentation –Networks –Nodes Technology Independent OptimizationTechnology Independent

30

Structural OperationsStructural OperationsRestructuring Problem: Restructuring Problem: Given initial network, find Given initial network, find bestbest network. network.

Example:Example: ff1 1 = abcd+abce+ab’cd’+ab’c’d’+a’c+cdf+abc’d’e’+ab’c’df’= abcd+abce+ab’cd’+ab’c’d’+a’c+cdf+abc’d’e’+ab’c’df’

ff2 2 = bdg+b’dfg+b’d’g+bd’eg= bdg+b’dfg+b’d’g+bd’eg

minimizing,minimizing,

ff1 1 = bcd+bce+b’d’+a’c+cdf+abc’d’e’+ab’c’df’= bcd+bce+b’d’+a’c+cdf+abc’d’e’+ab’c’df’

ff2 2 = bdg+dfg+b’d’g+d’eg= bdg+dfg+b’d’g+d’eg

factoring,factoring,

ff1 1 = c(b(d+e)+b’(d’+f)+a’)+ac’(bd’e’+b’df’)= c(b(d+e)+b’(d’+f)+a’)+ac’(bd’e’+b’df’)

ff2 2 = g(d(b+f)+d’(b’+e))= g(d(b+f)+d’(b’+e))

decompose,decompose,

ff1 1 = c(x+a’)+ac’x’= c(x+a’)+ac’x’

ff22 = gx = gx

x = d(b+f)+d’(b’+e)x = d(b+f)+d’(b’+e)

Two problems:Two problems:• find good find good commoncommon subfunctions subfunctions• effect the effect the divisiondivision

Page 31: 1 Multi-Level Logic Synthesis Introduction Outline RepresentationRepresentation –Networks –Nodes Technology Independent OptimizationTechnology Independent

31

Structural OperationsStructural OperationsBasic Operations:Basic Operations:

1. Decomposition 1. Decomposition (single function)(single function)

f = abc+abd+a’c’d’+b’c’d’f = abc+abd+a’c’d’+b’c’d’

f = xy+x’y’f = xy+x’y’ x = abx = ab y = c+dy = c+d

2. Extraction 2. Extraction (multiple functions)(multiple functions)

f = (az+bz’)cd+e g = (az+bz’)e’ h = cdef = (az+bz’)cd+e g = (az+bz’)e’ h = cde

f = xy+e g = xe’ h = ye x = az+bz’ y f = xy+e g = xe’ h = ye x = az+bz’ y

= cd= cd

3. Factoring 3. Factoring (series-parallel decomposition)(series-parallel decomposition)

f = ac+ad+bc+bd+ef = ac+ad+bc+bd+e

f = (a+b)(c+d)+ef = (a+b)(c+d)+e

Page 32: 1 Multi-Level Logic Synthesis Introduction Outline RepresentationRepresentation –Networks –Nodes Technology Independent OptimizationTechnology Independent

32

Structural OperationsStructural Operations

4. Substitution4. Substitution

g = a+bg = a+b f = a+bcf = a+bc

f = g(a+b)f = g(a+b)

5. Collapsing 5. Collapsing (also called elimination)(also called elimination)

f = ga+g’bf = ga+g’b g = c+dg = c+d

f = ac+ad+bc’d’f = ac+ad+bc’d’ g = c+dg = c+d

Note:Note: “division”“division” plays a key role in all of these plays a key role in all of these

Page 33: 1 Multi-Level Logic Synthesis Introduction Outline RepresentationRepresentation –Networks –Nodes Technology Independent OptimizationTechnology Independent

33

Factoring vs. DecompositionFactoring vs. DecompositionFactoringFactoring f=(e+g’)(d(a+c)f=(e+g’)(d(a+c)+a’b’c’)+b(a+c)+a’b’c’)+b(a+c)

Decomposition:Decomposition: y(b+dx)+xb’y’y(b+dx)+xb’y’

NoteNote:: this is similar to BDD this is similar to BDD collapsing of common nodes and collapsing of common nodes and using negative pointers. But using negative pointers. But notnot canonical, so don’t have perfect canonical, so don’t have perfect identification of common nodes.identification of common nodes.

treetree

DAGDAG

Page 34: 1 Multi-Level Logic Synthesis Introduction Outline RepresentationRepresentation –Networks –Nodes Technology Independent OptimizationTechnology Independent

34

Value of a Node and EliminationValue of a Node and Elimination

where where

nni i = = number of times literalsnumber of times literals yyjj and and yyjj’’ occur in factored form occur in factored form ffii

llj j = = number of literals in factored number of literals in factored ffjj

with factoringwith factoring

without factoringwithout factoring

value value == (without factoring) - (with factoring) (without factoring) - (with factoring)

Can treat Can treat yyjj and and yyjj’’ the same since the same since ( F( Fj j ) = ) = ( F( Fjj’ )’ )..

( )

( ) 1 1 1i ji FO j

value j n l

( )j i

i FO j

l n c

( )j ii FO j

l n c

Page 35: 1 Multi-Level Logic Synthesis Introduction Outline RepresentationRepresentation –Networks –Nodes Technology Independent OptimizationTechnology Independent

35

Literals before = 5+7+5 =Literals before = 5+7+5 =1717

Literals after = 9+15 =Literals after = 9+15 = 24 24

------

77

Value of a Node and EliminationValue of a Node and Elimination

Difference after - before = Difference after - before = valuevalue = 7 = 7

But we may But we may notnot have the same value if we were to eliminate, have the same value if we were to eliminate, simplify and then re-factor.simplify and then re-factor.

xx

( )

1 2 3

( ) 1 1 1

(( ) 1)( 1) 1

(1 2 1)(5 1) 1 7

i ji FO j

value j n l

n n l

Page 36: 1 Multi-Level Logic Synthesis Introduction Outline RepresentationRepresentation –Networks –Nodes Technology Independent OptimizationTechnology Independent

36

Value of a Node and EliminationValue of a Node and Elimination

Note: Note: value of a node can change duringvalue of a node can change duringeliminationelimination