Synthesis for Verification

Slides:



Advertisements
Similar presentations
Aaron Bradley University of Colorado, Boulder
Advertisements

Introduction to Logic Synthesis Alan Mishchenko UC Berkeley.
Electrical and Computer Engineering Archana Rengaraj ABC Logic Synthesis basics ECE 667 Synthesis and Verification of Digital Systems Spring 2011.
Enhancing and Integrating Model Checking Engines Robert Brayton Alan Mishchenko UC Berkeley June 15, 2009.
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.
Scalable and Scalably-Verifiable Sequential Synthesis Alan Mishchenko Mike Case Robert Brayton UC Berkeley.
Combinational and Sequential Mapping with Priority Cuts Alan Mishchenko Sungmin Cho Satrajit Chatterjee Robert Brayton UC Berkeley.
ABC: A System for Sequential Synthesis and Verification BVSRC Berkeley Verification and Synthesis Research Center Robert Brayton, Niklas Een, Alan Mishchenko,
The Synergy between Logic Synthesis and Equivalence Checking R. Brayton UC Berkeley Thanks to SRC, NSF, California Micro Program and industrial sponsors,
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.
Equivalence checking Prof Shobha Vasudevan ECE 598SV.
1 Alan Mishchenko Research Update June-September 2008.
Sequential Verification Overview Robert Brayton UC Berkeley.
Enhancing Model Checking Engines for Multi-Output Problem Solving Alan Mishchenko Robert Brayton Berkeley Verification and Synthesis Research Center Department.
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
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
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
Versatile SAT-based Remapping for Standard Cells
Integrating an AIG Package, Simulator, and SAT Solver
Synthesis for Verification
Optimal Redundancy Removal without Fixedpoint Computation
Property Directed Reachability with Word-Level Abstraction
The Synergy between Logic Synthesis and Equivalence Checking
The Synergy between Logic Synthesis and Equivalence Checking
Introduction to Formal Verification
SAT-Based Area Recovery in Technology Mapping
Polynomial Construction for Arithmetic Circuits
Alan Mishchenko University of California, Berkeley
Canonical Computation without Canonical Data Structure
SAT-Based Optimization with Don’t-Cares Revisited
Canonical Computation Without Canonical Data Structure
Robert Brayton UC Berkeley
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
Research Status of Equivalence Checking at Zhejiang University
Resolution Proofs for Combinational Equivalence
Integrating an AIG Package, Simulator, and SAT Solver
Introduction to Logic Synthesis
Improvements in FPGA Technology Mapping
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
Canonical Computation without Canonical Data Structure
Magic An Industrial-Strength Logic Optimization, Technology Mapping, and Formal Verification System Alan Mishchenko UC Berkeley.
A Practical Approach to Arithmetic Circuit Verification
Innovative Sequential Synthesis and Verification
Robert Brayton Alan Mishchenko Niklas Een
SAT-based Methods: Logic Synthesis and Technology Mapping
Fast Min-Register Retiming Through Binary Max-Flow
Robert Brayton Alan Mishchenko Niklas Een
Alan Mishchenko Department of EECS UC Berkeley
Integrating AIG Package, Simulator, and SAT Solver
Alan Mishchenko Robert Brayton UC Berkeley
Presentation transcript:

Synthesis for Verification Alan Mishchenko UC Berkeley

Overview Synthesis-verification duality Synthesis-oriented verification Verification-oriented synthesis Combinational synthesis Signal correspondence Min-area retiming Speculation Future work

Synthesis-Verification Duality Enabling each other Migrating algorithms Co-evolving efficient solution

Sequential Verification D1 Property checking miter p Property checking Create miter from the design and the property Equivalence checking Create miter from two versions of the same design Assuming the initial state is given The goal is to prove that the output of the miter is 0, for all states reachable from the initial Two ways of doing the same Proving miter to be constant 0 Synthesizing miter to constant 0 D2 D1 Equivalence checking miter

Synthesis-Oriented Verification Verification at the service of synthesis Comb equivalence checking enabled technology mapping using structural choices Led in improvement in quality Interpolation allows resynthesis to be performed without explicitly computing don’t-cares Led to savings in runtimes Balanced combination of simulation and SAT replaced BDDs in all known synthesis applications Led to better scalability

