Cyclic Combinational Circuits and Other Novel Constructs Marc D. Riedel California Institute of Technology Marrella splendensCyclic circuit (500 million.

Slides:



Advertisements
Similar presentations
Hybrid Infrared and Visible Light Projection for Location Tracking
Advertisements

Global Value Numbering using Random Interpretation Sumit Gulwani George C. Necula CS Department University of California, Berkeley.
Simplifications of Context-Free Grammars
PDAs Accept Context-Free Languages
- 1 - Using an SMT Solver and Craig Interpolation to Detect and Remove Redundant Linear Constraints in Representations of Non-Convex Polyhedra Christoph.
Adders Used to perform addition, subtraction, multiplication, and division (sometimes) Half-adder adds rightmost (least significant) bit Full-adder.
The Synthesis of Cyclic Circuits with SAT and Interpolation By John Backes and Marc Riedel ECE University of Minnesota.
Cognitive Radio Communications and Networks: Principles and Practice By A. M. Wyglinski, M. Nekovee, Y. T. Hou (Elsevier, December 2009) 1 Chapter 12 Cross-Layer.
Sequential Logic Design
Evaluating Window Joins over Unbounded Streams Author: Jaewoo Kang, Jeffrey F. Naughton, Stratis D. Viglas University of Wisconsin-Madison CS Dept. Presenter:
Robust Window-based Multi-node Technology- Independent Logic Minimization Jeff L.Cobb Kanupriya Gulati Sunil P. Khatri Texas Instruments, Inc. Dept. of.
Bayesian network for gene regulatory network construction
Break Time Remaining 10:00.
The basics for simulations
1 Thirteenth International Meeting on DNA Computers June 5, 2007 Staged Self-Assembly: Nanomanufacture of Arbitrary Shapes with O(1) Glues Eric DemaineMassachusetts.
Detection Chia-Hsin Cheng. Wireless Access Tech. Lab. CCU Wireless Access Tech. Lab. 2 Outlines Detection Theory Simple Binary Hypothesis Tests Bayes.
Introduction to CMOS VLSI Design Combinational Circuits
Switching circuits Composed of switching elements called “gates” that implement logical blocks or switching expressions Positive logic convention (active.
Discrete Mathematical Structures: Theory and Applications
Digital Systems Introduction Binary Quantities and Variables
Basics Combinational Circuits Sequential Circuits
Chapter 3 Logic Gates.
Digital Logic Design Gate-Level Minimization
Figure 3–1 Standard logic symbols for the inverter (ANSI/IEEE Std
1 Capacity analysis of mesh networks with omni or directional antennas Jun Zhang and Xiaohua Jia City University of Hong Kong.
1 Analysis of Random Mobility Models with PDE's Michele Garetto Emilio Leonardi Politecnico di Torino Italy MobiHoc Firenze.
Routing and Congestion Problems in General Networks Presented by Jun Zou CAS 744.
CS1022 Computer Programming & Principles
Karnaugh Maps ECEn/CS 224.
Efficient Implementation of Property Directed Reachability Niklas Een, Alan Mishchenko, Robert Brayton.
CS 240 Computer Programming 1
Combinational Circuits
An Algorithm for Constructing Parsimonious Hybridization Networks with Multiple Phylogenetic Trees Yufeng Wu Dept. of Computer Science & Engineering University.
Types of selection structures
12 System of Linear Equations Case Study
ELECTRONICS TECHNOLOGY Digital Devices I Karnaugh Maps
Clock will move after 1 minute
Select a time to count down from the clock above
and M-ary Quadrature Amplitude Modulation (M-QAM)
Introduction Distance-based Adaptable Similarity Search
9. Two Functions of Two Random Variables
1 Non Deterministic Automata. 2 Alphabet = Nondeterministic Finite Accepter (NFA)
Chapter 5 The Mathematics of Diversification
Bioinformatics Programming 1 EE, NCKU Tien-Hao Chang (Darby Chang)
Princess Sumaya University
Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
Schutzvermerk nach DIN 34 beachten 05/04/15 Seite 1 Training EPAM and CANopen Basic Solution: Password * * Level 1 Level 2 * Level 3 Password2 IP-Adr.
Timing Analysis Predicated on a topological ordering. l 1 = 1 level: l 2 = 1 x y x y z z c s g1g1 g4g4 g3g3 g2g2 g5g5 l 3 = 2 l 5 = 2 l 4 = 3.
The Analysis of Cyclic Circuits with Boolean Satisfiability John Backes, Brian Fett, and Marc Riedel Electrical Engineering, University of Minnesota.
Cyclic Combinational Circuits and Other Novel Constructs Marrella splendensCyclic circuit (500 million year old Trilobite)(novel construct)
Marc Riedel Synthesizing Stochasticity in Biochemical Systems Electrical & Computer Engineering Jehoshua (Shuki) Bruck Caltech joint work with Brian Fett.
Cyclic Combinational Circuits: Analysis for Synthesis Marc D. Riedel and Jehoshua Bruck California Institute of Technology.
The Synthesis of Cyclic Combinational Circuits Marc D. Riedel and Jehoshua Bruck California Institute of Technology {riedel,
Cyclic Combinational Circuits Theory Marc D. Riedel California Institute of Technology Marrella splendensCyclic circuit (500 million year old Trilobite)(novel.
Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback.
Gene Regulatory Networks - the Boolean Approach Andrey Zhdanov Based on the papers by Tatsuya Akutsu et al and others.
Cyclic Combinational Circuits and Other Novel Constructs Marc D. Riedel California Institute of Technology Marrella splendensCyclic circuit (500 million.
Timing Analysis of Cyclic Combinational Circuits Marc D. Riedel and Jehoshua Bruck California Institute of Technology IWLS, Temecula Creek, CA, June 4,
Marc Riedel A Discourse on Cycles Assistant Professor, ECE, Univ. Minnesota (in circuits and in computational biology) “In a good system, even evil men.
Jehoshua (Shuki) Bruck. From Screws to Systems… The Lineage of BMW.
Timing Analysis Predicated on a topological ordering. l 1 = 1 level: l 2 = 1 x y x y z z c s g1g1 g4g4 g3g3 g2g2 g5g5 l 3 = 2 l 5 = 2 l 4 = 3.
Cyclic Combinational Circuits and Other Novel Constructs Marrella splendensCyclic circuit (500 million year old Trilobite)(novel construct)
Biochemical Reactions: how types of molecules combine. Playing by the Rules + + 2a2a b c.
The Synthesis of Cyclic Combinational Circuits Marc D.Riedel, Jehoshua Bruck California Institute of Technology Presenter : Chi-Yun Cheng.
Analysis of Systems of Chemical Equations with Decision Diagrams A Decision DiagramThe Goddess Durga.
The Analysis of Cyclic Circuits with Boolean Satisfiability
“Definition” of Combinational
Example: Verification
Computational Biology
Illustrative Example p p Lookup Table for Digits of h g f e ) ( d c b
Presentation transcript:

Cyclic Combinational Circuits and Other Novel Constructs Marc D. Riedel California Institute of Technology Marrella splendensCyclic circuit (500 million year old Trilobite)(novel construct)

inputsoutputs The current outputs depend only on the current inputs. Combinational Circuits combinational logic

NAND OR AND NOR 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 NAND OR AND NOR

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.

Circuits with Cycles a b x c d x AND OR AND OR )))((( 1 fxcdxab 1 f

x a b c d AND OR AND OR x x 0 )))((( 1 fcdxab 1 f 0 Circuits with Cycles

x x x 0 0 a b c d AND OR AND OR 0 )))((( 1 fxcdab 1 f Circuits with Cycles

x 1 x 1 x x a b c d AND OR AND OR )))((( 1 fcdab 1 f Circuits with Cycles

1 1 x x x a b c d AND OR AND OR 1 ))((cdab 1 f )( 2 abxcdf Circuit is cyclic yet combinational; computes functions f 1 and f 2 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 OR AND OR There is no feedback in a functional sense. Circuit is cyclic yet combinational; computes functions f 1 and f 2 with 6 gates. An acyclic circuit computing these functions requires 8 gates. )( 2 abxcdf Circuits with Cycles x))((cdab 1 f

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).

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 that cyclic designs can be more compact.

Outline of Talk Analysis: circuit model, symbolic techniques. Synthesis: framework, implementation, and results. Theory: circuit complexity (limited). Application of circuit design techniques to biological systems. Current & Future Research Directions Cyclic Circuits

Fixed-point analysis over a ternary-valued (0, 1, ?) domain. Regardless of the prior values. Independently of all timing assumptions. Circuit Model A circuit must produces definite output values for each input combination (in the care set): A sequence of controlling values always determines the output. Formally: Informally:

Controlling Values a controlling input full set of non-controlling inputs unknown/undefined output 0 ? 0 AND ? ?

Each gate has delay in [ 0, t d ] The arrival time at a gate output is determined: either by the earliest controlling input; AND Timing Model arrival times (Assume t d = 1 )

The arrival time at a gate output is determined: either by the earliest controlling input; AND or by the latest non-controlling input Timing Model Each gate has delay in [ 0, t d ] (Assume t d = 1 )

Analysis Functional Analysis: determine what is computed. Timing Analysis: determine how long it takes to compute it. level: l 1 = 1 l 2 = 1 l 3 = 2 l 5 = 2 l 4 = 3 a b a b g1g1 g2g2 g3g3 g4g4 g5g5 c c

Analysis Explicit analysis: ORAND Functional Analysis: determine what is computed. Timing Analysis: determine how long it takes to compute it.

ORAND Analysis Explicit analysis: Functional Analysis: determine what is computed. Timing Analysis: determine how long it takes to compute it.

ORAND m inputs explict evaluation intractable combinations; Analysis Explicit analysis: Functional Analysis: determine what is computed. Timing Analysis: determine how long it takes to compute it.

ORAND Analysis Symbolic analysis: binary, multi-terminal decision diagrams. (See Timing Analysis of Cyclic Circuits, IWLS, 04) ? 1313 Functional Analysis: determine what is computed. Timing Analysis: determine how long it takes to compute it.

Synthesis 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. Design a circuit to meet a specification.

Example: 7 Segment Display Inputs a b c d e f g Output xxxx

Example: 7 Segment Display a b c d e f g Output

Substitution Basic minimization/restructuring operation: express a function in terms of other functions. Substitute b into a: (cost 9) a ))(( xxxxxxxxx (cost 8) Substitute c into a: (cost 5) Substitute c, d into a: (cost 4) a )( bxxxxxbx a cxxcx 321 a dccx 1

Substitution/Minimization Berkeley SIS Tool a ))(( xxxxxxxxx },,,{fdcb target function substitutional set a dccx 1 low-cost expression

Acyclic Substitution g f e b a c d Select an acyclic topological ordering: g f e d c b a

g f d c b a edcaxx 21 dccx 1 xxxxxxxxx ))((dxxxxxx )(cdxx 10 )( Select an acyclic topological ordering: Area (literal count): 37 Acyclic Substitution e 3 cxb d ba f

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 ))((dxxxxxx )(cdxx 10 )( e 3 cxb d ba f

Cyclic Substitution How can we find a cyclic solution that is combinational? g f d c b a e ?

Target Candidates Simpler Example: Cyclic Substitution

Target Candidates Simpler Example: Cyclic Substitution

Target Candidates Simpler Example: Cyclic Substitution

Break-Down approach Search performed outside space of combinational solutions. Terminates on optimal solution * cost 12 cost 13 cost 12 cost 13 combinational cost 14 Branch and Bound

Build-Up approach cost 17 cost 16 cost 15 not combinational cost 14 Branch ( without Bounding ) cost 13 best solution Search performed inside space of combinational solutions

g f e d c b a Area (literal count): 34 Combinational solution: xe 0 bxa 3 gxxxax 1023 )( axxex 321 )( exxxxxx )( cxxcx 301 xxxfx 1023 )( f Example: 7 Segment Display

Limit the density of edges a priori Limit breadth Tunnel depth-wise (with backtracking) Branch and Bound Heuristics: for target functions, configurations n Large search space: (See The Synthesis of Cyclic Circuits, DAC, 03)

Optimization for Area Number of NAND2/NOR2 gates for Berkeley SIS vs. CYCLIFYsolutions BenchmarkBerkeley SISCYCLIFYImprovement 5xp % ex % planet % s % bw % cse % pma % s % duke % styr % s % Based on script.rugged sequence and technology mapping.

Optimization for Area and Delay Berkeley SISCYCLIFY benchmarkAreaDelayAreaImprovementDelayImprovement p % % t % % in % % in % % 5xp %224.35% bw % % s % % s % % duke % % s % % s % % Number of NAND2/NOR2 gates and the Delay of Berkeley SIS vs. CYCLIFY solutions Based on script.delay sequence and technology mapping.

Practice 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.

Theory Prove that cyclic implementations can have fewer gates than equivalent acyclic ones. cyclic circuit acyclic circuit (optimal) functions, n variables, m fan-in gates d gates n more than gates n

6/7 Construction Cyclic Circuit: 6 functions, 3 variables, 6 fan-in 2 gates. ANDORANDORANDOR Acyclic Circuit: at least 7 fan-in 2 gates.

f1f1 f2f2 f3f3 f4f4 f5f5 f6f6

Theory 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. Strategy: Main Result:

Current & 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.

Computational Biology One-dimensional digital (quaternary) code of DNA. Information encoded in biological systems: Three-dimensional structure of proteins. Multi-dimensional intra-cellular biochemical networks. Vast complexity of multi-cellular biological organisms.

Lambda Phage model of Arkin et al., 1998 Example of a Biological Circuit

Intracellular Biochemical Networks Formulation varies from qualitative and imprecise:

Intracellular Biochemical Networks... to quantitative and highly precise:

Biochemical Reactions Lingua Franca of computational biology. 1 molecule of type A combines with 2 molecules of type B to produce 2 molecules of type C. Reaction Reaction is annotated with a rate constant and physical constraints (localization, gradients, etc.)

Biochemical Reactions Lingua Franca of computational biology. Elementary molecules (e.g., hydrogen, phosphorous,...) Complex molecules (e.g., proteins, enzymes, RNA...) Species: Reaction: Elementary step (e.g., ) Conglomeration of steps (e.g., transcription of gene product) Reaction

Coupled Set Reactions R1R1 R2R2 R3R3 Goal: given initial conditions, analyze (predict) the evolution of such a system. Lingua Franca of computational biology. Biochemical Reactions

Computationally challenging (sometimes intractable). Biochemical Reactions Assumes that molecular quantities are continuous values that vary deterministically over time. Convential Approach: numerical calculations based on coupled ordinary differential equations.

Biochemical Reactions In intracellular networks, the number of molecules of each complex type is generally small (10s, 100s, at most 1000s). Individual reactions matter.

Discrete Quantities of Molecular Species Reactions R1R1 R2R2 R3R3 States ABC S1S1 S2S2 S3S3 Biochemical Reactions A reaction transforms one state into another: e.g.,

inputsoutput Large domain, small range? N m possibilities Yes/No possibilities Chemical Equations Yes/No For m species, each with max. quantity N : Initial States Analysis of Biochemical Reactions

Can a certain state, S 1, be transformed into another state, S 2 ? Discrete Quantities of Molecular Species Types of Questions: Can S 1 be transformed into S 2 without passing through a third state S 3 ? Can S 1 be reached from at least one state in a set of states T? From all the states in a set of states U? Analysis of Biochemical Reactions

Decision Diagrams States ABC S1S1 S2S2 S3S3 e.g., set of possible initial states

states beforestates after R 1 occurs R 2 occurs R 3 occurs or State Evolution System of Biochemical Equations

Decision Diagrams CBA22 R1:R1: reaction 1 occurs

Decision Diagrams reaction 2 occurs R2:R2: ACB2

Decision Diagrams reaction 3 occurs R3:R3: BCA2

S1S1 or Reachable States After The Next Reaction Decision Diagrams S2S2 S3S3

Evolution of Reachable States Decision Diagrams S S1S1 or S2S2 S3S3 T T1T1 T2T2 T3T3 U... Track evolution of a large number of states in parallel.

Yes/No Questions Decision Diagram Can ask (and answer) arbitrarily complicated yes/no questions pertaining to reachability: Yes if C 1 or not(C 2 ) C 1 : state S is reachable after 100 reactions C 2 : state T is reachable from state U or from state V but not from both C 3 : state X is never reachable Yes if not C 1 and (C 2 or C 3 )

Future Directions Decision Diagram Yes with Prob. > 0.5 Yes with Prob. > 0.99 after 60 seconds. Novel data structures that may allow us to ask (and answer) quantitative and probabilistic questions:

Papers Related to Cyclic Circuits 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 Computational Biology Collaboration with Molecular Sciences Institute, Berkeley (NIH Grant for Centers of Excellence in Genomic Sciences).