The Analysis of Cyclic Circuits with Boolean Satisfiability John Backes, Brian Fett, and Marc Riedel Electrical Engineering, University of Minnesota.

Slides:



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

Aaron Bradley University of Colorado, Boulder
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)
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.
Algorithms and Data Structures for Logic Synthesis and Verification using Boolean Satisfiability John Backes Advisor: Marc Riedel
Cyclic Combinational Circuits: Analysis for Synthesis Marc D. Riedel and Jehoshua Bruck California Institute of Technology.
A Transformation Based Algorithm for Reversible Logic Synthesis D. Michael Miller Dmitri Maslov Gerhard W. Dueck Design Automation Conference, 2003.
Sequential Logic Design Process A sequential circuit that controls Boolean outputs and a specific time- ordered behavior is called a controller. StepDescription.
The Synthesis of Cyclic Combinational Circuits Marc D. Riedel and Jehoshua Bruck California Institute of Technology {riedel,
08/07/041 CSE-221 Digital Logic Design (DLD) Lecture-8:
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
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.
Cyclic Combinational Circuits and Other Novel Constructs Marc D. Riedel California Institute of Technology Marrella splendensCyclic circuit (500 million.
 Y. Hu, V. Shih, R. Majumdar and L. He, “Exploiting Symmetries to Speedup SAT-based Boolean Matching for Logic Synthesis of FPGAs”, TCAD  Y. Hu,
Solving Boolean Satisfiability (SAT) Problem Using the Unate Recursive Paradigm Priyank Kalla, Maciej Ciesielski Dept. of Elec. & Comp. Engineering University.
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.
Functional Timing Analysis Made Fast and General Presenter: Yi-Ting Chung Advisor: Jie-Hong Roland Jiang 03/09/2012 Graduate Institute of Electronics Engineering,
USING SAT-BASED CRAIG INTERPOLATION TO ENLARGE CLOCK GATING FUNCTIONS Ting-Hao Lin, Chung-Yang (Ric) Huang Graduate Institute of Electrical Engineering,
Digital Logic Lecture 08 By Amr Al-Awamry. Combinational Logic 1 A combinational circuit consists of an interconnection of logic gates. Combinational.
MBSat Satisfiability Program and Heuristics Brief Overview VLSI Testing B Marc Boulé April 2001 McGill University Electrical and Computer Engineering.
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: SAT SAT applied in equivalence checking.
Gates and Logic Dr John Cowell phones off (please)
Property Directed Reachability (PDR) Using Cubes of Non-state Variables With Property Directed Reachability Using Cubes of Non-state Variables With Property.
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.
Cut-Based Inductive Invariant Computation Michael Case 1,2 Alan Mishchenko 1 Robert Brayton 1 Robert Brayton 1 1 UC Berkeley 2 IBM Systems and Technology.
Cyclic Combinational Circuits and Other Novel Constructs Marrella splendensCyclic circuit (500 million year old Trilobite)(novel construct)
Logic Gates M. AL-Towaileb1. Introduction Boolean algebra is used to model the circuitry of electronic devices. Each input and each output of such a device.
2009/2/10NTUEE Research Projects1 Applied Logic & Computation in System Design - A Research Invitation Jie-Hong R. Jiang 江介宏 NTUEE/GIEE National Taiwan.
1 Alan Mishchenko Research Update June-September 2008.
On the Relation Between Simulation-based and SAT-based Diagnosis CMPE 58Q Giray Kömürcü Boğaziçi University.
Lecture 1 Gunjeet kaur Dronacharya group of institutions.
Resolution Proofs as a Data Structure for Logic Synthesis John Backes Marc Riedel Electrical.
Sequential Equivalence Checking for Clock-Gated Circuits Hamid Savoj Robert Brayton Niklas Een Alan Mishchenko Department of EECS University of California,
The Analysis of Cyclic Circuits with Boolean Satisfiability
Synthesis for Verification
Technology Mapping into General Programmable Cells
Delay Optimization using SOP Balancing
Enhancing PDR/IC3 with Localization Abstraction
New Directions in the Development of ABC
Alan Mishchenko Satrajit Chatterjee Robert Brayton UC Berkeley
Simple Circuit-Based SAT Solver
Applying Logic Synthesis for Speeding Up SAT
Robert Brayton Alan Mishchenko Department of EECS UC Berkeley
Versatile SAT-based Remapping for Standard Cells
Integrating an AIG Package, Simulator, and SAT Solver
A Boolean Paradigm in Multi-Valued Logic Synthesis
SAT-Based Logic Synthesis (yes, Logic Synthesis Is Everywhere
SAT-Based Area Recovery in Technology Mapping
NP-Completeness Proofs
Canonical Computation without Canonical Data Structure
SAT-Based Optimization with Don’t-Cares Revisited
Canonical Computation Without Canonical Data Structure
SAT-based Methods for Scalable Synthesis and Verification
Resolution Proofs for Combinational Equivalence
SAT-Based Logic Synthesis (yes, Logic Synthesis Is Everywhere!)
Integrating an AIG Package, Simulator, and SAT Solver
“Definition” of Combinational
Canonical Computation without Canonical Data Structure
Delay Optimization using SOP Balancing
Canonical Computation without Canonical Data Structure
Illustrative Example p p Lookup Table for Digits of h g f e ) ( d c b
SAT-based Methods: Logic Synthesis and Technology Mapping
Fast Min-Register Retiming Through Binary Max-Flow
SAT-Based Logic Synthesis
Alan Mishchenko Department of EECS UC Berkeley
Integrating AIG Package, Simulator, and SAT Solver
Presentation transcript:

The Analysis of Cyclic Circuits with Boolean Satisfiability John Backes, Brian Fett, and Marc Riedel Electrical Engineering, University of Minnesota

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

x a b c d AND OR AND OR x x 0 )))((( 1 fcdxab 1 f  0 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

Circuit Model Perform analysis in the “floating-mode”. At the outset: all wires are assumed to have unknown/undefined values ( ). the primary inputs assume definite values in {0, 1}. a “controlling” input full set of “non-controlling” inputs unknown/undefined output

Circuit Model During the analysis, we propagate controlling values. 1    ORAND   Perform analysis in the “floating-mode”. At the outset: all wires are assigned to have unknown/undefined values ( ). the primary inputs assigned definite values in {0, 1}.

Exhaustive Analysis Assign values to every wire Step through all primary inputs values Propagate all known values a b c d AND OR AND OR x x

Exhaustive Analysis Assign values to every wire Step through all primary inputs values Propagate all known values a b c d AND OR AND OR x x

Exhaustive Analysis Assign values to every wire Step through all primary inputs values Propagate all known values 1 1

Previous Work S. Malik, Analysis of Cyclic Combinational Circuits M. Riedel, J. Bruck, The Synthesis of Cyclic Combinational Circuits, DAC03: Design Automation Conference  Best Paper Award at DAC03 M. Riedel, J. Bruck, Timing Analysis of Cyclic Combinational Circuits.

Analysis Combinational

Analysis Not Combinational Analysis

Why use Boolean Satisfiability (SAT)? BDD-based analysis is slow for large problem sizes SAT-based methods are known to be a good solution for large problem sizes in practice

SAT-Based Analysis SAT-Based Analysis UNSAT (Combinational)

SAT-Based Analysis SAT (Not Combinational) SAT-Based Analysis

SAT Based Analysis of Cyclic Circuits Find feedback arc set Introduce dummy variables Encode the circuit computation for ternary- valued logic (0, 1, ) SAT Question: Is there any input assignment that produces values somewhere in the circuit? ┴ ┴

Feedback and Dummy Variables

Ternary Logic Conversion Ternary ANDEncoding SchemeBinary AND f 0 = a 0 b 0 + a 1 b 0 b 1 f 1 = a 1 b 1 + a 0 b 1 b 0

The SAT Question “For any input assignment (where all dummy variables are assigned their correct values) does a value persist?” ┴

1 1 Previous Example

The Final SAT Instance

Runtimes (seconds) CircuitAreaBDD BasedSAT BasedRatio 5xp bbara < clip cse dk duke ex keyb misex planet planet pma s s s sand average

Further Work Synthesis  Implement new synthesis algorithm using Craig interpolation  Builds off of algorithm proposed in: C.-C. Lee, J.-H. R. Jiang, C.-Y. Huang, and A. Mishchenko, “Scalable exploration of functional dependency by interpolation and incremental SAT solving”, ICCAD07: International Conference on Computer Aided Design

Further Work f 0 f 1 x 0 x x n f 2 f 3 f 0 f 1 f 2 f 3 x 0 x x n

Acknowledgements Alan Mishchenko ABC: A System for Sequential Synthesis and Verification was used to along with MiniSat to implement the SAT Based algorithm Research funding was provided by FENA