Alan Mishchenko Robert Brayton UC Berkeley

Slides:



Advertisements
Similar presentations
Recording Synthesis History for Sequential Verification Robert Brayton Alan Mishchenko UC Berkeley.
Advertisements

Automated Extraction of Inductive Invariants to Aid Model Checking Mike Case DES/CHESS Seminar EECS Department, UC Berkeley April 10, 2007.
Electrical and Computer Engineering Archana Rengaraj ABC Logic Synthesis basics ECE 667 Synthesis and Verification of Digital Systems Spring 2011.
Combinational and Sequential Mapping with Priority Cuts Alan Mishchenko Sungmin Cho Satrajit Chatterjee Robert Brayton 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.
Research Roadmap Past – Present – Future Robert Brayton Alan Mishchenko Logic Synthesis and Verification Group UC Berkeley.
1 Alan Mishchenko Research Update June-September 2008.
Variable-Time-Frame Gate-Level Abstraction Alan Mishchenko Niklas Een Robert Brayton Alan Mishchenko Niklas Een Robert Brayton UC Berkeley UC Berkeley.
Resolution Proofs as a Data Structure for Logic Synthesis John Backes Marc Riedel Electrical.
Global Delay Optimization using Structural Choices Alan Mishchenko Robert Brayton UC Berkeley Stephen Jang Xilinx Inc.
A Toolbox for Counter-Example Analysis and Optimization
Reducing Structural Bias in Technology Mapping
Introduction to Formal Verification
Ruei-Rung Lee, J.-H. Roland Jiang, and Wei-Lun Hung
Synthesis for Verification
Technology Mapping into General Programmable Cells
Power Optimization Toolbox for Logic Synthesis and Mapping
Alan Mishchenko UC Berkeley
Mapping into LUT Structures
Delay Optimization using SOP Balancing
Alan Mishchenko Department of EECS UC Berkeley
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 Satrajit Chatterjee Robert Brayton UC Berkeley
A. Mishchenko S. Chatterjee1 R. Brayton UC Berkeley and Intel1
Logic Synthesis: Past, Present, and Future
A Semi-Canonical Form for Sequential AIGs
Versatile SAT-based Remapping for Standard Cells
Integrating an AIG Package, Simulator, and SAT Solver
A Boolean Paradigm in Multi-Valued Logic Synthesis
Synthesis for Verification
Standard-Cell Mapping Revisited
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
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
Mapping into LUT Structures
Automated Extraction of Inductive Invariants to Aid Model Checking
Improvements to Combinational Equivalence Checking
SAT-based Methods for Scalable Synthesis and Verification
Resolution Proofs for Combinational Equivalence
Integrating an AIG Package, Simulator, and SAT Solver
Introduction to Logic Synthesis
Canonical Computation without Canonical Data Structure
SAT-Based Logic Synthesis
Alan Mishchenko UC Berkeley
This Lecture Substitution model
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
Innovative Sequential Synthesis and Verification
Robert Brayton Alan Mishchenko Niklas Een
Alan Mishchenko University of California, Berkeley
Word-Level Aspects of ABC
SAT-based Methods: Logic Synthesis and Technology Mapping
SAT-Based Logic Synthesis
Alan Mishchenko Department of EECS UC Berkeley
Integrating AIG Package, Simulator, and SAT Solver
Presentation transcript:

Alan Mishchenko Robert Brayton UC Berkeley Don’t-Care-Based Logic Restructuring with Unreachable-State Information Alan Mishchenko Robert Brayton UC Berkeley

Overview Introduction Parts and pieces Summary Sources of don’t-cares Ways of capturing don’t-care information Restructuring multi-level networks with don’t-cares Summary

Introduction There can be a lot of unreachable states They can be used for logic simplification/restructuring Previous methods may be limited Will try to develop a more general method Will use modern implementation technologies Induction to prove sequential properties Implemented using SAT Multi-level logic restructuring Implemented using truth tables

Ways of Capturing Don’t-Cares Sequential properties One-hotness conditions Clauses in terms of current-state variables 4-input clauses in terms of internal variables etc Should be proved inductively Refinement iteration with speculative reduction

Restructuring with Don’t-Cares Method 1 (pre-computation of EXDCs) Prove inductive invariants (e.g. implications in terms of current-state variables) Use them as external don’t-cares (EXDCs) Image EXDCs into local spaces using windowing Restructure multi-level logic using local don’t-cares Method 2 (in-place computation of local DCs) Use simulation to formulate desirable local properties (e.g. constraints on inputs of local cones) Prove these properties inductively Method 3 (proving target replacements) Use simulation to come up with desirable replacements (e.g. area-reducing decompositions) Prove these replacements inductively and use them No need to compute don’t-cares explicitly

Multi-Level Network Optimization Bi-decomposition algorithm Group variables Check decomposition feasibility Compute functions after decomposition Apply decomposition recursively Comments Works with don’t-cares Efficiently propagates internal don’t-cares Allows for on-the-fly resubstitution Increases logic sharing Can be implemented with truth tables Very fast for functions up to 16 inputs XB XA XC F A B

Summary This is an early work Outlined several promising ideas Need better understanding of how to use don’t-cares Implementation will follow somewhere down the line