ABC: A System for Sequential Synthesis and Verification BVSRC Berkeley Verification and Synthesis Research Center Robert Brayton, Niklas Een, Alan Mishchenko,

Slides:



Advertisements
Similar presentations
Recording Synthesis History for Sequential Verification Robert Brayton Alan Mishchenko UC Berkeley.
Advertisements

BVSRC Berkeley Verification and Synthesis Research Center UC Berkeley
Bounded Model Checking EECS 290A Sequential Logic Synthesis and Verification.
Introduction to Logic Synthesis Alan Mishchenko UC Berkeley.
1 FRAIGs: Functionally Reduced And-Inverter Graphs Adapted from the paper “FRAIGs: A Unifying Representation for Logic Synthesis and Verification”, by.
DAG-Aware AIG Rewriting Alan Mishchenko, Satrajit Chatterjee, Robert Brayton Department of EECS, University of California Berkeley Presented by Rozana.
Logic Synthesis Primer
Electrical and Computer Engineering Archana Rengaraj ABC Logic Synthesis basics ECE 667 Synthesis and Verification of Digital Systems Spring 2011.
ABC: An Industrial-Strength Academic Synthesis and Verification Tool (based on a tutorial given at CAV 2010) Berkeley Verification and Synthesis Research.
Modernized Computation Engines for Tomorrow's Formal Verification Robert Brayton Niklas Een Alan Mishchenko Berkeley Verification and Synthesis Research.
Enhancing and Integrating Model Checking Engines Robert Brayton Alan Mishchenko UC Berkeley June 15, 2009.
1 Alan Mishchenko UC Berkeley Implementation of Industrial FPGA Synthesis Flow Revisited.
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.
Combinational and Sequential Mapping with Priority Cuts Alan Mishchenko Sungmin Cho Satrajit Chatterjee Robert Brayton UC Berkeley.
Logic Synthesis: Past and Future Alan Mishchenko UC Berkeley.
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.
1 Stephen Jang Kevin Chung Xilinx Inc. Alan Mishchenko Robert Brayton UC Berkeley Power Optimization Toolbox for Logic Synthesis and Mapping.
Research Roadmap Past – Present – Future Robert Brayton Alan Mishchenko Logic Synthesis and Verification Group UC Berkeley.
1 Alan Mishchenko Research Update June-September 2008.
A Semi-Canonical Form for Sequential Circuits Alan Mishchenko Niklas Een Robert Brayton UC Berkeley Michael Case Pankaj Chauhan Nikhil Sharma Calypto Design.
Enhancing Model Checking Engines for Multi-Output Problem Solving Alan Mishchenko Robert Brayton Berkeley Verification and Synthesis Research Center Department.
The Benefit of Concurrent Model Checking BVSRC Berkeley Verification and Synthesis Research Center Baruch Sterin, A. Mishchenko, N. Een, Robert Brayton.
Global Delay Optimization using Structural Choices Alan Mishchenko Robert Brayton UC Berkeley Stephen Jang Xilinx Inc.
Sequential Equivalence Checking for Clock-Gated Circuits Hamid Savoj Robert Brayton Niklas Een Alan Mishchenko Department of EECS University of California,
A Toolbox for Counter-Example Analysis and Optimization
Reducing Structural Bias in Technology Mapping
Introduction to Formal Verification
Synthesis for Verification
Technology Mapping into General Programmable Cells
Power Optimization Toolbox for Logic Synthesis and Mapping
Alan Mishchenko UC Berkeley
Mapping into LUT Structures
Delay Optimization using SOP Balancing
Enhancing PDR/IC3 with Localization Abstraction
Robert Brayton Alan Mishchenko Niklas Een
New Directions in the Development of ABC
Alan Mishchenko Satrajit Chatterjee Robert Brayton UC Berkeley
Magic An Industrial-Strength Logic Optimization, Technology Mapping, and Formal Verification System Alan Mishchenko UC Berkeley.
Logic Synthesis: Past, Present, and Future
Applying Logic Synthesis for Speeding Up SAT
Synthesis for Verification
SmartOpt An Industrial Strength Framework for Logic Synthesis
Optimal Redundancy Removal without Fixedpoint Computation
Standard-Cell Mapping Revisited
The Synergy between Logic Synthesis and Equivalence Checking
The Synergy between Logic Synthesis and Equivalence Checking
Introduction to Formal Verification
Alan Mishchenko University of California, Berkeley
SAT-Based Optimization with Don’t-Cares Revisited
Scalable and Scalably-Verifiable Sequential Synthesis
Mapping into LUT Structures
GLA: Gate-Level Abstraction Revisited
Integrating Logic Synthesis, Technology Mapping, and Retiming
Reinventing The Wheel: Developing a New Standard-Cell Synthesis Flow
Integrating an AIG Package, Simulator, and SAT Solver
Introduction to Logic Synthesis
Alan Mishchenko UC Berkeley
Recording Synthesis History for Sequential Verification
Logic Synthesis: Past, Present, and Future
Delay Optimization using SOP Balancing
Alan Mishchenko UC Berkeley
Logic Synthesis: Past and Future
Reinventing The Wheel: Developing a New Standard-Cell Synthesis Flow
Magic An Industrial-Strength Logic Optimization, Technology Mapping, and Formal Verification System Alan Mishchenko UC Berkeley.
Innovative Sequential Synthesis and Verification
Robert Brayton Alan Mishchenko Niklas Een
Word-Level Aspects of ABC
Fast Min-Register Retiming Through Binary Max-Flow
Robert Brayton Alan Mishchenko Niklas Een
Alan Mishchenko Robert Brayton UC Berkeley
Presentation transcript:

