A Semi-Canonical Form for Sequential AIGs

Slides:



Advertisements
Similar presentations
Aaron Bradley University of Colorado, Boulder
Advertisements

Interconnect Verification 1 Outline –What is Interconnect Verification? –Why Interconnect Verification? –Interconnect Verification Algorithms Goal –Understand.
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.
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,
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.
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.
Modernizing Formal Verification Engines Robert Brayton Niklas Een Alan Mishchenko Berkeley Verification and Synthesis Research Center Department of EECS.
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,
Reducing Structural Bias in Technology Mapping
Synthesis for Verification
Power Optimization Toolbox for Logic Synthesis and Mapping
Alan Mishchenko UC Berkeley
Mapping into LUT Structures
Delay Optimization using SOP Balancing
Faster Logic Manipulation for Large Designs
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
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
Optimal Redundancy Removal without Fixedpoint Computation
Standard-Cell Mapping Revisited
Property Directed Reachability with Word-Level Abstraction
The Synergy between Logic Synthesis and Equivalence Checking
Faster Logic Manipulation for Large Designs
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
Automated Extraction of Inductive Invariants to Aid Model Checking
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
Resolution Proofs for Combinational Equivalence
Alan Mishchenko UC Berkeley (With many thanks to Donald Knuth,
Reinventing The Wheel: Developing a New Standard-Cell Synthesis Flow
Alan Mishchenko UC Berkeley (With many thanks to Donald Knuth for
Integrating an AIG Package, Simulator, and SAT Solver
Introduction to Logic Synthesis
Improvements in FPGA Technology Mapping
Canonical Computation without Canonical Data Structure
Recording Synthesis History for Sequential Verification
Delay Optimization using SOP Balancing
Logic Synthesis: Past and Future
Canonical Computation without Canonical Data Structure
Reinventing The Wheel: Developing a New Standard-Cell Synthesis Flow
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
Presentation transcript:

A Semi-Canonical Form for Sequential AIGs Alan Mishchenko, Niklas Een, Robert Brayton UC Berkeley Michael Case, Pankaj Chauhan, Nikhil Sharma Calypto Design Systems

Motivation Logic networks often contain duplicate sub-circuits Leads to redundant work Synthesis and verification tools re-analyze the same sub-circuit Verification tools waste time on duplicate proof obligations

Motivation Key idea: identify duplicate logic regions Ideal solution: isomorphism Our approximate solution: semi-canonical mapping Use the circuit structure to classify each sub-circuit

Example Fanout count  {b}, {m} are unique Complemented outputs  {c} is unique Fanin level  {F}, {G} are unique

Example Sometimes nodes cannot be distinguished After semi-canonicization: {F, F’}, {G, G’} Isomorphisms: F ≈ F’ , G ≈ G’ F’ G’

Implementation Implemented within ABC as an internal routine Puts the netlist in semi-canonical form Node order reflects both topological order & signatures Application 1: “write_aiger –u” Writes the netlist in semi-canonical form Application 2: “&iso” Discard isomorphic POs

Algorithm Overview Compute signatures for each node Signatures indicate which class a node is in Singleton nodes: nodes that have unique signatures Goal: assign unique signatures for as many nodes as possible Initially all signatures are 0

Algorithm Overview Edge value: reflects the structure around an edge edge_value := hash(driver_signature, edge_is_complemented) 4 1 3 5 6 8 7 2

Algorithm Overview Function: PropagateSignaturesForward() Assign the same random signature to all inputs For each node, signature := hash(old_signature, fanin edge_values) 71 42 1 2 15 3 19 8 4 5 6 7 12

Algorithm Overview Function: PropagateSignaturesBackward() Recompute edge values Assign the same random signature to all outputs For each node, signature := hash(old_signature, fanout edge_values) 71 42 15 19 12 12 12 12

Algorithm Overview Sometimes we cannot distinguish nodes  tie breaking Choose the equiv class with the largest level Assign unique signatures to the class nodes Propagate signatures to other nodes until convergence If there some equiv classes are left, go to Step 1 71 42 15

Implementation Implemented within ABC as an internal routine Puts the netlist in semi-canonical form Node order reflects both topological order & signatures Application 1: “write_aiger –u” Writes the netlist in semi-canonical form Application 2: “&iso” Discard isomorphic POs

Implementation Application 1: “write_aiger –u” Writes the netlist in semi-canonical form Useful for quickly comparing AIGER netlists Netlist N write_aiger -u N.aig diff Netlist N’ write_aiger -u Nprime.aig

Implementation Application 2: “&iso” Convert each PO to semi-canonical form (separately) Discard POs that have duplicate semi-canonical forms i.e. “drop isomorphic proof obligations” F’ G’ a' b’ c’ d’ Counterexamples/invariants on F/G can be re-mapped to F’/G’

Experimental Results With industrial verification benchmarks Remove isomorphic POs Apply synthesis, remove proved POs Remove isomorphic POs (again) Example FFs ANDs POs POs after iso iso (sec) POs after synthesis   SDCU 2442 14418 834 727 3.2 361 353 .09 TPC_P 1619 1270 948 795 16.00 394 393 .28 TCP_Oh 3838 36890 598 553 4.78 545 541 .55 PC_T 2565 20101 274 258 129 .01 SDXIA 7822 78858 600 490 32.04 245 .63 DU 10864 84397 946 518 198.14 458 432 .80 Initial AIG Size

Conclusion Previous work: computing functional symmetries and automorphisms simplifying reachability and SAT instances with symmetries First work on semi-canonical labeling of nodes in a sequential AIG Allows for caching intermediate AIGs in EDA tools Future work may include: Speeding up propagation of node signatures Generalizing the algorithm to work for logic networks other than the traditional AIGs

THANK YOU Public implementation is available in ABC https://bitbucket.org/alanmi/abc