The Synthesis of Cyclic Combinational Circuits Marc D.Riedel, Jehoshua Bruck California Institute of...

24
The Synthesis of Cyclic Combinational Circuits Marc D.Riedel , Jehoshua Bruck California Institute of Technology Presenter : Chi-Yun Cheng

description

Introduction  LED Display

Transcript of The Synthesis of Cyclic Combinational Circuits Marc D.Riedel, Jehoshua Bruck California Institute of...

Page 1: The Synthesis of Cyclic Combinational Circuits Marc D.Riedel, Jehoshua Bruck California Institute of Technology Presenter : Chi-Yun Cheng.

The Synthesis of Cyclic Combinational Circuits

Marc D.Riedel , Jehoshua BruckCalifornia Institute of TechnologyPresenter : Chi-Yun Cheng

Page 2: The Synthesis of Cyclic Combinational Circuits Marc D.Riedel, Jehoshua Bruck California Institute of Technology Presenter : Chi-Yun Cheng.

Introduction 7-segment display decoder There are 4 PIs and 7 POs

x3 x2 x1 x0 Digit

0 0 0 0 0 0 0 0 1 1 0 0 1 0 2 0 0 1 1 3 0 1 0 0 4 0 1 0 1 5 0 1 1 0 6 0 1 1 1 7 1 0 0 0 8 1 0 0 1 9

a

b

c

d

e

f

g

Page 3: The Synthesis of Cyclic Combinational Circuits Marc D.Riedel, Jehoshua Bruck California Institute of Technology Presenter : Chi-Yun Cheng.

Introduction LED Display

Page 4: The Synthesis of Cyclic Combinational Circuits Marc D.Riedel, Jehoshua Bruck California Institute of Technology Presenter : Chi-Yun Cheng.

Introduction The display of “e” should be light up at “0” “2” “3” “5” “6” “8” . So the original PO : e = x0’ x1’ x2’ x3’ + x0’ x1 x2’ x3’+ x0 x1 x2’ x3’ + x0 x1’ x2 x3’ + x0’ x1 x2 x3’ + x0’ x1’ x2’ x3

x3 x2 x1 x0 Digit

0 0 0 0 0 0 0 0 1 1 0 0 1 0 2 0 0 1 1 3 0 1 0 0 4 0 1 0 1 5 0 1 1 0 6 0 1 1 1 7 1 0 0 0 8 1 0 0 1 9

Page 5: The Synthesis of Cyclic Combinational Circuits Marc D.Riedel, Jehoshua Bruck California Institute of Technology Presenter : Chi-Yun Cheng.

Introduction Cyclic Network (These outputs are synthesized)

a = x0’ x3’ c + x1’ cb = x0’ (x1’ x2’ + x1 x3’)c = x0 x2’ x3’ + x2’ (x1’ x3 + e)d = x1 x2’ x3’ + a (x2 + x3)e = x0 x3’ d + bf = x2’ c + x3’ e’g = x0 x3’ + a

g

ab

c

de

f

Page 6: The Synthesis of Cyclic Combinational Circuits Marc D.Riedel, Jehoshua Bruck California Institute of Technology Presenter : Chi-Yun Cheng.

Introduction With x3 = 0 , x2 = 0 , x1 = 0 , x0 = 1

a = c = 0b = 0c = e = 0d = 0e = b + d = 0f = e’ + c = 1g = 1

b d

e

c

a f

a

b

c

d

e

f

g

Page 7: The Synthesis of Cyclic Combinational Circuits Marc D.Riedel, Jehoshua Bruck California Institute of Technology Presenter : Chi-Yun Cheng.

Definition Target function : The original PO (Composed by boolean input

variables) Ex: b = x0’ x1’ x2’ x3’ + x0’ x1 x2’ x3’+ x0’ x1’ x2 x3’ + x0’ x1’

x2’ x3

In the network , f = x2’ c + x3’ e’

f is node function , c , e are internal variables

g

ab

c

de

f

Page 8: The Synthesis of Cyclic Combinational Circuits Marc D.Riedel, Jehoshua Bruck California Institute of Technology Presenter : Chi-Yun Cheng.

Synthesis The goal is to construct a network that computes

target functions with the cost as low as possible .

The operation we use is Substitution .

Using target functions to represent each othere = x0 x3’ d + b

e = x0’ x1’ x2’ x3’ + x0’ x1 x2’ x3’ + x0 x1 x2’ x3’ + x0 x1’ x2 x3’ + x0’ x1 x2 x3’ + x0’ x1’ x2’ x3

Page 9: The Synthesis of Cyclic Combinational Circuits Marc D.Riedel, Jehoshua Bruck California Institute of Technology Presenter : Chi-Yun Cheng.

Synthesisf1 = x1’ x2 x3’ + x2’ (x1 + x3)

f2 = x1’ x2’ x3’ + x1 (x2 + x3)

f3 = x3’ (x1’ + x2’) + x1’ x2’Substitution f3 into f1 we got f1 = f3(x1+x2)+x2’x3

Substitution f3 into f2 we got f2 = x1’ x2’ x3’ + x1 f3’

Substitution f2 and f3 into f1 we got f1 = x2’x3 + f2’f3

Page 10: The Synthesis of Cyclic Combinational Circuits Marc D.Riedel, Jehoshua Bruck California Institute of Technology Presenter : Chi-Yun Cheng.

