Title: The Synthesis of Cyclic Combinational Circuits
1The Synthesis of Cyclic Combinational Circuits
Marc D. Riedel and Jehoshua Bruck
California Institute of Technology
Email riedel, bruck_at_paradise.caltech.edu
2Combinational Circuits
The outputs depend only on the present values of
inputs.
3Combinational Circuits
Generally acyclic (i.e., feed-forward) structures.
4Combinational Circuits
Generally acyclic (i.e., feed-forward) structures.
0
0
1
1
1
1
0
1
1
1
0
1
0
0
0
1
1
0
5Circuits With Cycles
May depend on timing.
May have unstable/unknown outputs.
6Circuits With Cycles
May depend on timing.
May have unstable/unknown outputs.
0
1
1
?
?
?
0 non-controlling for OR
1 non-controlling for AND
7Cyclic Combinational Circuits
Cyclic circuits can be combinational.
Example due to Rivest (1977)
f1
f2
f3
f4
f5
f6
8Cyclic Combinational Circuits
Cyclic circuits can be combinational.
Example due to Rivest (1977)
1
1
f1
f2
f3
f4
f5
f6
9Cyclic Combinational Circuits
Cyclic circuits can be combinational.
Example due to Rivest (1977)
1
1
f1
f2
f3
f5
f6
1
10Cyclic Combinational Circuits
Cyclic circuits can be combinational.
Example due to Rivest (1977)
f1
f2
f3
f5
f6
f4
11Cyclic Combinational Circuits
Cyclic circuits can be combinational.
Example due to Rivest (1977)
0
0
f1
f2
f3
f4
f5
f6
12Cyclic Combinational Circuits
Cyclic circuits can be combinational.
Example due to Rivest (1977)
0
0
f2
f3
f4
f5
f6
0
13Cyclic Combinational Circuits
Cyclic circuits can be combinational.
Example due to Rivest (1977)
There is feedback is a topological sense, but
not in an electrical sense.
14Cyclic Combinational Circuits
Cyclic circuits can be combinational.
Example due to Rivest (1977)
There is feedback is a topological sense, but
not in an electrical sense.
15Cyclic Combinational Circuits
Cyclic circuits can be combinational.
Example due to Rivest (1977)
3 inputs,
6 fan-in two gates.
An equivalent acyclic circuit requires 7 fan-in
two gates.
16Cyclic Combinational Circuits
Cyclic circuits can be combinational.
Example due to Rivest (1977)
n inputs,
2n fan-in two gates (n odd).
An equivalent acyclic circuit requires 3n 2
fan-in two gates.
17Prior Work
Stok (1992) observed cycles in designs that reuse
functional units
X
Y
e.g., add
e.g., shift
G(F(X))
F(G(Y))
Malik (1994), Shiple et al. (1996), Edwards
(2003) proposed techniques for analyzing cyclic
combinational circuits.
18Synthesis of Cyclic Combinational Circuits
- We propose a general methodology optimize by
introducing cycles in the substitution/minimizatio
n phase. - We demonstrate that optimizations are significant
and applicable to a wide range of circuits.
19Example 7 Segment Display
Inputs
20Example 7 Segment Display
Output
21Substitution/Minimization
Basic minimization/restructuring operation
express a function in terms of other functions.
(cost 9)
Substitute b into a
(cost 8)
Substitute c into a
(cost 5)
Substitute c, d into a
(cost 4)
22Acyclic Substitution
Select an acyclic topological ordering
23Acyclic Substitution
Select an acyclic topological ordering
a
b
c
d
e
f
g
Cost (literal count) 37
24Acyclic Substitution
Select an acyclic topological ordering
a
b
c
d
e
f
g
Nodes at the top benefit little from substitution.
25Cyclic Substitution
Try substituting every other function into each
function
a
b
c
d
e
f
g
Not combinational!
Cost (literal count) 30
26Cyclic Substitution
Combinational solution
a
b
c
d
e
f
g
Cost (literal count) 34
27Cyclic Substitution
Combinational solution
a
b
c
d
e
f
g
Cost (literal count) 34
topological cycles
28Cyclic Substitution
Inputs x3, x2, x1, x0
0,0,1,0
a
b
c
d
e
f
g
Cost (literal count) 34
no electrical cycles
29Cyclic Substitution
Inputs x3, x2, x1, x0
0,0,1,0
a
b
c
d
e
f
g
Cost (literal count) 34
no electrical cycles
30Cyclic Substitution
Inputs x3, x2, x1, x0
0,0,1,0
a
b
c
d
e
f
g
Cost (literal count) 34
31Cyclic Substitution
Inputs x3, x2, x1, x0
0,0,1,0
a
b
c
d
e
f
g
Cost (literal count) 34
32Cyclic Substitution
Inputs x3, x2, x1, x0
0,0,1,0
a
b
c
d
e
f
g
Cost (literal count) 34
33Cyclic Substitution
Inputs x3, x2, x1, x0
0,1,0,1
a
b
c
d
e
f
g
Cost (literal count) 34
34Cyclic Substitution
Inputs x3, x2, x1, x0
0,1,0,1
a
b
c
d
e
f
g
Cost (literal count) 34
no electrical cycles
35Cyclic Substitution
Inputs x3, x2, x1, x0
0,1,0,1
a
b
c
d
e
f
g
Cost (literal count) 34
no electrical cycles
36Cyclic Substitution
Inputs x3, x2, x1, x0
0,1,0,1
a
b
c
d
e
f
g
Cost (literal count) 34
37Cyclic Substitution
Inputs x3, x2, x1, x0
0,1,0,1
c
a
b
f
a
c
d
d
g
b
e
e
f
g
Cost (literal count) 34
38Analysis
- Efficient, symbolic framework for analysis
(BDD-based). - Analysis is integrated with synthesis phase.
- For details see
- Cyclic Combinational Circuit Analysis for
Synthesis, - IWLS03, available at http//www.paradise.caltech.
edu/ETR.html
39Analysis
40Synthesis
Strategy
- Allow cycles in the substitution phase of logic
synthesis. - Find lowest-cost combinational solution.
Collapsed
Solution
Cost 13
Cost 17
41Branch and Bound
Break-Down approach
- Exclude edges
- Search performed outside space of combinational
solutions
42Branch and Bound
Build-Up approach
- Include edges
- Search performed inside space of combinational
solutions
43Implementation CYCLIFY Program
- Incorporated synthesis methodology in a general
logic synthesis environment (Berkeley SIS
package). - Trials on wide range of circuits
- randomly generated
- benchmarks
- industrial designs.
- Consistently successful at finding superior
cyclic solutions.
44Benchmark Circuits
(best examples)
Circuit
Inputs
Outputs
Berkeley
Simplify
Caltech
Cyclify
Improvement
dc1
4
7
39
34
12.80
ex6
8
11
85
76
10.60
p82
5
14
104
90
13.50
t4
12
8
109
89
18.30
bbsse
11
11
118
106
10.20
sse
11
11
118
106
10.20
5xp1
7
10
123
109
11.40
s386
11
11
131
113
13.70
dk17
10
11
160
136
15.00
apla
10
12
185
131
29.20
tms
8
16
185
158
14.60
cse
11
11
212
177
16.50
clip
9
5
213
189
11.30
m2
8
16
231
207
10.40
s510
25
13
260
227
12.70
t1
21
23
273
206
24.50
ex1
13
24
309
276
10.70
exp
8
18
320
262
18.10
Cost (literals in factored form) of Berkeley SIS
Simplify vs. Cyclify
45Benchmarks
Example EXP circuit
cost measured by the literal count in the
substitute/minimize phase
Acyclic Solution (Berkeley SIS) cost 320
Cyclic Solution (Caltech CYCLIFY) cost 262
46Discussion
Paradigm shift
- Should think of combinational circuits as cyclic,
in general. - Most circuits can be optimized with cycles.
- Optimizations are significant.
Cyclic Combinational Circuits
- General methodology for synthesis.
- Efficient, symbolic framework for analysis.
47Future Directions
- Extend ideas to a decomposition and technology
mapping phases of synthesis. - Address optimization of cyclic circuits for
delay, power, fault tolerance.