Cyclic Combinational Circuits and Other Novel Constructs Marrella splendensCyclic circuit (500...

36
Cyclic Combinational Circuits Cyclic Combinational Circuits and Other Novel Constructs and Other Novel Constructs Marrella splendens Cyclic circuit ... ... ... ... (500 million year old Trilobite) (novel construct)

Transcript of Cyclic Combinational Circuits and Other Novel Constructs Marrella splendensCyclic circuit (500...

Cyclic Combinational CircuitsCyclic Combinational Circuitsand Other Novel Constructsand Other Novel Constructs

Marrella splendens Cyclic circuit

...

...

...

...

(500 million year old Trilobite) (novel construct)

Combinational Circuits

Logic GateBuilding Block:

1x2x

dx

di

ix

,,1allfor

{0,1}

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

),,( 1 dxxg

Combinational Circuits

Logic GateBuilding Block:

1x2x

dx

),,( 1 dxxg

feed-forward device

Combinational Circuits

“AND” gate

0001

Common Gate:

1x

2x

g0011

0101

1x 2x g

Combinational Circuits

“OR” gate

0011

0101

0111

Common Gate:

1x

2x

g

1x 2x g

Combinational Circuits

“XOR” gate

0011

0101

0110

Common Gate:

1x

2x

g

1x 2x g

A circuit with feedback (i.e., cycles) cannot be combinational.

s

r

q

NOR

NOR

Conventional View

s

r

q

NOR

NOR

0

0

?

A circuit with feedback (i.e., cycles) cannot be combinational.

Conventional View

),,( 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

),,( 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}:

1x

2x

3x

4x

5x

6x

NAND

OR

ANDAND

AND

NOR

1

0

0

1

1

1

1

0

1

0

0

1

Acyclic (i.e., feed-forward) circuits are always combinational.

Combinational Circuits

Acyclic (i.e., feed-forward) circuits are always combinational.Are combinational circuits always acyclic?

“Combinational networks can never have feedback loops.”“A combinational

circuit is a directed acyclic graph (DAG)...”

Combinational Circuits

1

0

0

1

1

1

NAND

OR

ANDAND

AND

NOR

1

0

1

0

0

1

Acyclic (i.e., feed-forward) circuits are always combinational.Are combinational circuits always acyclic?

“Combinational networks can never have feedback loops.”“A combinational

circuit is a directed acyclic graph (DAG)...”

Combinational Circuits

Designers and EDA tools follow this practice.

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

Combinational Circuits

x

y

x

y

z

z

c

s

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

Combinational Circuits

0

1

0

1

1

1

0

1

1

0

1

Feedback

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

...

...

...

...

feedback

Feedback

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

...

...

...

...

?

?

?

fa a

Example: outputs can be determined in spite of feedback.

x x

Feedback

fa a

0 0

Example: outputs can be determined in spite of feedback.

Feedback

fa a

0 0

00

Example: outputs can be determined in spite of feedback.

Feedback

fa a

Example: outputs can be determined in spite of feedback.

Feedback

x x

fa a

1 1

Example: outputs can be determined in spite of feedback.

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

fa a

Admittedly, this circuit is useless...

Example: outputs can be determined in spite of feedback.

Feedback

x x

x

Circuits with Cycles

a

b

x

c

d

x

AND

AND

OR

OR

AND

OR

)))((( 1fxcdxab1f

x0

0

0

a

b

c

d

AND

AND

OR

OR

AND

OR

x

x

0

)))((( 1fcdxab1f 0

Circuits with Cycles

x

x

x

0

0

a

b

c

d

AND

AND

OR

OR

AND

OR

0

)))((( 1fxcdab1f

Circuits with Cycles

x1 x1

x

x

a

b

c

d

AND

AND

OR

OR

AND

OR

1

11

)))((( 1fcdab1f

Circuits with Cycles

1

1

x

x

x

a

b

c

d

AND

AND

OR

OR

AND

OR

1

))(( cdab1f

)(2 abxcdf

Circuit is cyclic yet combinational;computes functions f1 and f2 with 6 gates.

An acyclic circuit computing these functions requires 8 gates.

Circuits with Cycles

A cyclic topology permits greater overlap in the computation of the two functions:

x

x

a

b

c

d

AND

AND

OR

OR

AND

OR

There is no feedback in a functional sense.Circuit is cyclic yet combinational;computes functions f1 and f2 with 6 gates.

An acyclic circuit computing these functions requires 8 gates.

)(2 abxcdf

Circuits with Cycles

x ))(( cdab1f

Prior Work (early era)

• Kautz and Huffman discussed the concept of feedback in logic circuits (in 1970 and 1971, respectively).

• McCaw and Rivest presented simple examples (in 1963 and 1977, respectively).

McCaw’s Circuit (1963)

Cyclic, 4 AND/OR gates, 5 variables, 2 functions:

ORORAND AND

x

2f1f

ba x dc

McCaw’s Circuit (1963)

1f ( dcxba )1fx)

2f ( baxdc )2fx)

Cyclic, 4 AND/OR gates, 5 variables, 2 functions:

outputs are well defined

ORORAND AND

x

2f1f

ba x dc

McCaw’s Circuit (1963)

1f ( dcxba )

2f ( baxdc )

Smallest possible equivalent acyclic circuit: 5 AND/OR gates.

x

1f

ba

ORANDOR

c

d ORAND

2f

x dc

Prior Work (later era)

• Stok observed that designers sometimes introduce cycles among functional units (in 1992).

• Malik, Shiple and Du et al. proposed techniques for analyzing such circuits (in 1994,1996, and 1998 respectively).

Cyclic Circuits: Key Contributions

Practice

Theory

• Devised efficient techniques for analysis and synthesis.

• Formulated a precise model for analysis.

• Implemented the ideas and demonstrated they are applicable for a wide range of circuits.

• Provided constructions and lower bounds proving thatcyclic designs can be more compact.