Verification-Oriented Synthesis Synthesis at the service of verification Combinational synthesis Signal correspondence Min-area retiming Speculation

Combinational Synthesis AIG rewriting minimizes the number of AIG nodes without increasing the number of AIG levels Rewriting AIG subgraphs Pre-computing AIG subgraphs Consider function f = abc Rewriting node A a b c A Subgraph 1 b c a A Subgraph 2  a b c Subgraph 1 b c a Subgraph 2 a c b Subgraph 3 Rewriting node B b c a B Subgraph 2 a b c B Subgraph 1 a b c  In both cases 1 node is saved

Signal Correspondence Consider registers and nodes of a design Detect candidate equivalences in this set using random/guided simulation Prove candidates by K-step induction Merge the resulting equivalences This is a subset of sequential synthesis with Practical advantages (does not move registers, etc) Scales to large circuits Offers substantial improvements Comes with a verification guarantee Can benefit from sequential constraints

The Use of Constraints Two types of constraints Inductive invariants (properties of the circuit) User-specified restriction on reachable states Constraints can be automatically detected Leads to ‘unfolded’ and ‘folded’ representation of constraints Folded representation works in most cases BMC Interpolation Unfolded constraints are also very useful Signal correspondence

Unfolded and Folded Constraints Property with folded constraint P C Property (0=holds) Constraint (0=holds) P C

Combinational SAT Sweeping Applying SAT to the output ? SAT Naïve CEC approach – SAT solving Build output miter and call SAT works well for many easy problems Better CEC approach – SAT sweeping based on incremental SAT solving Detects possibly equivalent nodes using simulation Candidate constant nodes Candidate equivalent nodes Runs SAT on the intermediate miters in a topological order Refines the candidates using counterexamples Proving internal equivalences in a topological order A B SAT-1 ? D C SAT-2 SAT-3

Sequential SAT Sweeping Sequential SAT sweeping is similar to combinational one in that it detects node equivalences The difference is, the equivalences are sequential They hold only in the reachable state space Sequential equivalence is proved by K-step induction Efficient implementation of induction is key!

Sequential SAT Sweeping Base Case Inductive Case ? Candidate equivalences: {A,B}, {C,D} D C SAT-2 ? Proving internal equivalences in a topological order in frame K A B SAT-1 ? D C SAT-4 ? PIk A B SAT-3 PI1 ? C D D C SAT-2 A ? Assuming internal equivalences to in uninitialized frames 0 through K-1 B A B SAT-1 PI1 PI0 C D Initial state A Proving internal equivalences in initialized frames 0 through K-1 B PI0 Symbolic state

Min-Area Retiming Temporarily ignore PIs/POs and their transitive fan-in/out Retiming registers to another location corresponds to finding new cut of the combinational DAG # registers = # nodes in the cut Min-cut/Max-flow duality Can use max-flow to find min-cut Min-cut is not unique However, this leads to minimum movement of registers from original cut source sink source sink

Primary Inputs/Outputs Treatment depends on application Synthesis: primary I/Os must be identically synchronized Verification: synchronization is not necessary Logic source sink PI Can’t forward retime PO PI

Retiming Over Multiple Frames Solution: Repeat over single frame Terminate when no further change Forward and backward retiming are similar, with roles of PIs / POs, sources / sinks reversed Logic Logic Logic Logic

Overall Algorithm Start Forward retiming Backward retiming Block Fan-out Cone of PIs Block Fan-in Cone of POs Compute Max-Flow Compute Max-Flow Yes Yes Improv.? No Implement Min-Cut Improv.? Implement Min-Cut No Forward retiming is preferred due to the ease of initial state computation Done

Speculative Reduction Detect candidate sequential equivalences in the miter Done first by simulation Refined by BMC Assume these equivalences are true Merge fanouts, rehash logic, add XORs to create new POs The result is a Speculatively Reduced Model (SRM) SRM is UNSAT iff all candidate equivalences hold! SRM has a different circuit structure SRM is often easier to prove A A B B Adding assumptions without speculative reduction Adding assumptions with speculative reduction

Future Work Improving old engines Developing new engines Tighter integration