New Directions in the Development of ABC

Slides:



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

ECE Synthesis & Verification 1 ECE 667 Synthesis and Verification of Digital Systems Formal Verification Combinational Equivalence Checking.
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.
ABC: A System for Sequential Synthesis and Verification BVSRC Berkeley Verification and Synthesis Research Center Robert Brayton, Niklas Een, Alan Mishchenko,
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.
Boolean Satisfiability Present and Future
Equivalence checking Prof Shobha Vasudevan ECE 598SV.
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.
Variable-Time-Frame Gate-Level Abstraction Alan Mishchenko Niklas Een Robert Brayton Alan Mishchenko Niklas Een Robert Brayton UC Berkeley UC Berkeley.
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
Introduction to Formal Verification
Synthesis for Verification
Technology Mapping into General Programmable Cells
SAT-based Methods: Logic Synthesis and Technology Mapping
Alan Mishchenko UC Berkeley
Solving Linear Arithmetic with SAT-based MC
Alan Mishchenko Department of EECS UC Berkeley
Enhancing PDR/IC3 with Localization Abstraction
Alan Mishchenko 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
Robert Brayton Alan Mishchenko Department of EECS UC Berkeley
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
SmartOpt An Industrial Strength Framework for Logic Synthesis
SAT-Based Logic Synthesis (yes, Logic Synthesis Is Everywhere
LPSAT: A Unified Approach to RTL Satisfiability
Property Directed Reachability with Word-Level Abstraction
Introduction to Formal Verification
SAT-Based Area Recovery in Technology Mapping
Polynomial Construction for Arithmetic Circuits
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
SAT-based Methods: Logic Synthesis and Technology Mapping
Logic Synthesis: Past, Present, and Future
Alan Mishchenko UC Berkeley
Logic Synthesis: Past and Future
Canonical Computation without Canonical Data Structure
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
Alan Mishchenko University of California, Berkeley
Word-Level Aspects of ABC
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!)
Robert Brayton Alan Mishchenko Niklas Een
SAT-Based Logic Synthesis
Alan Mishchenko Department of EECS UC Berkeley
Integrating AIG Package, Simulator, and SAT Solver
Alan Mishchenko Robert Brayton UC Berkeley
Presentation transcript:

New Directions in the Development of ABC Alan Mishchenko Robert Brayton Department of EECS UC Berkeley

Overview What is beyond logic synthesis? Overview of recent research New (even more scalable) logic synthesis Formal verification High-level (in particular, word-level logic) synthesis Place and route Overview of recent research Linear-time algorithm for divisor extraction (IWLS’15) Reverse-engineering AIG into a word-level netlist (IWLS’15) Sequential verification after clock-gating (DAC’15) C-to-Verilog translation (IWLS’15) Focusing on two recent developments Handling word-level designs in ABC Formulating and solving problems using a QBF solver 2

Handling Word-Level Designs in ABC Structural Verilog ABC Structural Verilog parser Verific RTL Designs Programmable APIs RTL Industrial database Word-level netlist Bit-level engines Structural Verilog

Ongoing Work Developing a robust netlist data-structure to representing designs that are Structural should also handle “industrial stuff” (memories, flops, inouts, etc) Hierarchical should also be efficient for large flat objects Word-level should also allow for bit-level and byte-level handling Some interesting findings here

QBF What is QBF? Practical applications Problem representation QBF solver(s) in ABC Improving scalability

Background on SAT A typical SAT problem Given a set of constraints, find a solution Example: find a winning move of the game White begins and wins in 1 move

Extension to QBF What if we play against an opponent? Given the constraints, and the allowed moves for each player – find a winning strategy White begins and wins in 3 moves!

QBF Example: Consider it as a two player game E (a GOOD player) is trying to satisfy the problem A (a EVIL player) is trying to falsify it

Satisfiable QBF Consider instance It is SAT because there is a winning strategy for the E player (model):

Unsatisfiable QBF Consider instance It is UNSAT because there is a winning strategy for the A player (counter-model):

Application 1: Relation Determinization Given a relation, find its functional representation Existing approaches use BDD Has a natural QBF encoding

Application 2: BMC SAT encoding QBF High level info missing Semantically suppressed multiple copies of T 12

Application 3: Logic Synthesis Find a “parameterized” implementation = CNFization OR 2LUT AND 2LUT

Application 4: Invariant Computation Given relation R, compute invariant F Model invariant as a K-LUT with function specified by parameters p Joint work with Professor Fujita at U of Tokyo

QBF Problem Representation QBF miter Combinational circuit (an AIG) with one primary output Primary inputs are “parameter” and “functional variables” (“parameters” are ordered before “functional variables”) QBF solvers in ABC Commands “qbf” and “&qbf” Example: Finding an implementation of 6-input AND-gate in terms of 5 two-input AND-gates abc 01> gen -f -N 6 -K 2 -L 5 qbf/fpga_N6_K2_L5.blif abc 01> read qbf/fpga_N6_K2_L5.blif; ps; st; ps; &get; &qbf -P 60 Warning: The network contains hierarchy. Hierarchy reader flattened 15 instances of logic boxes and left 0 black boxes. struct5x2_6 : i/o = 66/ 1 lat = 0 nd = 183 lev = 41 struct5x2_6 : i/o = 66/ 1 lat = 0 and = 283 lev = 53 Parameters: 111011101101001001000001010100000100001001110011011010001001 Stats: 0=34 1=26 The problem is SAT after 26 iterations. Time = 0.07 sec

QBF Solvers in ABC QBF miters are solved by a CEGAR approach, which employs two SAT solvers One solver checks if a given p-valuation is a solution If the solver returns UNSAT, the QBF problem is SAT One solver looks for the next p-valuation to check If the solver returns UNSAT, the QBF problem is UNSAT Good scalability required efficient implementation Recently, we researched several new ways of scaling the QBF solver: Better CNF generation Better selection of p-valuations Selective quantification of functional variables

Conclusions Reviewed recent developments in ABC Focused on two new trends Inputting and using word-level design information Emergence of QBF solver as a practical tool in solving problems arising in synthesis and verification The current work is focusing on Improving word-level netlist data-structure Improving scalability of QBF solvers in ABC

Abstract In this presentation, we will review a number of new directions that are currently being explored in developing ABC. We will focus on two directions on interest to this group.  The first one is, adding capabilities to ABC for inputting word-level hierarchical design information, and their impact on integration with industrial tools.  The second one is, the emergence of QBF as a practical computation engine, scalability improvements to the QBF solver ABC, and practical applications in synthesis and verification.