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

Slides:



Advertisements
Similar presentations
TWO STEP EQUATIONS 1. SOLVE FOR X 2. DO THE ADDITION STEP FIRST
Advertisements

Model Checking Lecture 4. Outline 1 Specifications: logic vs. automata, linear vs. branching, safety vs. liveness 2 Graph algorithms for model checking.
The Synthesis of Cyclic Circuits with SAT and Interpolation By John Backes and Marc Riedel ECE University of Minnesota.
Robust Window-based Multi-node Technology- Independent Logic Minimization Jeff L.Cobb Kanupriya Gulati Sunil P. Khatri Texas Instruments, Inc. Dept. of.
Recording Synthesis History for Sequential Verification Robert Brayton Alan Mishchenko UC Berkeley.
Addition 1’s to 20.
Week 1.
Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
ECE Synthesis & Verification 1 ECE 667 Synthesis and Verification of Digital Systems Formal Verification Combinational Equivalence Checking.
ECE 667 Synthesis and Verification of Digital Systems
Equivalence Checking Sean Weaver.
Introduction to Logic Synthesis Alan Mishchenko UC Berkeley.
EE290A 1 Retiming of AND- INVERTER graphs with latches Juliet Holwill 290A Project 10 May 2005.
Reachability Analysis using AIGs (instead of BDDs?) 290N: The Unknown Component Problem Lecture 23.
Computation Engines: BDDs and SAT (part 2) 290N: The Unknown Component Problem Lecture 8.
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.
ECE Synthesis & Verification - Lecture 10 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Binary.
Logic Synthesis Primer
ECE Synthesis & Verification, Lecture 17 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Technology.
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.
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,
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
1 Stephen Jang Kevin Chung Xilinx Inc. Alan Mishchenko Robert Brayton UC Berkeley Power Optimization Toolbox for Logic Synthesis and Mapping.
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.
Global Delay Optimization using Structural Choices Alan Mishchenko Robert Brayton UC Berkeley Stephen Jang Xilinx Inc.
Reducing Structural Bias in Technology Mapping
Synthesis for Verification
Power Optimization Toolbox for Logic Synthesis and Mapping
Alan Mishchenko UC Berkeley
Delay Optimization using SOP Balancing
Faster Logic Manipulation for Large Designs
SAT-Based Logic Optimization and Resynthesis
Robert Brayton Alan Mishchenko Niklas Een
Alan Mishchenko Satrajit Chatterjee Robert Brayton UC Berkeley
Magic An Industrial-Strength Logic Optimization, Technology Mapping, and Formal Verification System Alan Mishchenko UC Berkeley.
Simple Circuit-Based SAT Solver
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
Faster Logic Manipulation for Large Designs
Introduction to Formal Verification
SAT-Based Area Recovery in Technology Mapping
Polynomial Construction for Arithmetic Circuits
Alan Mishchenko University of California, Berkeley
Scalable and Scalably-Verifiable Sequential Synthesis
Improvements to Combinational Equivalence Checking
Integrating Logic Synthesis, Technology Mapping, and Retiming
Resolution Proofs for Combinational Equivalence
Integrating an AIG Package, Simulator, and SAT Solver
Introduction to Logic Synthesis
Improvements in FPGA Technology Mapping
Recording Synthesis History for Sequential Verification
Delay Optimization using SOP Balancing
Logic Synthesis: Past and Future
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
Introduction to Logic Synthesis with ABC
Robert Brayton Alan Mishchenko Niklas Een
Alan Mishchenko Department of EECS UC Berkeley
Integrating AIG Package, Simulator, and SAT Solver
Presentation transcript:

FRAIGs - A Unifying Representation for Logic Synthesis and Verification - Alan Mishchenko, Satrajit Chatterjee, Roland Jiang, Robert Brayton ERL Technical Report, EECS Dept., UC Berkeley, March Class presentation by Santosh Khasanvis 1

Outline Introduction Previous Work FRAIGs – Definition & Construction Applications Basic ABC Commands Summary 2

Introduction AIGs are Boolean networks composed of 2-input AND-gates and Inverters with considerable implementation advantages. Uniform representation for multi-level logic. Construction time and size proportional to circuit size (in contrast to canonical BDD). Enhanced with random simulation and Boolean satisfiability (SAT), they can efficiently solve problems in logic synthesis and verification. 3

Functional Reduction AIGs are not canonical – may contain syntactically distinct but functionally equivalent (redundant) internal nodes. Operations on such AIGs are inefficient and time consuming. Detecting and merging functionally equivalent nodes is called functional reduction. 4 “DAG-Aware AIG Rewriting A Fresh Look at Combinational Logic Synthesis” - Alan Mishchenko, Satrajit Chatterjee, Roland Jiang, Robert Brayton, DAC’06 Proceedings of the 43rd annual Design Automation Conference

