Download presentation
Presentation is loading. Please wait.
Published byCaren Norton Modified over 9 years ago
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
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
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.