Logic Synthesis

1 / 25

Logic Synthesis - PowerPoint PPT Presentation

Logic Synthesis. Two-Level Minimization I. Quine-McCluskey Procedure (Exact). Given G’ and D (covers for F = (f,d,r) and d), find a minimum cover G of primes where: f  G  f+d (G is a prime cover of F ) Q-M Procedure:

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

PowerPoint Slideshow about 'Logic Synthesis' - lelia

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Logic Synthesis

Two-Level Minimization I

Quine-McCluskey Procedure (Exact)

Given G’ and D (covers for F = (f,d,r) and d), find a minimum cover G of primes where:

f  G  f+d

(G is a prime cover of F )

Q-M Procedure:

1. Generate all the primes of F , {Pj} (i.e. primes of (f+d)=G’+D)

2. Generate all the minterms of f=G’D, {mi}

3. Build Boolean matrix B where

Bij = 1 if mi Pj

= 0 otherwise

4. Solve the minimum column covering problem for B (unate covering problem)

Difficulty

Note:Can be

• ~ 2n minterms
• ~ 3n/n primes

Thus O(2n) rows and O(3n/n ) columns AND minimum covering problem is NP-complete. (Hence can probably be double exponential in size of input, i.e. difficulty is O(23n)

primes

3n/n

0

1

minterms

2n

0

0

0

1

y

w

xz

xyzw

xyzw

xyzw

xyzw

Example

Primes: y + w + xz

Covering Table

Solution: {1,2} y + w is minimum prime

cover. (also w+ xz)

xz

y

xy

xy

xy

xy

zw

w

Karnaugh map

zw

zw

zw

y

w

xz

xyzw

xyzw

xyzw

xyzw

Covering Table

Primes of f+d

Definition: An essential prime is any prime that uniquely covers a minterm of f.

Minterms of f

Row singleton

(essential minterm)

Essential prime

Covering Table

Row Equality:

In practice, many rows are identical. That is there exist minterms that are contained in the same set of primes.

m1 0101101

m2 0101101

Any row can be associated with a cube -- called the signature cube.

e.g. m1 m2  P2P4P5P7

Row and Column Dominance

Definition:A row i1 whose set of primes is contained in the set of primes of row i2 is said to dominate i2.

Example:

i1 011010

i2 011110

i1 dominates i2

We can remove row i2, because we have to choose a prime to cover i1, and any such prime also covers i2. So i2 is automatically covered.

Row and Column Dominance

Definition:A column j1 whose rows are a superset of another column j2 is said to dominate j2.

Example:

j1 dominates j2

We can remove column j2 since j1 covers all those rows and more. We would never choose j2 in a minimum cover since it can always be replaced by j1.

j1 j2

1 0

0 0

1 1

0 0

1 1

Pruning the Covering Table

1. Remove all rows covered by essential primes (columns in row singletons). Put these primes in the cover G.

2. Group identical rows together and remove dominated rows.

3. Remove dominated columns. For equal columns, keep one prime to represent them.

4. Newly formed row singletons define n-ary essential primes.

5. Go to 1 if covering table decreased.

The resulting reduced covering table is called the cyclic core. This has to

be solved (unate covering problem). A minimum solution is added to G -

the set of n-ary essential primes. The resulting G is a minimum cover.

Example

Essential Prime and

Column Dominance

G=P1

n-ary Essential Prime

and

Column Dominance

G=P1 + P3

Row dominance

Cyclic

Core

Solving the Cyclic Core

Best known method (for unate covering) is branch and bound with some

clever bounding heuristics.

Independent Set Heuristic:

Find a maximum set of “independent” rows I. Two rows Bi1 ,Bi2 are independent if j such that Bi1j =Bi2j=1. (They have no column in common)

Example: Covering matrix B rearranged with independent sets first.

1

1

1

Independent set = I

of rows

B=

0

1

1

1

1

1

1

C

A

Solving the Cyclic Core

Lemma:

|Solution of Covering|  |I|

1

1

1

0

1

1

1

1

1

1

C

A

1

1

1

0

1

1

1

1

1

1

C

A

Heuristic

Let I={I1, I2, …, Ik} be the independent set of rows

• choose j  Ii which covers the most rows of A. Put j  J
• eliminate all rows covered by column j
• I  I\{Ii}
• go to 1 if |I|  0
• If B is empty, then done (in this case we have the guaranteed minimum solution -IMPORTANT)
• If B is not empty, choose an independent set of B and go to 1

w’ x’ y’ 

w’ x’ z’ 

x’ y’ z’ 

x’ y’ z 

x’ y z’ 

w x’ y’ 

w x’ z’ 

w y’ z

w y z’

w x y

w x z

w’ x’ y’ z’ 

w’ x’ y’ z 

w’ x’ y z’ 

w x’ y’ z’ 

w x’ y’ z 

w x’ y z’ 

w x y z’ 

w x y’ z 

w x y z 

x’ y’

x’ z’

Generating Primes - single output func.

Tabular method

(based on consensus operation):

• Group pairs of adjacent minterms into cubes
• Repeat merging cubes until no more merging possible; mark () + remove all covered cubes.
• Result: set of primes of f.

Example:

F= x’ y’ + w x y + x’ y z’ + w y’ z

F= x’ y’ + w x y + x’ y z’ + w y’ z

Courtesy: Maciej Ciesielski, UMASS

x y z

0 – 0

0 1 1

1 – 1

f1 f2

0 1

1 1

1 0

f2

011

111

f1

011

111

010

010

101

101

010

110

010

110

000

100

x y z

0 – 0

0 1 –

– 1 1

1 – 1

f1 f2

0 1

0 1

1 0

1 0

000

100

y

x

z

Can also represent it as:

Generating Primes – multiple outputs
• Procedure similar to single-output function, except:
• include also the primes of the products of individual functions

Example:

x y z

0 – 0

0 1 1

1 – 1

f1 f2

0 1

1 1

1 0

000 | 01 

010 | 01 

011|11

101 | 10 

111 | 10 

0 – 0|01

0 1–|01

– 1 1|10

1 – 1|10

f2

f1

011

111

011

111

010

010

101

101

010

010

110

110

000

100

000

100

Generating Primes - example
• Modification (w.r.t single output function):
• When two adjacent implicants are merged, the output parts are intersected

There are five primes listed for

this two-output function.

- What is the min cover ?

p1 p2 p3 p4 p5

000 | 01

010 | 01

011 | 01

011 | 10

101 | 10

111 | 10

0 1 0 0 0

0 1 1 0 0

1 0 1 0 0

1 0 0 1 0

0 0 0 0 1

0 0 0 1 1

listed twice

f1

f2

011

111

011

111

010

010

101

101

010

010

110

110

000

100

000

100

Minimize multiple-output cover - example
• List multiple-output primes
• Create a covering table, solve

p1 = 0 1 1 | 11

p2 = 0 – 0 | 01

p3 = 0 1 – | 01

p4 = – 1 1 | 10

p5 = 1 – 1 | 10

Min cover has 3 primes:

F = { p1, p2, p5 }

Generating Primes

We use the unate recursive paradigm. The following is how the merge step

is done. (Assumption: we have just generated all primes of

and .)

Theorem: p is a prime of f iff p is maximal among the set consisting of

• P = xiq, q is a prime of ,
• P = xir, r is a prime of ,
• P = qr, q is a prime of , r is a prime of
Generating Primes

Example: Assume q = abc is a prime of .

Form p=xiabc. Suppose r=ab is a prime of .

Then is an implicant of f

Thus abc and xiab are implicants, so xiabc is not prime.

Note: abc is prime because if not, ab  fx(or ac or bc) contradicting abc prime of

Note: xiab is prime, since if not then either ab  f or xia  f . The first contradicts abc prime of and the second contradicts ab prime of

Quine-McCluskey Summary

Q-M:

1. Generate cover of all primes2. Make G irredundant (in optimum way)

Note: Q-M is exact i.e. it gives an exact minimum

Heuristic Methods:

• Generate (somehow) a cover of  using some of the primes
• Make G irredundant (maybe not optimally)
• Keep best result - try again (i.e. go to 1)
Generalized Cofactor

Definition: Let f, g be completely specified functions. The generalized cofactor of f with respect to g is the incompletely specified function:

Definition: Let  = (f, d, r) and g be given. Then

Relation with Shannon Cofactor

• Let g=xi . Shannon cofactor is
• Generalized cofactor with respect to g=xi is
• Note that

In fact fxi is the unique cover of co(f, xi )independent of the variable xi .

Shannon Cofactor

on

off

Don’t care

Properties of Generalized Cofactor

Shannon Cofactor

Generalized Cofactor

We will get back to use of generalized cofactor later