Previous Work on AIG Functional Reduction AIGs initially built using structural hashing (strashing) and post-processed optionally to enforce functional reduction. 1.BDD Sweeping [1] Constructs BDDs of the AIG nodes in terms of primary inputs (PIs) and intermediate variables. A pair of AIG nodes with same BDDs are merged. Resource limits restrict BDD size. 2.SAT Sweeping [2] Achieves the same by solving topologically ordered SAT problems designed to prove or disprove equivalence of cut-point pairs. Candidate pairs are detected using simulation. 5 [1] A. Kuehlmann, et.al., “Robust boolean reasoning for equivalence checking and functional property verification”, IEEE Trans. CAD, Vol. 21(12), 2002, pp [2] A. Kuehlmann, “Dynamic Transition Relation Simplification for Bounded Property Checking”. Proc. ICCAD ‘04.

FRAIGs Definition. A functionally reduced AIG (FRAIG) is an AIG, in which, for any two AIG nodes ‘n1’ and ‘n2’, f n1 (x) ≠ f n2 (x) and f n1 (x) ≠ f n2 (x) Where f n (x), is a Boolean function of the logic cone rooted in node ‘n’ and expressed in terms of the PI variables x assigned to the leaves of the AIG. 6 ab(c‘) Eg: Functionally Redundant AIG FRAIGs - A Unifying Representation for Logic Synthesis and Verification Eg: FRAIG

FRAIGs FRAIGs are semi-canonical. 7 Different FRAIGs for the same function FRAIGs - A Unifying Representation for Logic Synthesis and Verification

Main Contributions Algorithm for on-the-fly Functional Reduction during AIG construction – Functionally Reduced AIGs. A new lossless logic synthesis methodology. Unifying logic synthesis and verification with applications to technology mapping. 8

Traditional AIG Construction Algorithm 9

Traditional AIG Construction Illustrated 10 Trivial Cases:(n 1 = n 2 ) ? -> n1 (n 1 = n 2 ’)? -> 0 (n 1 = const)?-> 0 or n2 (n 2 = const)?-> 0 or n1 n1 n2 p New Node Order Inputs:(n 1 swap arguments /****** One-Level Structural Hashing ************/ When a new AND-gate is added, checks are performed for a node with the same fan-in. n1 n2 p1 n1 n2 p2 n1 n2 p3 n1 n2 p4 Hash Table Look-up Hash Table Lookup:If matched, then return res (representative node) Else, create new node. n1 n2 res If Match n1 n2 p Else

FRAIG Construction Algorithm Enhances traditional algorithm by using random simulation and Boolean Satisfiability (SAT) to achieve functional reduction. Random Simulation is used to check for potentially equivalent nodes (simulation class). Also works as a quick method to prove functional uniqueness. SAT is called for equivalence checking of the candidate nodes derived from simulation (equivalence class). SAT is the most time consuming operation. 11

FRAIG Construction 12

FRAIG Construction Illustrated 13 Example Circuit Sub-Graph for x Sub-Graph for y Legend: Adapted From 'Equivalence Checking' - Sean Weaver, -

FRAIG Construction Illustrated 14 1-Level Strashing 1 Random Simulation to Generate Hash Simulation Table Sim_Class 1: {2} Sim_Class 2: {3} Sim_Class 3: {4} Sim_Class = set of candidate nodes for equivalence 2 Random Simulation to Generate Hash Simulation Table Sim_Class 1: {3,5} Sim_Class 2: {2,6} Sim_Class 3: {4} 3 Run SAT Solver: Result 1: 3 = 5 Result 2: 2 = 6 No Strashing Possible Adapted From 'Equivalence Checking' - Sean Weaver, -

6 1 Level Strashing Reduce 7 -> 8 FRAIG Construction Illustrated “Structural Record” Reduce 5 -> 3 6 -> 2 Adapted from 'Equivalence Checking' - Sean Weaver, -

Applications of FRAIGs 1.Traditional Logic Synthesis – Compact circuits by detecting and merging functionally equivalent nodes. Network nodes are constructed in terms of the PI variables. Nodes, represented by the same FRAIG node, are grouped into classes of equivalent functionality. One representative of each class is selected and used for equivalent nodes. 16

Applications of FRAIGs 2. “Lossless” Logic Synthesis & Technology Mapping Accumulates all intermediate logic representations for final selection later. Several versions of the network are FRAIGed into one AIG. Internally records structural alternatives. Technology mapping works on the cumulative AIG and selects best mapping of available choices. 17

Applications of FRAIGs 3. Formal Verification: FRAIGs are constructed on-the-fly. The circuits are equivalent iff the corresponding pairs of outputs are represented by the same FRAIG nodes. 18 Adapted from 'Equivalence Checking' - Sean Weaver,

ABC Commands - FRAIG fraig – Transforms network into FRAIG. Options -n : No strashing -r : Disable functional reduction (FR) -c : toggle alternate-structure recording fraig_store – Stores the current network as one “synthesis snapshot” in the internal AIG database to be restored and used for technology mapping later. fraig_restore – Converts the currently stored AIG snapshots into a FRAIG and sets it to be the current network, to which technology mapping can now be applied. The AIG database is reset by calling this command fraig_clean – Resets the AIG database without restoring it. cec - Performs equivalence check (FRAIGing + SAT approach by default) 19

Summary Algorithm for constructing FRAIGs on-the-fly. FRAIGs are semi-canonical. Unify Logic Synthesis and Verification. Default number of simulation vectors is CEC performance using FRAIGs is on par with state-of-the-art academic equivalence checkers. 20

Questions? 21