0 views

Uploaded by ammayi9845_930467904

good one

save

- Assignment 3 Solutions
- Presuppositions 2008-10-08
- Add Maths Times 2008 [Edu.joshuatly.com]
- CAT 2009 Quant Test 32
- IJSCMC
- TEXAS NINTH GRADE STTAR/EOC TEST PREPARATION SOLVING MULTISTEP EQUATIONS
- Math 8 First PT (Blue)
- j. p. Lasalle - Paper Original - An Invariance Principle in the Theory of Stability(1966)
- Basic Set Theory
- IJSCMC
- Permutation and Probability
- Said Mch
- Lecture 25
- MHF4U Exponential and Logarithmic Test
- Reasoning Shortcut Tricks_Part3
- Sequences and Series
- Math - 3.1 - Model Seperating
- Holt Algebra 1_Chapter 12_Quiz 3
- integratedlessonplancox1
- Maths Internal Assessment Type 2 Modeling a Functional Building
- ITS Master 11408 Bibliography
- grade 10 review
- solving inequalitites by multiplying and dividing
- noaxiomnodeduction
- SQC_03
- GRE
- Math
- Fulltext
- SigYang04 s
- Diagrammatic
- 2
- 1
- s2
- Scr
- s5
- 1
- 08f03-carrysel
- s1
- 1
- s3
- Sug Nesh
- tutoral2
- 2
- s4
- Cos
- llcomp
- 1a
- Maya
- xmatchpro64
- 3
- Synopsis
- 5G(2)
- Swami Proj. Proposal
- New Proj.synopsis
- 2
- Swami New Proj.proposal
- xmatc
- Comp Animation
- 1
- 2a

You are on page 1of 31

**FOR LOGIC OPTIMIZATION
**

c Giovanni De Micheli

Stanford University

Outline

c GDM

• Review of Boolean algebra.

• Representations of logic functions.

• Matrix representations of covers.

• Operations on logic covers.

Background

c GDM

• Function f(x

1

, x

2

, . . . , x

i

, . . . , x

n

).

• Cofactor of f with respect to variable x

i

:

– f

x

i

≡ f(x

1

, x

2

, . . . , 1, . . . , x

n

).

• Cofactor of f with respect to variable x

i

:

– f

x

i

≡ f(x

1

, x

2

, . . . , 0, . . . , x

n

).

• Boole’s expansion theorem:

– f(x

1

, x

2

, . . . , x

i

, . . . , x

n

) = x

i

·f

x

i

+x

i

·f

x

i

Example

c GDM

• Function:f = ab +bc +ac

• Cofactors:

– f

a

= b +c

– f

a

= bc

• Expansion:

– f = af

a

+a

f

a

= a(b +c) +a

bc

Background

c GDM

• Function f(x

1

, x

2

, . . . , x

i

, . . . , x

n

).

• Positive unate in x

i

when:

– f

x

i

≥ f

x

i

• Negative unate in x

i

when:

– f

x

i

≤ f

x

i

• A function is positive/negative unate when

positive/negative unate in all its variables.

Background

c GDM

• Function f(x

1

, x

2

, . . . , x

i

, . . . , x

n

).

• Boolean diﬀerence of f w.r.t. variable x

i

:

– ∂f/∂x

i

≡ f

x

i

⊕ f

x

i

.

• Consensus of f w. r. to variable x

i

:

– C

x

i

≡ f

x

i

· f

x

i

.

• Smoothing of f w. r. to variable x

i

:

– S

x

i

≡ f

x

i

+f

x

i

.

Example

f = ab +bc +ac

c GDM

(a)

(b)

(c) (d)

a

b

c

• The Boolean diﬀerence ∂f/∂a = f

a

⊕f

a

= b

c +bc

.

• The consensus C

a

= f

a

· f

a

= bc.

• The smoothing S

a

= f

a

+f

a

= b +c.

Generalized expansion

c GDM

• Given:

– A Boolean function f.

– Orthonormal set of functions:

φ

i

, i = 1, 2, . . . , k.

• Then:

– f =

k

i

φ

i

· f

φ

i

– Where f

φ

i

is a generalized cofactor.

• The generalized cofactor is not unique,

but satisﬁes:

– f · φ

i

⊆ f

φ

i

⊆ f +φ

i

Example

c GDM

• Function f = ab +bc +ac.

• Basis: φ

1

= ab and φ

2

= a

+b

.

• Bounds:

– ab ⊆ f

φ

1

⊆ 1

– a

bc +ab

c ⊆ f

φ

2

⊆ ab +bc +ac.

• Cofactors: f

φ

1

= 1 and f

φ

2

= a

bc +ab

c.

f = φ

1

f

φ

1

+φ

2

f

φ

2

= ab1 +(a

+b

)(a

bc +ab

c)

