Robert Brayton Alan Mishchenko Department of EECS UC Berkeley

Slides:



Advertisements
Similar presentations
FRAIGs - A Unifying Representation for Logic Synthesis and Verification - Alan Mishchenko, Satrajit Chatterjee, Roland Jiang, Robert Brayton ERL Technical.
Advertisements

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.
Electrical and Computer Engineering Archana Rengaraj ABC Logic Synthesis basics ECE 667 Synthesis and Verification of Digital Systems Spring 2011.
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.
Enhancing Model Checking Engines for Multi-Output Problem Solving Alan Mishchenko Robert Brayton Berkeley Verification and Synthesis Research Center Department.
Variable-Time-Frame Gate-Level Abstraction Alan Mishchenko Niklas Een Robert Brayton Alan Mishchenko Niklas Een Robert Brayton UC Berkeley UC Berkeley.
Global Delay Optimization using Structural Choices Alan Mishchenko Robert Brayton UC Berkeley Stephen Jang Xilinx Inc.
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
Delay Optimization using SOP Balancing
Enhancing PDR/IC3 with Localization Abstraction
SAT-Based Logic Optimization and Resynthesis
Robert Brayton Alan Mishchenko Niklas Een
New Directions in the Development of ABC
Alan Mishchenko Robert Brayton UC Berkeley
Alan Mishchenko Satrajit Chatterjee Robert Brayton UC Berkeley
Logic Synthesis Primer
Logic Synthesis: Past, Present, and Future
Applying Logic Synthesis for Speeding Up SAT
Versatile SAT-based Remapping for Standard Cells
SAT-based Methods: Logic Synthesis and Technology Mapping
Integrating an AIG Package, Simulator, and SAT Solver
A Boolean Paradigm in Multi-Valued Logic Synthesis
Synthesis for Verification
SAT-Based Logic Synthesis (yes, Logic Synthesis Is Everywhere
Standard-Cell Mapping Revisited
Property Directed Reachability with Word-Level Abstraction
Introduction to Formal Verification
SAT-Based Area Recovery in Technology Mapping
Polynomial Construction for Arithmetic Circuits
Alan Mishchenko University of California, Berkeley
Robert Brayton Alan Mishchenko Department of EECS UC Berkeley
Canonical Computation without Canonical Data Structure
SAT-Based Optimization with Don’t-Cares Revisited
Canonical Computation Without Canonical Data Structure
Scalable and Scalably-Verifiable Sequential Synthesis
Improvements to Combinational Equivalence Checking
SAT-based Methods for Scalable Synthesis and Verification
GLA: Gate-Level Abstraction Revisited
Integrating Logic Synthesis, Technology Mapping, and Retiming
SAT-Based Logic Synthesis (yes, Logic Synthesis Is Everywhere!)
Integrating an AIG Package, Simulator, and SAT Solver
Canonical Computation without Canonical Data Structure
SAT-Based Logic Synthesis
SAT-based Methods: Logic Synthesis and Technology Mapping
Alan Mishchenko UC Berkeley
Recording Synthesis History for Sequential Verification
Logic Synthesis: Past, Present, and Future
Delay Optimization using SOP Balancing
Robert Brayton Alan Mishchenko Department of EECS UC Berkeley
Alan Mishchenko UC Berkeley
Alan Mishchenko Department of EECS UC Berkeley
Canonical Computation without Canonical Data Structure
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
SAT-Based Logic Synthesis (yes, Logic Synthesis Is Everywhere!)
SAT-based Methods: Logic Synthesis and Technology Mapping
SAT-Based Logic Synthesis (yes, Logic Synthesis Is Everywhere!)
Fast Min-Register Retiming Through Binary Max-Flow
Robert Brayton Alan Mishchenko Niklas Een
SAT-Based Logic Synthesis
Alan Mishchenko Department of EECS UC Berkeley
Integrating AIG Package, Simulator, and SAT Solver
Presentation transcript:

Robert Brayton Alan Mishchenko Department of EECS UC Berkeley Task ID: 2710.001 SAT-based Methods for Scalable Synthesis and Verification Robert Brayton Alan Mishchenko Department of EECS UC Berkeley

Task Overview SRC task ID: 2710.001 Start date: 1-Nov-2016 Thrust area: CADT Task leaders: Robert K. Brayton, Univ. of California/Berkeley Alan Mishchenko, Univ. of California/Berkeley Industrial liaisons: See next slide Students: Yen-Sheng Ho (Mentor intern, graduating 2017)

Industrial Liaisons IBM Intel Mentor Graphics Jason Baumgartner Victor Kravets Intel Timothy Kam Steven Burns Michael Kishinevsky Mentor Graphics Jeremy Levitt

Anticipated Results Methodology and algorithms for next-generation improvements in logic synthesis, addressing reverse engineering SAT-based circuit restructuring precomputation of properties for practical Boolean functions Public software implementation of the above methodology and algorithms Experimental evaluation on industrial benchmarks.

Responding to the Needs of SRC Companies Reverse engineering enables applying word-level methods to gate-level problems. S3 System Tools S3.4 Advanced logic/physical/high-level synthesis and cross-boundary optimization Scalable synthesis leads to scalable verification V1 Verification Core Technologies V1.1 Advances in the scalability of automated model checking and sequential equivalence checking techniques for bit-level and bit-vector models V1.2 Advances in techniques: general-purpose SAT solvers; constraint solving techniques; SAT solvers tuned for specific applications; automatic abstraction and abstraction-refinement; satisfiability modulo theories (SMT) V1.3 Novel and improved algorithms for optimizing design and specification logic. Computing complete test-suites for multiple-fault testing using different fault models T1 Test Cost and Quality Improvement T1.1 Test cost reduction T1.4 Methods to improve test quality by effective test pattern selection across fault models SAT-based formulations can contribute to other areas S3.5 Fundamental/significant place/route improvements, including how to scale the methods for multi-core designs and reliability-aware place and route There has been continued interest from the SRC companies IBM, Mentor Graphics

Task Deliverables 31-Oct-2017 Software release of the RE engine and RE-enhanced equivalence checking engine. Evaluation on industrial problems. 31-Oct-2018 Software release of SAT-based logic restructuring. Evaluation on industrial problems. 31-Oct-2019 Software release of computation of Boolean properties with applications to network optimization. Evaluation on industrial problems. Final report summarizing research accomplishments and future direction. https://www.src.org/library/research-catalog/2710.001/

Background and Motivation Reverse engineering Discovering high-level structure in gate-level netlists Useful for both verification and synthesis SAT-based circuit restructuring Global, incremental, and exhaustive Useful for delay/area optimization before and after mapping The “genome project” of logic synthesis Precomputing useful functional properties of practical Boolean functions up to 16 inputs For example, exhaustive enumeration of non-redundant circuit structures for small practical functions will be used Useful for incremental resynthesis before and after mapping AIG rewriting is one special case

Summary of Recent Progress for Each Technical Goal 1st year: Reverse engineering Presented last year 2nd year: SAT-based circuit restructuring Improved algebraic factoring based on hashing (ASP-DAC’17) Improved SAT-based area recovery after mapping (ASP-DAC’18) SAT-based canonical computations with applications in logic synthesis and formal verification (DAC’18) Winning 2017 HWMCC largely by improving SAT-based methods Winning 2017 ICCAD CAD competition Problem A (Synthesizing target functions in ECO using SAT-based methods) (DAC’18) Winning 2016 ICCAD CAD competition Problem A (Equivalent fault computation using SAT-based methods) (TCAD’18) 3rd year: The “genome project” of logic synthesis Initial work on QBF-based enumeration of delay-optimizing circuit structures (DATE’17) and improved exact synthesis (DATE’18)

Comparison with Existing Work SAT-based canonical computations in logic synthesis - Extended LEXSAT (introduced by Knuth) and introduced a novel SAT-based algorithm, LEXUNSAT, which computes a canonical abstraction of the UNSAT core - Applied them to ISOP computation and CEX minimization, getting better results SAT-based area recover after technology mapping - Improved quality, paving the way to a fully SAT-based technology mapper SAT-based computations in ICCAD CAD competitions 2016-2017 - Won the 2016 competition on computing equivalent faults using SAT - Won the 2017 competition to synthesizing patch functions in ECO using SAT Novel integration of simulation and SAT - Substantially improved several applications based on simulation and SAT - Better runtime and scalability in several ABC commands (dch, fraig, dress, scorr, pdr)

Research Overview The following slides present three most important research results since the last review SAT-based canonical computations A novel integration of simulation and SAT solving Award-winning SAT-based ECO

Result 1: Canonical SAT In SAT-based computations, we can get canonical results! This is achieved without building a canonical representation or modifying the CNF generator and the SAT solver Canonical means that there is a unique result for any Original circuit structure CNF derived from this circuit SAT solver used to solve this CNF Canonical results include major artifacts returned by the SAT solver Counter-examples Abstractions of UNSAT cores These results take longer to compute but (in addition to being canonical) they have a higher quality, for example: An implicant computed for the function is prime A support computed for the node is minimal

Pseudo-code of LEXUNSAT Input: cnf F Output: the smallest satisfying assignment as literals in array A array LEXUNSAT( cnf F ) { Initialize array A to have all positive literals in the given order; for ( i = 0; i <|A|; i++ ) { if ( F is UNSAT under assumptions in A without A[i] ) invert the polarity of literal A[i] to be negative; } return A; A. Mishchenko, R. Brayton, A. Petkovska, M. Soeken, L. Amaru, and A. Domic, "Canonical computation without canonical representation", Accepted at DAC'18. https://people.eecs.berkeley.edu/~alanmi/publications/2018/dac18_canon.pdf

Result 2: More Effective Integration of Simulation and SAT Simulation and SAT have been used together for a long time Simulator disproves many properties, which saves SAT solver’s runtime SAT solver proves the correct properties and disproves those properties that are hard to disprove, thereby helping simulator Our contributions are a better understanding of how simulation and SAT should be orchestrated, leading to a new And-Inverter Graph (AIG) package that includes additional bookkeeping to make simulation and SAT faster and more scalable As a result, some of the key applications (such as computing node equivalences, structural choices, using don’t-cares, and others) become substantially (2x-5x) faster without reducing quality of results A. Mishchenko and R. Brayton, "Integrating AIG package, simulator, and SAT solver", Submitted to IWLS'18. https://people.eecs.berkeley.edu/~alanmi/publications/2018/iwls18_simsat.pdf

Novel Simulation / SAT Ecosystem

Result 3: SAT-Based ECO Engineering change order (ECO) is a problem of minimally patching a circuit to realize the Boolean function specified by another circuit A new SAT-based engine is implemented to derive the patch while minimizing its cost The engine was used in the 2017 ICCAD CAD competition and won the first place Part of the success of the proposed ECO, is because it is based on the canonical SAT-based procedure LEXUNSAT (this guaranteed minimality of the cost)

Illustration of SAT-Based ECO F(n, x)  S(x) … Outputs Implementation F(n, x) Specification S(x) n Node Inputs x Boolean space Resubstitution / ECO of n in terms of x exists iff I(x) x n F(n, x) == S(x) is true, that is x n F(n, x)  S(x) is false, that is F(0, x)  S(x) F(1, x)  S(x) x F(0, x)  S(x) & F(1, x)  S(x) is UNSAT Joint work with Ai Quoc Dao, Mark Po-Hung Lin, Jie-Hong Roland Jiang

Relevant Recent Publications SAT-based canonical computations in logic synthesis - A. Petkovska, A. Mishchenko, M. Soeken, G. De Micheli, R. Brayton, and P. Ienne, "Fast generation of lexicographic satisfiable assignments: Enabling canonicity in SAT-based applications", Proc. ICCAD’16. - A. Mishchenko, R. Brayton, A. Petkovska, M. Soeken, L. Amaru, and A. Domic, "Canonical computation without canonical representation", Proc. DAC'18. SAT-based area recover after technology mapping - B. Schmitt, A. Mishchenko, and R. Brayton, “SAT-based area recovery in structural technology mapping”, Proc. ASP-DAC’18. SAT-based computations in ICCAD CAD competitions 2016-2017 - D. A. Quoc, M. P.-H. Lin, and A. Mishchenko, "SAT-based fault equivalence checking in functional safety verification", To appear in TCAD. - D. A. Quoc, M. P.-H. Lin, N.-Z. Lee, L.-C. Chen, J.-H. R. Jiang, A. Mishchenko, and R. Brayton, "Efficient computation of ECO patch functions", Proc. DAC’18. Novel integration of simulation and SAT - A. Mishchenko and R. Brayton, "Integrating AIG package, simulator, and SAT solver", Submitted to IWLS'18. Improved scalability in logic synthesis - B. Schmitt, A. Mishchenko, V. Kravets, R. Brayton, and A. Reis, "Fast-extract with cube hashing", Proc. ASP-DAC'17. - L. Amaru´, M. Soeken, P. Vuillod, J. Luo, A. Mishchenko, J. Olson, R. Brayton, and G. De Micheli, "Improvements to Boolean resynthesis", Proc. DATE’18. - V. N. Possani, Y.-S. Lu, A. Mishchenko, K. Pingali, R. P. Ribas, and A. I. Reis, "Parallel AIG rewriting", Submitted to IWLS’18.

Conclusions Reviewed the SRC task (second year) “SAT-based Methods for Scalable Synthesis and Verification” Discussed ongoing and forthcoming work Reviewed recent publications