Top Banner
Weikang Qian
29

Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.

Jan 05, 2016

Download

Documents

Ralph Cannon
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.

Weikang Qian

Page 2: Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.

OutlineIntersection Pattern and the ProblemMotivationSolution

2

Page 3: Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.

Intersection Pattern of CubesSum-of-product Boolean function: A set of

cubesExample:

Notation V( f ): number of minterms covered by f

Intersection pattern: numbers of minterms covered by the intersections of all subsets of cubes

3

Page 4: Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.

Example of Intersection Pattern

4

3 cubes on 4 variables

Intersection pattern depends on the total number of variables!

Page 5: Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.

Reverse ProblemGiven the number of variables and an

intersection pattern, synthesize cubes to satisfy that pattern

5

Example: Synthesize 3 cubes on 4 variables so that

Sol.: One solution is

Page 6: Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.

Reverse problem (cont.)Sometimes, these is no solution!

6

Example: Synthesize 2 cubes on 4 variables so that

Sol.: No solution! Why?

00 01 11 10

00

01

11

10

x0x1

x2x3

1 1

1 1

1 1

1 1

c0

No way to put the rectangle of 4 ones so the intersection has 1 minterms!

Page 7: Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.

OutlineIntersection Pattern and the ProblemMotivationSolution

7

Page 8: Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.

Why Intersection Pattern?Probabilistic computation

Digital circuit operating on random bit streamsTransform probabilities into probabilities

ApplicationIn test: Weighted random pattern generationHardware implementation of probabilistic

algorithms8

AND

xy z

P(x = 1) = 0.4

P(z = 1) = 0.2P(y = 1) = 0.5

0,1,0,1,0,0,1,1,0,0

1,0,1,1,0,0,1,0,0,1

0,0,0,1,0,0,1,0,0,0

Page 9: Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.

A Fundamental Synthesis Problem

9

Independent Combinational

Logic

0.5

0.5

0.5

0.5

q

?

Page 10: Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.

Output Probability: AnalysisIf the number of inputs is n, then q = m/2n

Each input combination has probability 1/2n

If the Boolean function has m minterms, then q = m/2n

10

5 mintermsq = 5/8

Page 11: Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.

Output Probability: SynthesisImplement m/2n

Choose m mintermsBut, which m minterms to choose?

11

Example: q = 7/16

00 01 11 10

00

01

11

10

x0x1

x2x3

1 1

1 1

1 1 1

00 01 11 10

00

01

11

10

x0x1

x2x3

1 1

1 1 1

1 1

Page 12: Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.

Two Level Logic Synthesis ProblemGiven number of inputs n and m, find a SOP

Boolean function with minimum cubes to cover m minterms.

12

Optimization Flow

λ = Lower bound on the number of cubes to cover m

minterms

Exist λ cubes to cover m interms?

endY

λ = λ + 1

N Related

Page 13: Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.

Exist λ cubes to cover m miterms?Step 1: Construct an intersection pattern so

that it covers m minterms by Inclusion-Exclusion Principle:

Step 2: Synthesize cubes to satisfy the intersection pattern (Focus of this work)

13

Page 14: Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.

OutlineIntersection Pattern and the ProblemMotivationSolution

14

Page 15: Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.

PreliminariesLiterals: If cube c has k literals, then V(c) = 2n − k

Empty cube: c = 0, V(c) = 0For a cube c,

15

Page 16: Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.

Cube-Variable Matrix Dλ rows, each corresponding to a cuben columns, each corresponding to a variable

16

Example:

If a row vector has k *’s, V(c) = 2k

Synthesis a cube-variable matrix to satisfy theintersection pattern

V(c) = 2

Page 17: Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.

PropertiesNegation

Column negation and column permutation of matrix maintain the intersection pattern.

17

exchangecolumn 1 & 2

negatecolumn 1

Same pattern:

Page 18: Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.

Key Ideas of SolutionDetermine what each column should beEach column has 3λ candidate choices:

Only need to consider a subset of candidate choicesFor example, by column negation invariability,

choice equivalent to choice Column permutation invariability: position does

not matter; only number of occurrence of each candidate choice in cube-variable matrix matters

18

Page 19: Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.

A Special CaseA case where all-cube intersection is non-