= ab +bc +ac

Generalized expansion theorem

c GDM

• Given:

– Two functions f and g.

– Orthonormal set of functions:

φ

i

, i = 1, 2, . . . , k.

– Boolean operator .

• Then:

– f g =

k

i

φ

i

· (f

φ

i

g

φ

i

)

• Corollary:

– f g = x

i

· (f

x

i

g

x

i

) +x

i

· (f

x

i

g

x

i

)

Matrix representations of logic covers

c GDM

• Used in logic minimizers.

• Diﬀerent formats.

• Usually one row per implicant.

• Symbols: 0,1,*. (and other)

The positional cube notation

c GDM

• Encoding scheme:

∅ 00

0 10

1 01

∗ 11

• Operations:

– Intersection – AND

– Union – OR

Example

f = a

d

+a

b +ab

+ac

d

c GDM

10 11 11 10

10 01 11 11

01 10 11 11

01 11 10 01

Cofactor computation

c GDM

• Cofactor of α w.r. to β.

– Void when α does not intersect β.

– a

1

+b

1

a

2

+b

2

. . . a

n

+b

n

• Cofactor of a set C = {γ

i

} w.r. to β:

– Set of cofactors of γ

i

w.r. to β.

Example

f = a

b

+ab

c GDM

10 10

01 01

• Cofactor w.r. to 01 11:

– First row – void.

– Second row – 11 01 .

• Cofactor f

a

= b

Multiple-valued-input functions

c GDM

• Input variables can have many values.

• Representations:

– Literals: set of valid values.

– Sum of products of literals.

• Extension of positional cube notation.

• Key fact:

– Multiple-output binary-valued functions

represented as mvi single-output functions.

Example

c GDM

• 2-input, 3-output function:

– f

1

= a

b

+ab

– f

2

= ab

– f

3

= ab

+a

b

• Mvi representation:

10 10 100

10 01 001

01 10 001

01 01 110

Operations on logic covers

c GDM

• Recursive paradigm:

– Expand about a mv-variable.

– Apply operation to cofactors.

– Merge results.

• Unate heuristics:

– Operations on unate functions are simpler.

– Select variables so that

cofactors become unate functions.

Tautology

c GDM

• Check if a function is always TRUE.

• Recursive paradigm:

– Expand about a mv-variable.

– If all cofactors are TRUE

then function is a tautology.

• Unate heuristics:

– If cofactors are unate functions

additional criteria to determine tautology.

– Faster decision.

Recursive tautology

c GDM

• TAUTOLOGY: the cover has a row of all 1s.

(Tautology cube).

• NO TAUT.: the cover has a column of 0s.

(A variable that never takes a value).

• TAUTOLOGY:

the cover depends on one variable,

and there is no column of 0s in that ﬁeld.

• When a cover is the union of two subcovers,

that depend on disoint subsets of variables,

then check tautology in both subcovers.

Example

f = ab +ac +ab

c

+a

a

b

c

a’

ac

ab

bc

ab’c’

c GDM

01 01 11

01 11 01

01 10 10

10 11 11

• Select variable a.

• Cofactor w.r.to a

is 11 11 11 – Tautology.

• Cofactor w.r.to a is:

11 01 11

11 11 01

11 10 10

Example

c GDM

11 01 11

11 11 01

11 10 10

• Select variable b.

• Cofactor w.r.to b

is:

11 11 01

11 11 10

• No column of 0 – Tautology.

• Cofactor w.r.to b is: 11 11 11.

• Function is a TAUTOLOGY.

Containment

c GDM

• Theorem:

– A cover F contains an implicant α

iﬀ F

α

is a tautology.

• Consequence:

– Containment can be veriﬁed by the

tautology algorithm.

Example

f = ab +ac +a

a

b

c

a’

ac

ab

bc

c GDM

• Check covering of bc – C(bc) = 11 01 01.

• Take the cofactor:

01 11 11

01 11 11

10 11 11

• Tautology – bc is contained by f.

Complementation

c GDM

• Recursive paradigm:

– f

= x · f

x

+x

· f

x

• Steps:

– Select variable.

– Compute cofactors.

– Complement cofactors.

• Recur until cofactors can be complemented

in a straightforward way.

Termination rules

c GDM

• The cover F is void.

Hence its complement is the universal cube.

• The cover F has a row of 1s.

Hence F is a tautology and its complement is void.

• The cover F consists of one implicant.

Hence the complement is computed by

De Morgan’s law.

• All the implicants of F depend on a single variable,

and there is not a column of 0s.

The function is a tautology, and its complement

is void.

Unate functions

c GDM

• Theorem:

– If f be positive unate: f

= f

x

+x

· f

x

.

– If f be negative unate: f

= x· f

x

+f

x

.

• Consequence:

– Complement computation is simpler.

– One branch to follow in the recursion.

