marc riedel ph.d. defense, electrical engineering, caltech november 17, 2003 combinational circuits...

86
Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Post on 15-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Marc RiedelPh.D. Defense, Electrical Engineering, Caltech

November 17, 2003

Combinational Circuitswith Feedback

Page 2: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Combinational Circuits

Logic GateBuilding Block:

1x2x

dx

di

ix

,,1allfor

{0,1}

{0,1}{0,1}: dg

),,( 1 dxxg

Page 3: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Combinational Circuits

Logic GateBuilding Block:

1x2x

dx

),,( 1 dxxg

feed-forward device

Page 4: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Combinational Circuits

“AND” gate

0001

Common Gate:

1x

2x

g0011

0101

1x 2x g

Page 5: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Combinational Circuits

“OR” gate

0011

0101

0111

Common Gate:

1x

2x

g

1x 2x g

Page 6: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Combinational Circuits

“XOR” gate

0011

0101

0110

Common Gate:

1x

2x

g

1x 2x g

Page 7: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

),,( 11 mxxf a

),,( 12 mxxf a

),,( 1 mn xxf a

inputs outputs

The current outputs depend only on the current inputs.

Combinational Circuits

1x

2x

mx

mi

ix

,,1allfor

{0,1}

nj

mjf

,,1allfor

{0,1}{0,1}:

combinationallogic

Page 8: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

),,( 1 mn xxf a

),,( 11 mxxf a

),,( 12 mxxf a),,( 1 mxxf a

Combinational Circuits

inputs outputs

The current outputs depend only on the current inputs.

1x

2x

mx

combinationallogic

gate

mi

ix

,,1allfor

{0,1}

nj

mjf

,,1allfor

{0,1}{0,1}:

Page 9: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Generally feed-forward (i.e., acyclic) structures.

Combinational Circuits

x

y

x

y

z

z

c

s

Page 10: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Generally feed-forward (i.e., acyclic) structures.

Combinational Circuits

0

1

0

1

1

1

0

1

1

0

1

Page 11: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Feedback

How can we determine the output without knowing the current state?

...

...

...

...

feedback

Page 12: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Feedback

How can we determine the output without knowing the current state?

...

...

...

...

?

?

?

Page 13: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

fa a

Example: outputs can be determined in spite of feedback.

x x

Feedback

Page 14: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

fa a

0 0

Example: outputs can be determined in spite of feedback.

Feedback

Page 15: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

fa a

0 0

00

Example: outputs can be determined in spite of feedback.

Feedback

Page 16: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

fa a

Example: outputs can be determined in spite of feedback.

Feedback

x x

Page 17: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

fa a

1 1

Example: outputs can be determined in spite of feedback.

Feedback

Page 18: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

fa a

1 1

11

There is feedback is a topological sense, but not in an electrical sense.

Example: outputs can be determined in spite of feedback.

Feedback

Page 19: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

fa a

Admittedly, this circuit is useless...

Example: outputs can be determined in spite of feedback.

Feedback

x x

x

Page 20: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Rivest’s Circuit

Example due to Rivest:

1x 2x 3x 1x 2x 3x

1fa a 2fa a 3fa a 4fa a 5fa a 6fa a

Page 21: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

0 0

Example due to Rivest:

Rivest’s Circuit

2x 3x 2x 3x

1fa a 2fa a 3fa a 4fa a 5fa a 6fa a

1x 1x

Page 22: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Rivest’s Circuit

0 0

0

Example due to Rivest:

2x 3x 2x 3x

1fa a 2fa a 3fa a 4fa a 5fa a 6fa a

Page 23: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Rivest’s Circuit

Example due to Rivest:

1x 2x 3x 1x 2x 3x

1fa a 2fa a 3fa a 4fa a 5fa a 6fa a

0 0

0

Page 24: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

1 1

Example due to Rivest:

Rivest’s Circuit

2x 3x 2x 3x

1fa a 2fa a 3fa a 4fa a 5fa a 6fa a

1x 1x

Page 25: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

1

1 1

Example due to Rivest:

Rivest’s Circuit

2x 3x 2x 3x

1fa a 2fa a 3fa a 5fa a 6fa a4fa a

Page 26: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

4fa a

Example due to Rivest:

1x 1x1 1

Rivest’s Circuit

2x 3x 2x 3x

1fa a 2fa a 3fa a 5fa a 6fa a1

Page 27: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Rivest’s Circuit

Example due to Rivest:

)( 321 xxx )( 312 xxx )( 213 xxx

321 xxx 312 xxx 213 xxx

1x 2x 3x 1x 2x 3x

3 inputs, 6 fan-in two gates. 6 distinct functions, each dependent on all 3 variables.

Addition: ORMultiplication: AND

Page 28: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Rivest’s Circuit

Individually, each function requires 2 fan-in two gates:

)( 321 xxx

)( 3211 xxxf a 3122 xxxf a )( 2133 xxxf a

3214 xxxf a )( 3125 xxxf a 2136 xxxf a

1x2x

3x

Page 29: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

An equivalent feed-forward circuit requires 7 fan-in two gates.

1fa a1x

2x

3x

6fa a

2fa a

5fa a

4fa a

3fa a

1x

2x

3x

2x

3x

Page 30: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

A feedback circuit with fewer gates than any equivalent feed-forward circuit.

Rivest’s Circuit

1x 2x 3x 1x 2x 3x

1fa a 2fa a 3fa a 4fa a 5fa a 6fa a

3 inputs, 6 fan-in two gates.

6 distinct functions.

Page 31: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Rivest’s Circuit

n inputs 2n fan-in two gates,

2n distinct functions.

1x nx 1x nx

1fa a

nfa a1nfa a

nf2a a

Page 32: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

1fa a...

...

...

...

a

2fa a

Rivest’s Circuit

1n gates

12 n gates

An equivalent feed-forward circuit requires fan-in two gates.

23 n

nf2a

Page 33: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Rivest’s Circuit

n inputs 2n fan-in two gates,

2n distinct functions.

A feedback circuit with the number of gates of any equivalent feed-forward circuit.

32

1x nx 1x nx

1fa a

nfa a1nfa a

nf2a a

Page 34: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Prior Work

• Kautz first discussed the concept of feedback in logic circuits (1970).

• Huffman discussed feedback in threshold networks (1971).

• Rivest presented the first, and only viable, example of a combinational circuit with feedback (1977).

Page 35: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Prior Work

F(X) G(X)e.g., add e.g., shift

Stok discussed feedback at the level of functional units (1992).

Malik (1994) and Shiple et al. (1996) proposed techniques for analysis.

X

G(F(X))

Y

F(G(Y))

Page 36: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Questions

1. Is feedback more than a theoretical curiosity, even a general principle?

322. Can we improve upon the bound of ?

3. Can we optimize real circuits with feedback?

Page 37: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Key Contributions

2. Efficient symbolic algorithm for analysis (both functional and timing).

1. A family of feedback circuits that are asymptotically the size of equivalent feed-forward circuits. 2

1

3. A general methodology for synthesis.

Page 38: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Ph.D. Defense

• Present examples with same property as Rivest’s circuits.

• Illustrate techniques for analysis.

• Focus on synthesis: methodology, examples, optimization results.

Page 39: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Example

43218 )( xxxxf

43215 xxxxf

43214 )( xxxxf

34213 xxxxf

43212 xxxxf

)( 43211 xxxxf

34217 )( xxxxf

43216 xxxxf

a

not symmetrical

4 inputs

8 gates

8 distinct functions

x4

x3

x2

x1

x4

x3

x2

x1

Page 40: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Examples, multiple cycles

x1

x1

x1

x1

x2

x2

x3

x3

321311 2xxxxxxf a

3212 xxxf a

a )( 3123 xxxf

2134 xxxf a

a )( 3215 xxxf

a3216 xxxf a

aa )( 3127 xxxf

aa

1138 xxxf

aa )( 3219 xxxf

, 3 inputs9 gates , 9 distinct functions

Page 41: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Example

x1 x2 x3 x4 x5 x1 x2 x3 x4 x5

1f 2f 3f 4f 5f 6f 7f 8f 9f 10fa

11f 12f 13f 14f 15f 16fa 17f 18f 19f 20fa

, 5 inputs 20 gates , 20 distinct functions.

(“stacked” Rivest circuits)

Page 42: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

½ Example

Generalization: family of feedback circuits ½ the size of equivalent feed-forward circuits.

3111 ff a

a

3222 ff a

a

213231333 fffff a

a

Xiiii offunctionsare,,, nxxxX ,,, 21

(sketch)

X

X

X

Page 43: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Analysis

• Functional analysis: determine if the circuit is combinational and if

so, what values appear.

• Timing analysis: determine when the values appear.

Contributions:

1. Symbolic algorithm based on Binary Decision Diagrams.

2. Optimizations based on topology (“first-cut” method).

Page 44: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Analysis

1x 2x 3x 1x 2x 3x0 0 0 00 0

01

Assume gates each have unit delay.

02 01 0102 02

arrival times

Explicit analysis:

Page 45: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

0 0 0 00 0

01 02 01 0102 02

0 1 0 10 0

01 11 01 0302 04

1x 2x 3x 1x 2x 3x

Analysis

Explicit analysis:

Page 46: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

1x0 1 0 10 0

01 11 01 0302 04

2x 3x 1x 2x 3x

n inputs n2 combinations

Exhaustive evaluation intractable.

Analysis

Explicit analysis:

Page 47: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

1x 2x 3x 1x 2x 3x

Symbolic analysis:

1x

31 xx

321 xxx321 xxx

1fa a

01 :

12 :

03 :

14 :

Analysis

654,32 ,,, fffffasimilarly for

Page 48: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Symbolic analysis:

fa a

01

02

11

12

Analysis

),,( 11 nxxc ),,( 12 nxxc

),,( 11 nxxc ),,( 12 nxxc

),,( 1 nxxd undefined

evaluates to 1

evaluates to 0

Page 49: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Symbolic analysis:

fa a

01-7

08-28

11-10

111-21

Analysis

),,( 11 nxxc ),,( 12 nxxc

),,( 11 nxxc ),,( 12 nxxc

),,( 1 nxxd undefined

evaluates to 1

evaluates to 0

range of values

Page 50: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Synthesis

• General methodology: optimize by introducing feedback in the substitution/minimization phase.

• Optimizations are significant and applicable to a wide range of circuits.

Design a circuit to meet a specification.

Page 51: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Example: 7 Segment Display

Inputs a

b

c

d

e

f

g

Output

1001

0001

1110

0110

1010

0010

1100

0100

1000

00000123 xxxx

9

8

7

6

5

4

3

2

1

0

Page 52: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Example: 7 Segment Display

g

f

e

d

c

b

a

)(

)(

))((

))((

))((

)(

))((

20321

10102321

2012103210

102213321

210203321

21310

302321320

xxxxx

xxxxxxxx

xxxxxxxxxx

xxxxxxxxx

xxxxxxxxx

xxxxx

xxxxxxxxx

a

b

c

d

e

f

g

Output

Page 53: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Substitution/Minimization

Basic minimization/restructuring operation: express a function in terms of other functions.

Substitute b into a:

(cost 9)a ))(( 302321320 xxxxxxxxx

(cost 8)

Substitute c into a:(cost 5)

Substitute c, d into a:(cost 4)

a )( 323212 bxxxxxbx

a cxxcx 321

a dccx 1

Page 54: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Substitution/Minimization

Berkeley SISTool

a ))(( 302321320 xxxxxxxxx

},,,{ fdcb

target function

substitutional set

a dccx 1

low-cost expression

Page 55: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Acyclic Substitution

g

f

e

b

a

c

d

Select an acyclic topological ordering:

g

f

e

d

c

b

a

Page 56: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

g

f

d

c

b

a

edcaxx 21

dccx 1

xxxxxxxxx 102213321 ))((

dxxxxxx 102320 )(

cdxx 10 )(

Select an acyclic topological ordering:

Cost (literal count): 37

Acyclic Substitution

e 3cxb d

ba f

Page 57: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Acyclic Substitution

Select an acyclic topological ordering:

Nodes at the top benefit little from substitution.

g

f

d

c

b

a

edcaxx 21

dccx 1

xxxxxxxxx 102213321 ))((

dxxxxxx 102320 )(

cdxx 10 )(

e 3cxb d

ba f

Page 58: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Cyclic Substitution

Try substituting every other function into each function:

Not combinational!Cost (literal count): 30

0

1

ex

dccx

fba

geex

bcdx

gxaxex

egxxax

2

3

321

202 f

g

f

d

c

b

a

e

Page 59: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Cost 30Lower bound

Cost 37

Upper boundAcyclic substitution

Unordered substitution

Cyclic solution? Cost 34

Page 60: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Cyclic Substitution

g

f

e

d

c

b

a

Cost (literal count): 34

Combinational solution:

x e0

bxa 3

gxxxax 1023 )(

axxex 321 )( exxxxxx 312320 )(

cxxcx 301

xxxfx 1023 )( f

Page 61: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Cyclic Substitution

Cost (literal count): 34

Combinational solution:

topological cycles

g

f

e

d

c

b

a

x e0

bxa 3

gxxxax 1023 )(

axxex 321 )( exxxxxx 312320 )(

cxxcx 301

xxxfx 1023 )( f

Page 62: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Inputs x3, x2, x1, x0

Cost (literal count): 34

ba

ga

e

e

e

c

1

no electrical cycles

Cyclic Substitution

g

f

e

d

c

b

a

x e0

bxa 3

gxxxax 1023 )(

axxex 321 )( exxxxxx 312320 )(

cxxcx 301

xxxfx 1023 )( f

= [0,0,1,0]:

Page 63: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

g

f

e

d

c

b

a

Cost (literal count): 34

ba

ga

e

e

e

c

1

1

1

0

1

1

1

0

Cyclic Substitution

no electrical cycles

x e0

bxa 3

gxxxax 1023 )(

axxex 321 )( exxxxxx 312320 )(

cxxcx 301

xxxfx 1023 )( f

Inputs x3, x2, x1, x0 = [0,0,1,0]:

Page 64: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

g

f

e

d

c

b

a

Cost (literal count): 34

ba

ga

e

e

e

c

1

1

1

0

1

1

1

0

a

b

c

d

e

f

g

Cyclic Substitution

x e0

bxa 3

gxxxax 1023 )(

axxex 321 )( exxxxxx 312320 )(

cxxcx 301

xxxfx 1023 )( f

Inputs x3, x2, x1, x0 = [0,0,1,0]:

Page 65: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

g

f

e

d

c

b

a

Cost (literal count): 34

ba

ga

e

e

e

c

1

1

1

0

1

1

1

0

a

b

c

d

e

f

g

Cyclic Substitution

x e0

bxa 3

gxxxax 1023 )(

axxex 321 )( exxxxxx 312320 )(

cxxcx 301

xxxfx 1023 )( f

Inputs x3, x2, x1, x0 = [0,0,1,0]:

Page 66: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

g

f

e

d

c

b

a

Cost (literal count): 34

ba

ga

e

e

e

c

1

1

1

0

1

1

1

0

a

b

c

d

e

f

g

Cyclic Substitution

x e0

bxa 3

gxxxax 1023 )(

axxex 321 )( exxxxxx 312320 )(

cxxcx 301

xxxfx 1023 )( f

Inputs x3, x2, x1, x0 = [0,0,1,0]:

Page 67: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

g

f

e

d

c

b

a

Cost (literal count): 34

Cyclic Substitution

x e0

bxa 3

gxxxax 1023 )(

axxex 321 )( exxxxxx 312320 )(

cxxcx 301

xxxfx 1023 )( f

Inputs x3, x2, x1, x0 = [0,1,0,1]:

Page 68: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

g

f

e

d

c

b

a

Cost (literal count): 34

Cyclic Substitution

ba

a

a

1

0

c

f

x e0

bxa 3

gxxxax 1023 )(

axxex 321 )( exxxxxx 312320 )(

cxxcx 301

xxxfx 1023 )( f

Inputs x3, x2, x1, x0 = [0,1,0,1]:

no electrical cycles

Page 69: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

g

f

e

d

c

b

a

Cost (literal count): 34

1

0

1

0

1

1

1

Cyclic Substitution

ba

a

a

1

0

c

f

x e0

bxa 3

gxxxax 1023 )(

axxex 321 )( exxxxxx 312320 )(

cxxcx 301

xxxfx 1023 )( f

no electrical cycles

Inputs x3, x2, x1, x0 = [0,1,0,1]:

Page 70: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

g

f

e

d

c

b

a

Cost (literal count): 34

a

b

c

d

e

f

g

Cyclic Substitution

1

0

1

0

1

1

1ba

a

a

1

0

c

f

x e0

bxa 3

gxxxax 1023 )(

axxex 321 )( exxxxxx 312320 )(

cxxcx 301

xxxfx 1023 )( f

Inputs x3, x2, x1, x0 = [0,1,0,1]:

Page 71: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

g

f

e

d

c

b

a

Cost (literal count): 34

Cyclic Substitution

1

0

1

0

1

1

1ba

a

a

1

0

c

f

a

b

d

e

f

g

x e0

bxa 3

gxxxax 1023 )(

axxex 321 )( exxxxxx 312320 )(

cxxcx 301

xxxfx 1023 )( f

Inputs x3, x2, x1, x0 = [0,1,0,1]:

c

Page 72: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Synthesis

Strategy:

• Allow cycles in the substitution phase of logic synthesis. • Find lowest-cost combinational solution.

21213

321321

312321

)(

)(

)(

xxxxxc

xxxxxxb

xxxxxxa

Collapsed:

Cost: 17

321

1321

323

xxaxc

cxxxxb

xxbxa

Solution:

Cost: 13

Page 73: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

“Break-Down” approach

• Exclude edges• Search performed outside space

of combinational solutions

cost 12

cost 13 cost 12

cost 13combinational

cost 14

Branch and Bound

Page 74: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

“Build-Up” approach

• Include edges• Search performed inside space

of combinational solutions

cost 17

cost 16cost 15not combinational

cost 14

Branch and Bound

cost 13best solution

Page 75: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Implementation: 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.

Page 76: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Benchmark Circuits

Cost (literals in factored form) of Berkeley SIS Simplify vs. Cyclify

Circuit # Inputs # Outputs Berkeley Simplify Caltech Cyclify Improvementdc1 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%

Page 77: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Benchmarks

Example: EXP circuit

Cyclic Solution (Caltech CYCLIFY): cost 262

Acyclic Solution (Berkeley SIS): cost 320

cost measured by the literal count in the substitute/minimize phase

Page 78: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Discussion

• A new definition for the term “combinational circuit”: a directed, possibly cyclic, collection of logic gates.

• Most circuits can be optimized with feedback.

• Optimizations are significant.

Paradigm shift:

Page 79: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Current Work

• Implement more sophisticated search heuristics (e.g., simulated annealing).

• Extend ideas to a decomposition and technology mapping phases of synthesis.

• Address optimization of circuits for delay with feedback.

Page 80: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Future Directions

inputs outputsdata structure

Structured Network Representations

databases, biological systems,...

Page 81: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Binary Decision Diagrams

• Introduced by Lee (1959).• Popularized by Bryant (1986).

Graph-based Representation of Boolean Functions

• compact (functions of 50 variables)• efficient (linear time manipluation)

Widely used; has had a significant impact on the CAD industry.

0

1

fa

10

1x

2x

3x

Page 82: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Binary Decision Diagrams

0

1

fa

10

1x

2x

3x1 1 1 1

0000111

0011001

0101010

0000011

1x 2x 3x f

0 1BDDs generally defined as Directed Acyclic Graphs

Graph-based Representation of Boolean Functions

Page 83: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Binary Decision Diagrams

Short described a cyclic structure for a BDD variant (1960).We suggest cycles are a general phenomenon.

1fa a 2fa a 3fa a 4fa a 5fa a 6fa a

1x 2x 3x 1x 2x 3x

00 1 01 1

Page 84: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Binary Decision Diagrams

Short described a cyclic structure for a BDD variant (1960).We suggest cycles are a general phenomenon.

1fa a 2fa a 3fa a 4fa a 5fa a 6fa a

1x 2x 3x 1x 2x 3x

00 1 01 1

0 * * 0

1fa a1x 2x 3x

0

1 0 1 1

1

Page 85: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Binary Decision Diagrams

Short described a cyclic structure for a BDD variant (1960).We suggest cycles are a general phenomenon.

1fa a 2fa a 3fa a 4fa a 5fa a 6fa a

1x 2x 3x 1x 2x 3x

00 1 01 1

)( 3211 xxxf a 3122 xxxf a )( 2133 xxxf a

3214 xxxf a )( 3125 xxxf a 2136 xxxf a

Page 86: Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback

Binary Decision Diagrams

Short described a cyclic structure for a BDD variant (1960).We suggest cycles are a general phenomenon.

1fa a 2fa a 3fa a 4fa a 5fa a 6fa a

1x 2x 3x 1x 2x 3x

00 1 01 1

Future research awaits...