emptyCandidate choices: those columns that do not

contain both a 0 and a 1

Further reduction on candidate choices: only consider columns without 0’s

19

XIntersection Empty!}

By column negationinvariability:

Replaced by

Page 20: Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.

Special Case: Illustration with λ = 3Candidate choices:

Number of occurrences in cube-variable matrix matters

Set equations between unknowns and knowns

20

y0 y1 y2 y3 y4 y5 y6 y7unknowns:

knowns: n, V(c0), V(c1), V(c0c1), V(c2), V(c0c2), V(c1c2), V(c0c1c2)

c0

c1

c2

Page 21: Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.

Set up Equations

21

knowns: n, V(c0), V(c1), V(c0c1), V(c2), V(c0c2), V(c1c2), V(c0c1c2)

y0 y1 y2 y3 y4 y5 y6 y7unknowns:

c0

c1

c2

Equation on n

Equation on V(c0)• If a row vector of c has k *’s, V(c) = 2k

• Relates to total number of columns with first entry *

y0 + y1 + y2 + y3 + y4 + y5 + y6 + y7 = n

Each column belongs to one of the candidate choices

y1 + y3 + y5 + y7 = k1 = log2V(c0)

y2 + y3 + y6 + y7 = log2V(c1)Equation on V(c1)

y4 + y5 + y6 + y7 = log2V(c2)Equation on V(c2)

Page 22: Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.

Set up Equations (cont.)

22

knowns: n, V(c0), V(c1), V(c0c1), V(c2), V(c0c2), V(c1c2), V(c0c1c2)

y0 y1 y2 y3 y4 y5 y6 y7unknowns:

c0

c1

c2

Equation on V(c0c1)

• If a row vector of c has k *’s, V(c) = 2k

• Relates to total number of columns with 1st and 2nd entry both *

c0

c1

c2

c0c1

contribute to * in c0c1

y3 + y7 = k3 = log2V(c0c1)

Equation on V(c0c2)

y5 + y7 = log2V(c0c2)

Equation on V(c1c2)

y6 + y7 = log2V(c1c2)

Page 23: Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.

Set up Equations (cont.)

23

knowns: n, V(c0), V(c1), V(c0c1), V(c2), V(c0c2), V(c1c2), V(c0c1c2)

y0 y1 y2 y3 y4 y5 y6 y7unknowns:

c0

c1

c2

Equation on V(c0c1c2)• Relates to total number of columns with 1st, 2nd, and 3rd entry all *

y7 = log2V(c0c1c2)

Page 24: Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.

System of Linear Equations

24

y0 + y1 + y2 + y3 + y4 + y5 + y6 + y7 = n = k0

y1 + y3 + y5 + y7 = log2V(c0) = k1

y2 + y3 + y6 + y7 = log2V(c1) = k2

y4 + y5 + y6 + y7 = log2V(c2) = k4

y3 + y7 = log2V(c0c1) = k3

y5 + y7 = log2V(c0c2) = k5

y6 + y7 = log2V(c1c2) = k6

y7 = log2V(c0c1c2) = k7

Matrix form

Solution

Page 25: Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.

Solution of the Special CaseSolutionIf all entries of are non-negative, then we

find one set of cubes satisfying the intersection pattern

Otherwise, there is no set of cubes satisfying the intersection pattern

25

Page 26: Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.

Example of Special Case

26

Synthesize 3 cubes on 5 variables so that V(c0) = V(c1) = 16, V(c0c1) = V(c2) = 8, V(c0c2) = V(c1c2) = 4, V(c0c1c2) = 2

Sol.:

y0 y1 y2 y3 y4 y5 y6 y7

Cube-variable matrix

Page 27: Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.

General CasesCases where all-cube intersection could be

emptySame ideas

Reduce candidate choicesTake numbers of occurrences as unknowns Set up equations between unknowns and

knownsA system of linear equalities and inequalities

27

Page 28: Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.

ConclusionProblem: Synthesize a set of cubes to satisfy

a given intersection patternImportant step in the two-level logic

synthesis for probabilistic computationSolution: Determine the number of

occurrences of each candidate choiceFuture work: integrate into the optimization

problem

28

Page 29: Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.

Thank You!

29