Title: Cyclic Combinational Circuits and Other Novel Constructs
1Cyclic Combinational Circuitsand Other Novel
Constructs
Marc D. Riedel
California Institute of Technology
Marrella splendens
Cyclic circuit
(500 million year old Trilobite)
(novel construct)
2Combinational Circuits
The current outputs depend only on the current
inputs.
3Combinational Circuits
Acyclic (i.e., feed-forward) circuits are always
combinational.
1
1
0
1
0
0
0
1
0
1
1
1
4Combinational 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)...
5Combinational 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)...
Designers and EDA tools follow this practice.
6Circuits with Cycles
x
a
)))
(
(
(
f
x
c
d
x
a
b
f
1
1
b
x
c
d
7Circuits with Cycles
0
0
x
AND
a
OR
x
0
)))
(
(
(
f
c
d
x
a
b
f
0
1
1
b
AND
0
x
OR
c
AND
d
OR
8Circuits with Cycles
0
0
x
AND
a
OR
x
)))
(
(
(
f
x
c
d
a
b
f
1
1
b
AND
0
x
OR
c
AND
d
OR
9Circuits with Cycles
1
x
AND
a
OR
x
1
x
1
)))
(
(
(
f
c
d
a
b
f
1
1
b
AND
1
1
x
OR
c
AND
d
OR
10Circuits with Cycles
Circuit is cyclic yet combinational computes
functions f1 and f2 with 6 gates.
1
x
AND
An acyclic circuit computing these functions
requires 8 gates.
a
OR
x
))
(
(
c
d
a
b
f
1
b
AND
1
1
x
OR
c
AND
)
(
a
b
x
c
d
f
2
d
OR
11Circuits with Cycles
Circuit is cyclic yet combinational computes
functions f1 and f2 with 6 gates.
There is no feedback in a functional sense.
x
A cyclic topology permits greater overlap in the
computation of the two functions
AND
An acyclic circuit computing these functions
requires 8 gates.
a
OR
x
))
(
(
c
d
a
b
f
1
b
AND
x
OR
c
AND
)
(
a
b
x
c
d
f
2
d
OR
12Prior 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).
13Prior 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).
14Cyclic Circuits Key Contributions
Theory
- Formulated a precise model for analysis.
- Provided constructions and lower bounds proving
thatcyclic designs can be more compact.
Practice
- Devised efficient techniques for analysis and
synthesis.
- Implemented the ideas and demonstrated they are
applicable for a wide range of circuits.
15Outline of Talk
Cyclic Circuits
- Analysis circuit model, symbolic techniques.
- Synthesis framework, implementation, and
results. - Theory circuit complexity (limited).
Current Future Research Directions
- Application of circuit design techniques to
biological systems.
16Circuit Model
A circuit must produces definite output values
for each input combination (in the care set)
- Regardless of the prior values.
- Independently of all timing assumptions.
Formally
- Fixed-point analysis over a ternary-valued (0, 1,
?) domain.
Informally
- A sequence of controlling values always
determines the output.
17Controlling Values
0
0
?
1
1
a controlling input
1
1
?
full set ofnon-controlling inputs
?
unknown/undefinedoutput
18Timing Model
The arrival time at a gate output is determined
- either by the earliest controlling input
02
Each gate has delay in 0, td
13
03
06
(Assume td 1)
19Timing Model
The arrival time at a gate output is determined
- either by the earliest controlling input
- or by the latest non-controlling input.
12
02
Each gate has delay in 0, td
13
17
13
03
16
06
(Assume td 1)
20Analysis
- Functional Analysis determine what is computed.
- Timing Analysis determine how long it takes
to compute it.
l1 1
l4 3
10
a
11
12
l3 2
10
b
10
c
02
l2 1
a
10
l5 2
c
10
01
10
b
12
21Analysis
- Functional Analysis determine what is computed.
- Timing Analysis determine how long it takes
to compute it.
Explicit analysis
22Analysis
- Functional Analysis determine what is computed.
- Timing Analysis determine how long it takes
to compute it.
Explicit analysis
00
00
00
OR
AND
AND
01
02
01
23Analysis
- Functional Analysis determine what is computed.
- Timing Analysis determine how long it takes
to compute it.
Explicit analysis
00
00
00
00
10
00
OR
AND
AND
02
01
02
01
01
03
m inputs
explict evaluation intractable
24Analysis
- Functional Analysis determine what is computed.
- Timing Analysis determine how long it takes
to compute it.
Symbolic analysis
binary, multi-terminal decision diagrams.
00
10
00
OR
AND
AND
02
01
03
(See Timing Analysis of Cyclic Circuits, IWLS,
04)
25Synthesis
Design a circuit to meet a specification.
- General methodology optimize by introducing
feedback in the substitution/minimization phase. - Developed a tool called CYCLIFY within Berkeley
SIS Environment. - Optimizations are significant and applicable to a
wide range of circuits.
26Example 7 Segment Display
Inputs
27Example 7 Segment Display
Output
28Substitution
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)
29Substitution/Minimization
substitutional set
Þ
target function
Þ
Þ
low-cost expression
30Acyclic Substitution
Select an acyclic topological ordering
31Acyclic Substitution
Select an acyclic topological ordering
a
b
c
d
e
f
g
Area (literal count) 37
32Acyclic Substitution
Select an acyclic topological ordering
a
b
c
d
e
f
g
Nodes at the top benefit little from substitution.
33Cyclic Substitution
How can we find a cyclic solution that is
combinational?
a
b
c
?
d
e
f
g
34Cyclic Substitution
Simpler Example
Candidates
Target
35Cyclic Substitution
Simpler Example
Candidates
Target
36Cyclic Substitution
Simpler Example
Candidates
Target
37Branch and Bound
Break-Down approach
- Search performed outside space of combinational
solutions. - Terminates on optimal solution
38Branch (without Bounding)
Build-Up approach
Search performed inside space of combinational
solutions
39Example 7 Segment Display
Combinational solution
a
b
c
d
e
f
g
Area (literal count) 34
40Branch and Bound
Large search space
Heuristics
- Limit the density of edges a priori
- Limit breadth
- Tunnel depth-wise (with backtracking)
(See The Synthesis of Cyclic Circuits, DAC, 03)
41Optimization for Area
Number of NAND2/NOR2 gates for Berkeley SIS vs.
CYCLIFYsolutions
Based on script.rugged sequence and technology
mapping.
42Optimization for Area and Delay
Number of NAND2/NOR2 gates and the Delay
of Berkeley SIS vs. CYCLIFY solutions
Based on script.delay sequence and technology
mapping.
43Practice
- Improvements in area (and consequently power) and
delay are significant. - Similar improvements were obtained for larger
scale circuits e.g., the ALU of an 8051
microprocessor. - E.D.A. companies (Altera and Synopsys) have
expressed strong interest.
44Theory
Prove that cyclic implementations can have fewer
gates than equivalent acyclic ones.
(optimal)
456/7 Construction
Cyclic Circuit 6 functions, 3 variables, 6
fan-in 2 gates.
AND
OR
AND
OR
AND
OR
Acyclic Circuit at least 7 fan-in 2 gates.
46f1
Acyclic Circuit at least 7 fan-in 2 gates.
47Theory
Strategy
- Exhibit a cyclic circuit that is optimal in terms
of the number of gates, say with C(n) gates, for
n variables. - Prove a lower bound on the size of an acyclic
circuit implementing the same functions, say A(n)
gates.
Main Result
48Current Future Research Interests
- Logic Synthesis and Verification functional
decomposition, symbolic data structures, cyclic
decision diagrams. - Novel Platforms asynchronous models,
nanotechnology, noisy/probabilistic gates. - Computational Biology analysis of intracellular
biochemical networks.
49Computational Biology
Information encoded in biological systems
- One-dimensional digital (quaternary) code of DNA.
- Three-dimensional structure of proteins.
- Multi-dimensional intra-cellular biochemical
networks.
- Vast complexity of multi-cellular biological
organisms.
50Example of a Biological Circuit
Lambda Phage model of Arkin et al., 1998
51Intracellular Biochemical Networks
Formulation varies from qualitative and imprecise
52Intracellular Biochemical Networks
... to quantitative and highly precise
53Biochemical Reactions
Lingua Franca of computational biology.
Reaction
1 molecule of type A combines with 2
molecules of type B to produce 2 molecules of
type C.
Reaction is annotated with a rate constant and
physical constraints (localization, gradients,
etc.)
54Biochemical Reactions
Lingua Franca of computational biology.
Reaction
Species
- Elementary molecules (e.g., hydrogen,
phosphorous, ...)
- Complex molecules (e.g., proteins,
enzymes, RNA ...)
Reaction
- Conglomeration of steps (e.g., transcription
of gene product)
55Biochemical Reactions
Lingua Franca of computational biology.
Coupled Set Reactions
Goal given initial conditions, analyze
(predict) the evolution of such a system.
56Biochemical Reactions
Convential Approach numerical calculations based
on coupled ordinary differential equations.
- Computationally challenging (sometimes
intractable).
- Assumes that molecular quantities are
continuous values that vary deterministically
over time.
57Biochemical Reactions
Convential Approach numerical calculations based
on coupled ordinary differential equations.
- In intracellular networks, the number of
molecules of each complex type is generally
small (10s, 100s, at most 1000s).
- Individual reactions matter.
58Biochemical Reactions
Discrete Quantities of Molecular Species
Reactions
States
A
B
C
S1
4
7
5
S2
3
5
7
S3
0
0
997
A reaction transforms one state into another
59Analysis of Biochemical Reactions
Large domain, small range?
For m species, each with max. quantity N
inputs
Yes/No
Nm possibilities
Yes/No possibilities
60Analysis of Biochemical Reactions
Discrete Quantities of Molecular Species
Types of Questions
- Can a certain state, S1, be transformed into
another state, S2?
- Can S1 be transformed into S2 without passing
through a third state S3?
- Can S1 be reached from at least one state in a
set of states T? From all the states in a set of
states U?
61Decision Diagrams
e.g., set of possible initial states
62System of Biochemical Equations
State Evolution
R1 occurs
or
R2 occurs
states before
states after
or
R3 occurs
63Decision Diagrams
reaction 1 occurs
64Decision Diagrams
reaction 2 occurs
65Decision Diagrams
reaction 3 occurs
66Decision Diagrams
Reachable States After The Next Reaction
S1
or
S2
or
S3
67Decision Diagrams
Evolution of Reachable States
S
Track evolution of a large number of states in
parallel.
68Yes/No Questions
Can ask (and answer) arbitrarily complicated
yes/no questions pertaining to reachability
C1 state S is reachable after 100 reactions
C2 state T is reachable from state U or
from state V but not from both
C3 state X is never reachable
69Future Directions
Novel data structures that may allow us to ask
(and answer) quantitative and probabilistic
questions
70Papers Related to Cyclic Circuits
Computational Biology
- Collaboration with Molecular Sciences Institute,
Berkeley(NIH Grant for Centers of Excellence in
Genomic Sciences).
- The Synthesis of Cyclic Combinational Circuits,
M. Riedel and J. Bruck, DAC 03. Received Best
Paper Award. - Cyclic Combinational Circuits Analysis for
Synthesis, M. Riedel and J. Bruck, IWLS 03. - Timing Analysis of Cyclic Combinational
Circuits, M. Riedel and J. Bruck, IWLS, 04.
Patents
- A Method for the Synthesis of Cyclic
Combinational Circuits, M. Riedel and J. Bruck
(pending).
More Information
- www.paradise.caltech.edu/riedel,
riedel_at_caltech.edu