ABC: A System for Sequential Synthesis and Verification BVSRC Berkeley Verification and Synthesis Research Center Robert Brayton, Niklas Een, Alan Mishchenko, Jiang Long, Sayak Ray, Baruch Sterin UC Berkeley Thanks to NSF, SRC, and industrial sponsors: Intel, IBM, Synopsys, Magma, Actel, Altera, Atrenta, Intrinsity, Jasper, Tabula, Verific, Real Intent, Oasys

ABC in a Design Flow System Specification RTL Logic synthesis Technology mapping Physical synthesis Manufacturing ABC Verification

Design size, gate count Time, years Conjunctive normal forms Truth tables Sum-of- products Binary Decision Diagrams Historical Perspective And-Inverter Graphs ,000,000 Espresso, MIS, SIS SIS, VIS, MVSIS ABC ,000

Areas Addressed by ABC Combinational synthesisCombinational synthesis –logic optimization –technology mapping –resynthesis after mapping Sequential synthesisSequential synthesis –retiming –structural register sweep –merging sequential equivs Formal verificationFormal verification –combinational equivalence checking (CEC) –bounded sequential verification (BMC) –unbounded sequential verification –verification using synthesis history

Combinational Synthesis with Structural Choices Traditional synthesis D2 D1 Synthesis with choices D3 HAIG D2 D1 D3D4 D4 Perform synthesis and keep track of changesPerform synthesis and keep track of changes –Iterate fast local AIG rewriting with a global view (via hash table) –Collect AIG snapshots and prove equivalences across them –Use equivalences (choices) during technology mapping ObservationsObservations –Leads to improved QoR after technology mapping –Successfully applied to designs with 1M+ gates

Technology Mapping Customizable structural mapping with priority cutsCustomizable structural mapping with priority cuts –Computes a small subset of cuts without impacting the QoR –Uses structural choices ObservationsObservations –Controls QoR tradeoffs –Minimizes delay/area, wire count, switching activity, etc –Successfully applied to 1M gate designs a b cd f e Primary inputs Primary outputs Choice node AIG Mapped network  a b c d e f LUT

Minimum-Perturbation Retiming Reduces delay after retiming, while minimizing the number of flops movedReduces delay after retiming, while minimizing the number of flops moved –Produces a trade-off: delay gain vs. the number of flops moved –Handles “industrial stuff” and retimes over white boxes! –Computes new initial state after backward retiming Allows the user to control the resourcesAllows the user to control the resources –Desired delay gain –Maximum allowed number of flops moved –Maximum area increase after retiming ObservationsObservations –Can be useful before and after placement –Can be implemented efficiently Runs in less than a minute for 1M gatesRuns in less than a minute for 1M gates Delay Flops moved

Sequential Verification Property checkingProperty checking –Takes design and property and makes a miter (AIG) Equivalence checkingEquivalence checking –Takes two designs and makes a miter (AIG) The goal is to transform AIG until the output can be proved const 0The goal is to transform AIG until the output can be proved const 0 Winner of Hardware Model Checking Competition in 2008 and 2010Winner of Hardware Model Checking Competition in 2008 and 2010http://fmv.jku.at/hwmcc10/results.html D2 D1 Equivalence checking 0 D1 Property checking 0 p

Parallel Verification Framework How to use multiple cores to speed up verification?How to use multiple cores to speed up verification? Our approach is to run multiple engines on the same problemOur approach is to run multiple engines on the same problem If any of the engines succeeds, other engines are stoppedIf any of the engines succeeds, other engines are stopped The number of computation paths explored in parallel is exponential in the number of forksThe number of computation paths explored in parallel is exponential in the number of forks –Leads to speed up on most problem –Allows to solve hard, unsolved problems Optimization Try to verify Abstraction Try to verify Speculation Try to verify …

Synthesis Case Study: Using ABC in an Industrial Flow 10

Verification Case Study: Solving Hard Industrial Examples 11 Hard means that an industrial tool could not solve it in 2 hoursHard means that an industrial tool could not solve it in 2 hours –Mixture of equivalence and property checking examples 381 examples381 examples –228 hard examples –153 solved by tool –ABC results on hard examples 92 tried92 tried –55 solved –37 unsolved 136 not tried yet136 not tried yet

Future Work Developing and scaling bit-level methodsDeveloping and scaling bit-level methods Addressing bottlenecks in the synthesis flowAddressing bottlenecks in the synthesis flow –AIG rewriting –Choice computation –Technology mapping –Sequential synthesis Improving the verification flowImproving the verification flow –Application-specific, circuit-based SAT solving –Extracting and using word-level information –Exploiting synergies with synthesis