Synthesis Each target function can try substituting

different sets of functions .

For f1 , it can be substitution by : ( none , [f2] , [f3] , [f2+f3] ) = > 4 ways to substitution .

f1 = x1’ x2 x3’ + x2’ (x1 + x3)

f1 = f3 (x1 + x2) + x2’ x3

f1 = x2’ x3 + f2’ f3

Page 11: The Synthesis of Cyclic Combinational Circuits Marc D.Riedel, Jehoshua Bruck California Institute of Technology Presenter : Chi-Yun Cheng.

Synthesis• Different substitution sets cause different cost .

f1 = x1’ x2 x3’ + x2’ (x1 + x3) => cost 6

f1 = f3 (x1 + x2) + x2’ x3 => cost 5

f1 = x2’ x3 + f2’ f3 => cost 4• In general , augmenting the set of functions available for substitution , makes the cost unchanged or lower.

Page 12: The Synthesis of Cyclic Combinational Circuits Marc D.Riedel, Jehoshua Bruck California Institute of Technology Presenter : Chi-Yun Cheng.

Algorithm The goal is to select a choice of node

functions that minimize the cost and make the whole circuit combinational.

With n nodes , there are 2n-1 substitutional sets of for each node . The total possibilities is n‧ 2n-1.

It’s evidently intractable search all the conditions,

so we use branch-and-bound approach .

Page 13: The Synthesis of Cyclic Combinational Circuits Marc D.Riedel, Jehoshua Bruck California Institute of Technology Presenter : Chi-Yun Cheng.

The “Break-Down” Approach A branch terminates when it hits a

combinational solution. Begins with a densely connected network. As edges are excluded in the process , the

cost of the network remains the same or increase .

Page 14: The Synthesis of Cyclic Combinational Circuits Marc D.Riedel, Jehoshua Bruck California Institute of Technology Presenter : Chi-Yun Cheng.

The “Break-Down” Approach Analyze the current branch. If it’s combinational ,

add it to the solution list. Otherwise , select a set of edges to exclude.

It’s not combinational

Select edge f1←f2 Select edge f2→f3

Page 15: The Synthesis of Cyclic Combinational Circuits Marc D.Riedel, Jehoshua Bruck California Institute of Technology Presenter : Chi-Yun Cheng.

The “Break-Down” Approach For each edge in the set , create a new branch for a

new node expression If the cost of the new branch equals or exceeds that

of a solution found , kill the branch .

Page 16: The Synthesis of Cyclic Combinational Circuits Marc D.Riedel, Jehoshua Bruck California Institute of Technology Presenter : Chi-Yun Cheng.

The “Break-Down” Approach Mark the current branch as “explored” Set the current branch to be the lowest cost

unexplored branch

← Current branch

Explored

← Current branch

Page 17: The Synthesis of Cyclic Combinational Circuits Marc D.Riedel, Jehoshua Bruck California Institute of Technology Presenter : Chi-Yun Cheng.
Page 18: The Synthesis of Cyclic Combinational Circuits Marc D.Riedel, Jehoshua Bruck California Institute of Technology Presenter : Chi-Yun Cheng.

The “Build-Up” Approach A branch terminates when it hits a non-combinational solution. Begins with an empty edge set. This initial branch provides a lower bound

on the cost. As edges are included , the cost of the

network remains the same or decreases .

Page 19: The Synthesis of Cyclic Combinational Circuits Marc D.Riedel, Jehoshua Bruck California Institute of Technology Presenter : Chi-Yun Cheng.

The “Build-Up” Approach Analyze the current branch. If it’s not

combinational , then discard it. Otherwise , select a set of edges to include.

It’s combinational

Select edge f2→f3Select edge f2→f1

Page 20: The Synthesis of Cyclic Combinational Circuits Marc D.Riedel, Jehoshua Bruck California Institute of Technology Presenter : Chi-Yun Cheng.

The “Build-Up” Approach For each edge in the set , create a new branch for a

new node expression .

Page 21: The Synthesis of Cyclic Combinational Circuits Marc D.Riedel, Jehoshua Bruck California Institute of Technology Presenter : Chi-Yun Cheng.

The “Build-Up” Approach Mark the current branch as “explored” Set the current branch to be the lowest cost

unexplored branch

← Current branch

Explored

← Current branch

Page 22: The Synthesis of Cyclic Combinational Circuits Marc D.Riedel, Jehoshua Bruck California Institute of Technology Presenter : Chi-Yun Cheng.
Page 23: The Synthesis of Cyclic Combinational Circuits Marc D.Riedel, Jehoshua Bruck California Institute of Technology Presenter : Chi-Yun Cheng.

ResultsRandomly Generates Networks

# In # Out Cyclic Solutions Found

Avg. Improvement

Range

5 5 100% 8.5 % 3% - 17 %5 7 96% 9.1 % 0% - 18 %5 10 100% 12.0 % 2% - 20 %5 15 100 % 13.4 % 7 % - 23 %5 20 100 % 14.2 % 8 % - 18 %7 10 96 % 5.6 % 0 % - 11 %7 15 88 % 3.6 % 0 % - 10 %

Page 24: The Synthesis of Cyclic Combinational Circuits Marc D.Riedel, Jehoshua Bruck California Institute of Technology Presenter : Chi-Yun Cheng.

Thank You