DAG-Aware AIG Rewriting Alan Mishchenko, Satrajit Chatterjee, Robert Brayton Department of EECS, University of California Berkeley Presented by Rozana.

Slides:



Advertisements
Similar presentations
Switching circuits Composed of switching elements called “gates” that implement logical blocks or switching expressions Positive logic convention (active.
Advertisements

Recording Synthesis History for Sequential Verification Robert Brayton Alan Mishchenko UC Berkeley.
FRAIGs - A Unifying Representation for Logic Synthesis and Verification - Alan Mishchenko, Satrajit Chatterjee, Roland Jiang, Robert Brayton ERL Technical.
Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
ECE 667 Synthesis & Verificatioin - FPGA Mapping 1 ECE 667 Synthesis and Verification of Digital Systems Technology Mapping for FPGAs D.Chen, J.Cong, DAOMap.
FPGA Technology Mapping Dr. Philip Brisk Department of Computer Science and Engineering University of California, Riverside CS 223.
ECE 667 Synthesis and Verification of Digital Systems
ECE Synthesis & Verification 1 ECE 667 Spring 2011 ECE 667 Spring 2011 Synthesis and Verification of Digital Circuits Introduction to Logic Synthesis.
ECE 667 Synthesis & Verification - Boolean Functions 1 ECE 667 Spring 2013 ECE 667 Spring 2013 Synthesis and Verification of Digital Circuits Boolean Functions.
ECE Synthesis & Verification - Lecture 8 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Introduction.
Combining Technology Mapping and Retiming EECS 290A Sequential Logic Synthesis and Verification.
1 DAOmap: A Depth-optimal Area Optimization Mapping Algorithm for FPGA Designs Deming Chen, Jacon Cong ICCAD 2004 Presented by: Wei Chen.
Reducing Multi-Valued Algebraic Operations to Binary J.-H. Roland Jiang Alan Mishchenko Robert K. Brayton Dept. of EECS University of California, Berkeley.
Boolean Functions and their Representations
Introduction to Logic Synthesis Alan Mishchenko UC Berkeley.
EE290A 1 Retiming of AND- INVERTER graphs with latches Juliet Holwill 290A Project 10 May 2005.
1 FRAIGs: Functionally Reduced And-Inverter Graphs Adapted from the paper “FRAIGs: A Unifying Representation for Logic Synthesis and Verification”, by.
Reinventing The Wheel: Developing a New Standard-Cell Synthesis Flow Alan Mishchenko University of California, Berkeley.
Overview Part 2 – Circuit Optimization 2-4 Two-Level Optimization
Wenlong Yang Lingli Wang State Key Lab of ASIC and System Fudan University, Shanghai, China Alan Mishchenko Department of EECS University of California,
Department of Computer Engineering
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,
DAOmap: A Depth-optimal Area Optimization Mapping Algorithm for FPGA Designs Deming Chen and Jason Cong Computer Science Department University of California,
Logic Synthesis: Past and Future Alan Mishchenko UC Berkeley.
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.
Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications.
1 Stephen Jang Kevin Chung Xilinx Inc. Alan Mishchenko Robert Brayton UC Berkeley Power Optimization Toolbox for Logic Synthesis and Mapping.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Multi-Level Logic Synthesis.
Wenlong Yang Lingli Wang State Key Lab of ASIC and System Fudan University, Shanghai, China Alan Mishchenko Department of EECS University of California,
Research Roadmap Past – Present – Future Robert Brayton Alan Mishchenko Logic Synthesis and Verification Group UC Berkeley.
1 WireMap FPGA Technology Mapping for Improved Routability Stephen Jang, Xilinx Inc. Billy Chan, Xilinx Inc. Kevin Chung, Xilinx Inc. Alan Mishchenko,
DAOmap: A Depth-optimal Area Optimization Mapping Algorithm for FPGA Designs Deming Chen, Jason Cong , Computer Science Department , UCLA Presented.
A Semi-Canonical Form for Sequential Circuits Alan Mishchenko Niklas Een Robert Brayton UC Berkeley Michael Case Pankaj Chauhan Nikhil Sharma Calypto Design.
Kanupriya Gulati * Mathew Lovell ** Sunil P. Khatri * * Computer Engineering, Texas A&M University ** Hewlett Packard Company, Fort Collins, CO Efficient.
Global Delay Optimization using Structural Choices Alan Mishchenko Robert Brayton UC Berkeley Stephen Jang Xilinx Inc.
Reducing Structural Bias in Technology Mapping
Power Optimization Toolbox for Logic Synthesis and Mapping
Delay Optimization using SOP Balancing
Faster Logic Manipulation for Large Designs
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.
Applying Logic Synthesis for Speeding Up SAT
Integrating an AIG Package, Simulator, and SAT Solver
Reconfigurable Computing
Standard-Cell Mapping Revisited
Faster Logic Manipulation for Large Designs
SAT-Based Area Recovery in Technology Mapping
Polynomial Construction for Arithmetic Circuits
Alan Mishchenko University of California, Berkeley
SAT-Based Optimization with Don’t-Cares Revisited
Improvements to Combinational Equivalence Checking
Integrating Logic Synthesis, Technology Mapping, and Retiming
Reinventing The Wheel: Developing a New Standard-Cell Synthesis Flow
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
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.
A Practical Approach to Arithmetic Circuit Verification
Innovative Sequential Synthesis and Verification
Robert Brayton Alan Mishchenko Niklas Een
Robert Brayton Alan Mishchenko Niklas Een
Alan Mishchenko Department of EECS UC Berkeley
Integrating AIG Package, Simulator, and SAT Solver
Presentation transcript:

DAG-Aware AIG Rewriting Alan Mishchenko, Satrajit Chatterjee, Robert Brayton Department of EECS, University of California Berkeley Presented by Rozana Bashir Date 04/02/06

2 Overview  Introduction  Basic Definitions  Previous work  Proposed technique of AIG Rewriting  Experimental Results  Advantages and Disadvantages of AIG Rewriting  Conclusion  References

3 Introduction  AIG – Representation of combinational logic using a network of two input ANDs and Inverters  DAG Aware AIG Rewriting – A technique for the optimization of multi-level logic networks during the logic synthesis  Traditional Combinational Logic Synthesis – SIS, MVSIS Drawbacks Relies on trial and error of optimization scripts Improvements measured using the reduction of literals in the factored forms of the node SOPs Complicated and hard to implement Since traditional synthesis involves the computation of internal don’t cares, it is slow.

4 DAG-Aware AIG Rewriting  Proposed technique- DAG Aware AIG Rewriting [1] Optimizes the multi-level logic networks Technique for preprocessing combinational logic before technology mapping Optimization works as follows  By alternating the DAG aware AIG rewriting that reduces the area by sharing the common logic without increasing delay  By alternating AIG balancing that minimizes delay without increasing area  Why is the AIG Rewriting DAG aware? Because it makes use of logic sharing

5 Basic Definitions  CUT – A cut C of node n is a set of nodes of the network, called leaves, such that each path from PIs to n passes through at least one leaf Trivial CUT – The node itself is a trivial cut of the node K-feasible CUT – If the number of node in a cut does not exceed K, then the cut is K-feasible  Level of a node – Length of the longest path from any PI to the node  Network depth – Largest level of an internal node in the network  NPN equivalent – Two boolean functions F & G are said to be NPN equivalent if F can be derived from G by negating and permuting the inputs and then negating the outputs

6 Previous work  In [2], rewriting in two phases In the first phase, all two level AIG sub-graphs are pre-computed and stored in a hash table (by their functionality) containing all non- redundant AIG. The second phase involves the traversing the AIG of the circuit in a topological order  The two level AIG subgraph is found at each node and its boolean function is computed.  The computed function is used to access the hash table to find and replace the current subgraph in the circuit with equivalent subgraphs that leads to largest improvement in the number of nodes  Zero cost replacements- If none of the new subgraphs leads to improvement but a new graph that keeps the number of nodes constant is used for rewriting  The zero cost replacements is a heuristic method that may lead to improvements in subsequent rewriting

7 A simple example of AIG rewriting b acbc a Subgraph 1Subgraph 2Subgraph 3 abac abac abac bc a bc a abac Subgraph 1Subgraph 2 Subgraph 1Subgraph 2 Figure 1. Examples of different AND- Inverter structures for the same function Figure 2. A simple example of AIG rewriting ( one node less in each case) AIG Subgraphs for the function F = abc

8 Proposed technique of AIG Rewriting  Improvements compared to the previous work Use of 4-input cuts instead of two-level subgraphs Delay aware AIG rewriting by improving the number of logic levels Variations of AIG rewriting – minimization of area and delay is taken into account  AIG refactoring  AIG balancing

9 Using 4-input cuts  All 4-input cuts of all nodes are found for the purpose of AIG rewriting 4-variable functions can be manipulated faster because they are stored using 16-bit bitstrings representing truth table  For each cut, the boolean function is computed and its NPN-equivalence class is determined by a table look-up  The new subgraph that leads to the largest improvement at a node is chosen  If there is no improvement but the zero placements are enabled, a new subgraph that does not increase the number of node is used  Using 4-input cuts, instead of the two-level subgraphs extends the scope of rewriting For each cut, there are an average of three 4-feasible cuts, instead of just one two-level subgraph For each cut, we can try on an average of 5 different subgraphs

10 Delay-aware AIG rewriting  An incremental computation of the slacks at each internal AIG node is performed Slack at a node – Largest increase of its level that does not lead to an increase in level of POs  After trying each new subgraph, the level of the root node is computed using the slack  If the resulting increase in the number of the AIG levels exceeds the slack, the subgraph replacement is not accepted  Slack is incrementally updated after the subgraph replacement

11 Variations of AIG rewriting  AIG refactoring – tries to recover area Rewriting technique for processing subgraphs with more than four inputs or with larger cuts One K-feasible cut is computed for all AIG node  The CUT is selected heuristically such that the number of CUT leaves is minimized while the number of reconvergent paths covered by the CUT is maximized The boolean function of the CUT is computed using BDDs and converted into SOP The SOP is factored, resulting in an AIG subgraph that is processed during AIG rewriting  AIG balancing – tries to recover delay The associative transform a(bc) = (ab)c = (ac)b is applied at each node to reduce the number of AIG levels Interleaving AIG balancing with AIG rewriting or refactoring is a very good heuristic approach

12 A realistic example of AIG rewriting  ISCAS benchmark s27.blif  Triangles stand for PIs/Pos; rectangles denote latch outputs/inputs  Bubbles denote two-input ANDs; the dotted edges have complemented attributes POs PIs 4-node 3-level subgraph 3-node 3-level subgraph

13 Experimental Results  AIG Rewriting technique is implemented in the ABC tool - A System for Sequential Synthesis and Verification  Experiments were conducted on several sets of benchmark circuits and the AIG Rewriting is compared with the traditional logic synthesis tools, SIS and MVSIS  The resulting netlists were verified using a SAT based equivalence checker  Results shows that the AIG Rewriting is better than SIS and MVSIS in terms of both Area and Delay

14 Advantages and Disadvantages  Advantages of AIG rewriting compared to the traditional logic synthesis It is much simpler It is faster  Disadvantages of AIG rewriting compared to the traditional logic synthesis Improvements are measured by counting the total number of AIG nodes and the maximum number of AIG levels. A direct translation between these two cost functions leads to distortion

15 Conclusion  AIG Rewriting is much faster compared to SIS and MVSIS  AIG Rewriting also recovers area  The proposed technique has a potential for replacing the traditional logic synthesis in the CAD tools QUESTIONS?

16 References [1] A. Mishchenko, S. Chatterjee, and R. Brayton, "DAG-aware AIG rewriting: A fresh look at combinational logic synthesis", Accepted to DAC '06, Department of EECS, University of California, Berkeley. [2] P. Bjesse and A. Boralv, "DAG-aware circuit compression for formal verification", Proc. ICCAD '04, pp