Alan Mishchenko Department of EECS UC Berkeley

Slides:



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

ECE 667 Synthesis and Verification of Digital Systems
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.
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.
Technology Mapping. 2 Technology mapping is the phase of logic synthesis when gates are selected from a technology library to implement the circuit. Technology.
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.
Resolution Proofs as a Data Structure for Logic Synthesis John Backes Marc Riedel Electrical.
A Toolbox for Counter-Example Analysis and Optimization
Reducing Structural Bias in Technology Mapping
NP-Completeness (2) NP-Completeness Graphs 4/13/2018 5:22 AM x x x x x
Synthesis for Verification
Technology Mapping into General Programmable Cells
NP-Completeness (2) NP-Completeness Graphs 7/23/ :02 PM x x x x
NP-Completeness (2) NP-Completeness Graphs 7/23/ :02 PM x x x x
NP-Completeness Proofs
SAT-based Methods: Logic Synthesis and Technology Mapping
Alan Mishchenko UC Berkeley
Delay Optimization using SOP Balancing
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
Logic Synthesis Primer
Logic Synthesis: Past, Present, and Future
Simple Circuit-Based SAT Solver
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
A Boolean Paradigm in Multi-Valued Logic Synthesis
Synthesis for Verification
SAT-Based Logic Synthesis (yes, Logic Synthesis Is Everywhere
Standard-Cell Mapping Revisited
NP-Completeness (2) NP-Completeness Graphs 11/23/2018 2:12 PM x x x x
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
SAT-based Methods for Scalable Synthesis and Verification
Sungho Kang Yonsei University
ECE 667 Synthesis and Verification of Digital Systems
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
SAT-Based Logic Synthesis (yes, Logic Synthesis Is Everywhere!)
Integrating an AIG Package, Simulator, and SAT Solver
Canonical Computation without Canonical Data Structure
Technology Mapping I based on tree covering
SAT-based Methods: Logic Synthesis and Technology Mapping
SAT-based Methods: Logic Synthesis and Technology Mapping
Logic Synthesis: Past, Present, and Future
Delay Optimization using SOP Balancing
Canonical Computation without Canonical Data Structure
A Practical Approach to Arithmetic Circuit Verification
Innovative Sequential Synthesis and Verification
SAT-Based Logic Synthesis (yes, Logic Synthesis Is Everywhere!)
SAT-based Methods: Logic Synthesis and Technology Mapping
SAT-Based Logic Synthesis (yes, Logic Synthesis Is Everywhere!)
NP-Completeness (2) NP-Completeness Graphs 7/9/2019 6:12 AM x x x x x
SAT-Based Logic Synthesis
Integrating AIG Package, Simulator, and SAT Solver
Presentation transcript:

Alan Mishchenko Department of EECS UC Berkeley Research Update Alan Mishchenko Department of EECS UC Berkeley

Overview SAT-based synthesis in general Remapping of standard cells for area Fact extract and division algorithms Improved SAT sweeping Scaling synthesis to millions of nodes 2

SAT-based synthesis in general Several flavors of SAT-based synthesis “Exact minimum circuit” synthesis Don’t-care-based synthesis Structural synthesis

Remapping of standard cells for area This is related to a new SAT-based synthesis project started a year ago The main idea is to represent the care-set of a node as a circuit and use it in the SAT solver as a constrain Results are encouraging

Fact extract and division algorithms A new implementation of “fast_extract” has been developed, which has a linear complexity in terms of cubes (rather than quadratic) The main idea is to use a hash-table to find shared divisors (rather than cube-pair enumeration) Results are good The same quality but improved runtime for large test-cases

Improved SAT sweeping SAT sweeping is important in synthesis and verification Not only for netlist reduction, but also for choice computation Difficulty is how to combine SAT and simulation The new idea is to perform SAT and simulation in a wave-front manner Update wave-front with new sim patterns Incrementally simulation while moving wave-front by one node May be combined with several custom SAT features Should be faster and more scalable

Scaling synthesis to millions of nodes Scalability is a moving target “How long it will take you to synthesize/map 1B AIG nodes?” Partitioning can be used, but why partition with single-threaded implementation can be made faster Basically, need to rethink all algorithms from the point of view of their “scalability for 1B AIG nodes”

Additional Slides

Constructing Boolean Relation Characterizing Node Functionality 1 Construction steps: Collect candidate divisors di of node n Divisors are not in the TFO of n Their support is a subset of that of node n Duplicate the window of node n Use the same set of input variables Use a different set of output variables Add inverter for node n in one copy Create comparator for the outputs Set the comparator to 1 This is the care set of node n Convert all gates to CNF … d2 n n d1 How the relation is used: Function n = F(d1, d2, …) belongs to the relation iff n can be implemented as a gate with function F in terms of divisors d1, d2, … SAT solver is used to derive different functions F that can be used at the node X

CNF / Mapping Terminology CNF is composed of variables, literals, and clauses Each variable represents some aspect of the problem Each literal is a variable in positive or negative polarity Each clause is a disjunction of literals CNF is a conjunction of clauses Mapping is a set of gates completely covering the subject graph Internal nodes of the subject graph can be Used in the mapping (if mapping includes a gate rooted in this node) Not used in the mapping (otherwise) Gate cover represents a valid mapping if Internal nodes driving the circuit outputs are used in the mapping For each gate, its inputs are used in the mapping or are primary inputs

CNF for Structural Mapping Disclaimer! This is a simplified formulation of standard-cell mapping assumes one variable per node (rather than two variables for each polarity) CNF variables one variable (ni) for each node ni is 1, iff node i is used in the mapping one variable (cik) for each match (cut + gate) of the node cik is 1, iff match k is used to map node I CNF clauses ni  k (cik) (If a node is used, one of its matches is used) cik  f (nf) (If a match is used, all cut fanins are used) o (no) (The nodes driving the outputs are used in the mapping) i ni ≤ Limit (The gate count does not exceed the known mapping)