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

Slides:



Advertisements
Similar presentations
The Synthesis of Cyclic Circuits with SAT and Interpolation By John Backes and Marc Riedel ECE University of Minnesota.
Advertisements

Cyclic Combinational Circuits and Other Novel Constructs Marc D. Riedel California Institute of Technology Marrella splendensCyclic circuit (500 million.
Switching circuits Composed of switching elements called “gates” that implement logical blocks or switching expressions Positive logic convention (active.
Comparative Succinctness of KR Formalisms Paolo Liberatore.
An Algorithm for Constructing Parsimonious Hybridization Networks with Multiple Phylogenetic Trees Yufeng Wu Dept. of Computer Science & Engineering University.
Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
Path Analysis Why path analysis for test case design?
CS357 Lecture: BDD basics David Dill 1. 2 BDDs (Boolean/binary decision diagrams) BDDs are a very successful representation for Boolean functions. A BDD.
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)
01/25/2005 Combinationality of cyclic circuits EECS 290A – Spring 2005 UC Berkeley.
Reduction of Interpolants for Logic Synthesis John Backes Marc Riedel University of Minnesota Dept.
ECE 667 Synthesis and Verification of Digital Systems
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,
1 Boolean Satisfiability in Electronic Design Automation (EDA ) By Kunal P. Ganeshpure.
Reducing Multi-Valued Algebraic Operations to Binary J.-H. Roland Jiang Alan Mishchenko Robert K. Brayton Dept. of EECS University of California, Berkeley.
Technology Mapping.
1 Generalized Buffering of PTL Logic Stages using Boolean Division and Don’t Cares Rajesh Garg Sunil P. Khatri Department of Electrical and Computer Engineering,
TH EDA NTHU-CS VLSI/CAD LAB 1 Re-synthesis for Reliability Design Shih-Chieh Chang Department of Computer Science National Tsing Hua University.
Cyclic Combinational Circuits Theory Marc D. Riedel California Institute of Technology Marrella splendensCyclic circuit (500 million year old Trilobite)(novel.
CSE 830: Design and Theory of Algorithms
Marc Riedel Ph.D. Defense, Electrical Engineering, Caltech November 17, 2003 Combinational Circuits with Feedback.
DAG-Aware AIG Rewriting Alan Mishchenko, Satrajit Chatterjee, Robert Brayton Department of EECS, University of California Berkeley Presented by Rozana.
Timing Analysis of Cyclic Combinational Circuits Marc D. Riedel and Jehoshua Bruck California Institute of Technology IWLS, Temecula Creek, CA, June 4,
01/27/2005 Combinationality of cyclic definitions EECS 290A – Spring 2005 UC Berkeley.
Marc Riedel A Discourse on Cycles Assistant Professor, ECE, Univ. Minnesota (in circuits and in computational biology) “In a good system, even evil men.
 2000 M. CiesielskiPTL Synthesis1 Synthesis for Pass Transistor Logic Maciej Ciesielski Dept. of Electrical & Computer Engineering University of Massachusetts,
Copyright © Cengage Learning. All rights reserved. CHAPTER 2 THE LOGIC OF COMPOUND STATEMENTS THE LOGIC OF COMPOUND STATEMENTS.
FPGA Technology Mapping. 2 Technology mapping:  Implements the optimized nodes of the Boolean network to the target device library.  For FPGA, library.
Overview Part 2 – Circuit Optimization 2-4 Two-Level Optimization
2.7 NAND and NOR logic networks
Maria-Cristina Marinescu Martin Rinard Laboratory for Computer Science Massachusetts Institute of Technology A Synthesis Algorithm for Modular Design of.
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: BDD BDDs applied in equivalence checking.
1 Fundamentals of Computer Science Propositional Logic (Boolean Algebra)
Digital Electronics. Introduction to Number Systems & Codes Digital & Analog systems, Numerical representation, Digital number systems, Binary to Decimal.
Logic Circuits Chapter 2. Overview  Many important functions computed with straight-line programs No loops nor branches Conveniently described with circuits.
05/04/06 1 Integrating Logic Synthesis, Tech mapping and Retiming Presented by Atchuthan Perinkulam Based on the above paper by A. Mishchenko et al, UCAL.
1 Formal Verification of Candidate Solutions for Evolutionary Circuit Design (Entry 04) Zdeněk Vašíček and Lukáš Sekanina Faculty of Information Technology.
LOGIC GATES.
Jehoshua (Shuki) Bruck. From Screws to Systems… The Lineage of BMW.
CS/EE 3700 : Fundamentals of Digital System Design Chris J. Myers Lecture 4: Logic Optimization Chapter 4.
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.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications.
Technology Mapping. 2 Technology mapping is the phase of logic synthesis when gates are selected from a technology library to implement the circuit. Technology.
Cyclic Combinational Circuits and Other Novel Constructs Marrella splendensCyclic circuit (500 million year old Trilobite)(novel construct)
The Synthesis of Cyclic Combinational Circuits Marc D.Riedel, Jehoshua Bruck California Institute of Technology Presenter : Chi-Yun Cheng.
Static Timing Analysis
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Digital Logic Design Basics Combinational Circuits Sequential Circuits Pu-Jen Cheng Adapted from the slides prepared by S. Dandamudi for the book, Fundamentals.
CS151 Introduction to Digital Design Chapter 5: Sequential Circuits 5-1 : Sequential Circuit Definition 5-2: Latches 1Created by: Ms.Amany AlSaleh.
On the Relation Between Simulation-based and SAT-based Diagnosis CMPE 58Q Giray Kömürcü Boğaziçi University.
BDD-based Synthesis of Reversible Logic for Large Functions Robert Wille Rolf Drechsler DAC’09 Presenter: Meng-yen Li.
Reducing Structural Bias in Technology Mapping
INTRODUCTION TO PROBLEM SOLVING
The Analysis of Cyclic Circuits with Boolean Satisfiability
A Boolean Paradigm in Multi-Valued Logic Synthesis
CSE 370 – Winter Combinational Implementation - 1
Sungho Kang Yonsei University
ECE 667 Synthesis and Verification of Digital Systems
“Definition” of Combinational
Overview Part 2 – Circuit Optimization
Technology Mapping I based on tree covering
Example: Verification
Copyright © Cengage Learning. All rights reserved.
Illustrative Example p p Lookup Table for Digits of h g f e ) ( d c b
Major Design Strategies
Major Design Strategies
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

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.