Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "The Synthesis of Cyclic Combinational Circuits Marc D.Riedel, Jehoshua Bruck California Institute of Technology Presenter : Chi-Yun Cheng."— Presentation transcript:

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

2 Introduction  7-segment display decoder There are 4 PIs and 7 POs x 3 x 2 x 1 x 0 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

3 Introduction  LED Display

4 Introduction  The display of “ e ” should be light up at “ 0 ” “ 2 ” “ 3 ” “ 5 ” “ 6 ” “ 8 ”. So the original PO : e = x 0 ’ x 1 ’ x 2 ’ x 3 ’ + x 0 ’ x 1 x 2 ’ x 3 ’ + x 0 x 1 x 2 ’ x 3 ’ + x 0 x 1 ’ x 2 x 3 ’ + x 0 ’ x 1 x 2 x 3 ’ + x 0 ’ x 1 ’ x 2 ’ x 3 x 3 x 2 x 1 x 0 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

5 Introduction  Cyclic Network (These outputs are synthesized) a = x 0 ’ x 3 ’ c + x 1 ’ c b = x 0 ’ (x 1 ’ x 2 ’ + x 1 x 3 ’) c = x 0 x 2 ’ x 3 ’ + x 2 ’ (x 1 ’ x 3 + e) d = x 1 x 2 ’ x 3 ’ + a (x 2 + x 3 ) e = x 0 x 3 ’ d + b f = x 2 ’ c + x 3 ’ e’ g = x 0 x 3 ’ + a g a b c d e f

6 Introduction  With x 3 = 0, x 2 = 0, x 1 = 0, x 0 = 1 a = c = 0 b = 0 c = e = 0 d = 0 e = b + d = 0 f = e ’ + c = 1 g = 1 bd e c a f a b c d e f g

7 Definition  Target function : The original PO (Composed by boolean input variables)  Ex: b = x 0 ’ x 1 ’ x 2 ’ x 3 ’ + x 0 ’ x 1 x 2 ’ x 3 ’ + x 0 ’ x 1 ’ x 2 x 3 ’ + x 0 ’ x 1 ’ x 2 ’ x 3  In the network, f = x 2 ’ c + x 3 ’ e ’ f is node function, c, e are internal variables g a b c d e f

8 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 other e = x0 x3’ d + b e = x 0 ’ x 1 ’ x 2 ’ x 3 ’ + x 0 ’ x 1 x 2 ’ x 3 ’ + x 0 x 1 x 2 ’ x 3 ’ + x 0 x 1 ’ x 2 x 3 ’ + x 0 ’ x 1 x 2 x 3 ’ + x 0 ’ x 1 ’ x 2 ’ x 3

9 Synthesis f 1 = x 1 ’ x 2 x 3 ’ + x 2 ’ (x 1 + x 3 ) f 2 = x 1 ’ x 2 ’ x 3 ’ + x 1 (x 2 + x 3 ) f 3 = x 3 ’ (x 1 ’ + x 2 ’ ) + x 1 ’ x 2 ’ Substitution f 3 into f 1 we got f 1 = f 3 (x 1 +x 2 )+x 2 ’ x 3 Substitution f 3 into f 2 we got f 2 = x 1 ’ x 2 ’ x 3 ’ + x 1 f 3 ’ Substitution f 2 and f 3 into f 1 we got f 1 = x 2 ’ x 3 + f 2 ’ f 3

10 Synthesis  Each target function can try substituting different sets of functions.  For f 1, it can be substitution by : ( none, [f 2 ], [f 3 ], [f 2 +f 3 ] ) = > 4 ways to substitution. f 1 = x 1 ’ x 2 x 3 ’ + x 2 ’ (x 1 + x 3 ) f 1 = f 3 (x 1 + x 2 ) + x 2 ’ x 3 f 1 = x 2 ’ x 3 + f 2 ’ f 3

11 Synthesis Different substitution sets cause different cost. f 1 = x 1 ’ x 2 x 3 ’ + x 2 ’ (x 1 + x 3 ) => cost 6 f 1 = f 3 (x 1 + x 2 ) + x 2 ’ x 3 => cost 5 f 1 = x 2 ’ x 3 + f 2 ’ f 3 => cost 4 In general, augmenting the set of functions available for substitution, makes the cost unchanged or lower.

12 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 2 n-1 substitutional sets of for each node. The total possibilities is n ‧ 2 n-1.  It ’ s evidently intractable search all the conditions, so we use branch-and-bound approach.

13 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.

14 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 f 1 ←f 2 Select edge f 2 →f 3

15 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.

16 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

17

18 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.

19 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 f 2 → f 3 Select edge f 2 → f 1

20 The “ Build-Up ” Approach  For each edge in the set, create a new branch for a new node expression.

21 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

22

23 Results Randomly Generates Networks # In# OutCyclic Solutions Found Avg. Improvement Range 55100%8.5 %3% - 17 % 5796%9.1 %0% - 18 % 510100%12.0 %2% - 20 % 515100 %13.4 %7 % - 23 % 520100 %14.2 %8 % - 18 % 71096 %5.6 %0 % - 11 % 71588 %3.6 %0 % - 10 %

24 Thank You


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

Similar presentations


Ads by Google