• Heuristic:

– Select variables to make the cofactors

unate.

Example

f = ab +ac +a

a

b

c

a’

ac

ab

ab’c’

c GDM

• Select binate variable a

.

• Compute cofactors:

– F

a

is a tautology, hence F

a

is void.

– F

a

yields:

11 01 11

11 11 01

Example (2)

c GDM

• Select unate variable b.

• Compute cofactors:

– F

ab

is a tautology, hence F

ab

is void.

– F

ab

= 11 11 01 and its complement is

11 11 10.

• Re-construct complement:

– 11 11 10 intersected with C(b

) = 11 10 11

yields 11 10 10.

– 11 10 10 intersected with C(a) = 01 11 11

yields 01 10 10.

• Complement: F

= 01 10 10.

Example (3)

c GDM

a’ a

b’ b

F = TAUT

a’

RECURSIVE SEARCH

COMP =

φ

F = TAUT

ab’

COMP =

φ

ab

F = c

COMP =

c’

Summary

c GDM

• Matrix oriented representation:

– Used in two-level logic minimizer.

– May be wasteful of space (sparsity).

– Good heuristics tied to this representation.

• Eﬃcient Boolean manipulation exploits

recursion.

- Assignment 3 SolutionsUploaded byAndrianMelmamBesy
- Presuppositions 2008-10-08Uploaded byX.Y. Newberry
- Add Maths Times 2008 [Edu.joshuatly.com]Uploaded byArien Min
- CAT 2009 Quant Test 32Uploaded bycomplore
- IJSCMCUploaded byijscmc
- TEXAS NINTH GRADE STTAR/EOC TEST PREPARATION SOLVING MULTISTEP EQUATIONSUploaded bygebramath
- Math 8 First PT (Blue)Uploaded byPeter Je Dilao
- j. p. Lasalle - Paper Original - An Invariance Principle in the Theory of Stability(1966)Uploaded byRuben Hdz
- Basic Set TheoryUploaded byquangbk90
- IJSCMCUploaded byijscmc
- Permutation and ProbabilityUploaded bysonusk777
- Said MchUploaded bysfofoby
- Lecture 25Uploaded byDanilo Crespo
- MHF4U Exponential and Logarithmic TestUploaded byjobspackaging
- Reasoning Shortcut Tricks_Part3Uploaded byKaushalSingh
- Sequences and SeriesUploaded byJack Lupino
- Math - 3.1 - Model SeperatingUploaded bytbolanz
- Holt Algebra 1_Chapter 12_Quiz 3Uploaded byStanley
- integratedlessonplancox1Uploaded byapi-297457864
- Maths Internal Assessment Type 2 Modeling a Functional BuildingUploaded byJoseph Crawley
- ITS Master 11408 BibliographyUploaded byMeysam Khoram
- grade 10 reviewUploaded byapi-271045051
- solving inequalitites by multiplying and dividingUploaded byapi-397066792
- noaxiomnodeductionUploaded byapi-296071448
- SQC_03Uploaded byabidafifa
- GREUploaded byI'm a moron.
- MathUploaded bymetalover36
- FulltextUploaded byzhoushanyang
- SigYang04 sUploaded byHarshali Mane
- DiagrammaticUploaded byapi-3850829

- 2Uploaded byammayi9845_930467904
- 1Uploaded byammayi9845_930467904
- s2Uploaded byammayi9845_930467904
- ScrUploaded byammayi9845_930467904
- s5Uploaded byammayi9845_930467904
- 1Uploaded byammayi9845_930467904
- 08f03-carryselUploaded byammayi9845_930467904
- s1Uploaded byammayi9845_930467904
- 1Uploaded byammayi9845_930467904
- s3Uploaded byammayi9845_930467904
- Sug NeshUploaded byammayi9845_930467904
- tutoral2Uploaded byammayi9845_930467904
- 2Uploaded byammayi9845_930467904
- s4Uploaded byammayi9845_930467904
- CosUploaded byammayi9845_930467904
- llcompUploaded byammayi9845_930467904
- 1aUploaded byammayi9845_930467904
- MayaUploaded byammayi9845_930467904
- xmatchpro64Uploaded byammayi9845_930467904
- 3Uploaded byammayi9845_930467904
- SynopsisUploaded byammayi9845_930467904
- 5G(2)Uploaded byammayi9845_930467904
- Swami Proj. ProposalUploaded byammayi9845_930467904
- New Proj.synopsisUploaded byammayi9845_930467904
- 2Uploaded byammayi9845_930467904
- Swami New Proj.proposalUploaded byammayi9845_930467904
- xmatcUploaded byammayi9845_930467904
- Comp AnimationUploaded byammayi9845_930467904
- 1Uploaded byammayi9845_930467904
- 2aUploaded byammayi9845_930467904