Logic Synthesis Primer

Slides:



Advertisements
Similar presentations
TOPIC : SYNTHESIS DESIGN FLOW Module 4.3 Verilog Synthesis.
Advertisements

FRAIGs - A Unifying Representation for Logic Synthesis and Verification - Alan Mishchenko, Satrajit Chatterjee, Roland Jiang, Robert Brayton ERL Technical.
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 and Verification of Digital Systems
Logic Synthesis 2 Outline –Two-Level Logic Optimization –ESPRESSO Goal –Understand two-level optimization –Understand ESPRESSO operation.
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.
Technology Mapping.
Logic Synthesis Outline –Logic Synthesis Problem –Logic Specification –Two-Level Logic Optimization Goal –Understand logic synthesis problem –Understand.
Logic Synthesis n -Basic Concepts and Tools n Tao Lin n Ohio Universtiy n February 17, 1998.
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.
1 A New Enhanced Approach to Technology Mapping Alan Mishchenko Presented by: Sheng Xu May 2 nd 2006.
Reinventing The Wheel: Developing a New Standard-Cell Synthesis Flow Alan Mishchenko University of California, Berkeley.
 2000 M. CiesielskiPTL Synthesis1 Synthesis for Pass Transistor Logic Maciej Ciesielski Dept. of Electrical & Computer Engineering University of Massachusetts,
Wenlong Yang Lingli Wang State Key Lab of ASIC and System Fudan University, Shanghai, China Alan Mishchenko Department of EECS University of California,
Faster Logic Manipulation for Large Designs Alan Mishchenko Robert Brayton University of California, Berkeley.
Electrical and Computer Engineering Archana Rengaraj ABC Logic Synthesis basics ECE 667 Synthesis and Verification of Digital Systems Spring 2011.
Minimization of P-Circuits using Boolean Relations Anna Bernasconi University of Pisa Valentina Ciriani and Gabriella Trucco University of Milano Tiziano.
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.
Introduction to ABC Presenter: Shuo-Ren Lin Instructor: Jie-Hong Roland Jiang 2013/6/7 1.
Two Level and Multi level Minimization
How Much Randomness Makes a Tool Randomized? Petr Fišer, Jan Schmidt Faculty of Information Technology Czech Technical University in Prague
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,
Enumeration of Irredundant Circuit Structures Alan Mishchenko Department of EECS UC Berkeley 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.
1 Stephen Jang Kevin Chung Xilinx Inc. Alan Mishchenko Robert Brayton UC Berkeley Power Optimization Toolbox for Logic Synthesis and Mapping.
Technology Mapping. 2 Technology mapping is the phase of logic synthesis when gates are selected from a technology library to implement the circuit. Technology.
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.
Boolean Functions 1 ECE 667 ECE 667 Synthesis and Verification of Digital Circuits Boolean Functions Basics Maciej Ciesielski Univ.
1 Alan Mishchenko Research Update June-September 2008.
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
Technology Mapping into General Programmable Cells
Power Optimization Toolbox for Logic Synthesis and Mapping
Mapping into LUT Structures
Delay Optimization using SOP Balancing
Faster Logic Manipulation for Large Designs
Alan Mishchenko Satrajit Chatterjee Robert Brayton UC Berkeley
Logic Synthesis Primer
Applying Logic Synthesis for Speeding Up SAT
Versatile SAT-based Remapping for Standard Cells
SAT-based Methods: Logic Synthesis and Technology Mapping
A Boolean Paradigm in Multi-Valued Logic Synthesis
Synthesis for Verification
Standard-Cell Mapping Revisited
Faster Logic Manipulation for Large Designs
SAT-Based Area Recovery in Technology Mapping
Alan Mishchenko University of California, Berkeley
Scalable and Scalably-Verifiable Sequential Synthesis
Sungho Kang Yonsei University
ECE 667 Synthesis and Verification of Digital Systems
Reinventing The Wheel: Developing a New Standard-Cell Synthesis Flow
Technology Mapping I based on tree covering
Recording Synthesis History for Sequential Verification
SAT-based Methods: Logic Synthesis and Technology Mapping
Delay Optimization using SOP Balancing
Canonical Computation without Canonical Data Structure
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.
Innovative Sequential Synthesis and Verification
Robert Brayton Alan Mishchenko Niklas Een
SAT-based Methods: Logic Synthesis and Technology Mapping
Robert Brayton Alan Mishchenko Niklas Een
Alan Mishchenko Department of EECS UC Berkeley
ABC: An Industrial-Strength Logic Synthesis and Verification Tool
Presentation transcript:

Logic Synthesis Primer Alan Mishchenko UC Berkeley

Outline Introduction to logic synthesis Goals Exact vs. heuristic Sequential vs. combinational Technology-independent synthesis Optimization for area and delay Mapping Standard cells, LUTs, macro-cells Verification Conclusion

Goals of Synthesis Generating good circuit structure from Truth tables, BDDs Irredundant sums-of-products (used in strash) Boolean decomposition (bidec) Converting decision trees into MUX circuits (muxes) Sums-of-products Factoring (used in strash) Kernel extraction (not implemented in ABC) fast_extract algorithm (command fx) Improving available circuit structure Technology-independent synthesis

Technology Independent Synthesis AIG rewriting for area Scripts drwsat, compress2rs AIG rewriting for delay Scripts dc2, resyn2 High-effort delay optimization Perform SOP balancing (st; if –g –K 6) Follow up with area-recovery (resyn2) and technology mapping (map, amap, if) Iterate, if needed

Exact Synthesis Exact synthesis attempts to minimize the number of logic gates / logic levels needed to implement a given function Minimum solutions are known only for simple circuits, or circuits with special properties Minimum solutions are often not unique A new approach to synthesis is being developed, which uses pre-computed minimum solutions for practical functions up to 16 inputs to construct good (but not minimum) solutions for larger circuits See recent IWLS’14 paper for details

Sequential Synthesis Uses reachable state information to further improve the quality of results Reachable states are often approximated Types of AIG-based sequential synthesis Retiming (retime, dretime, etc) Detecting and merging sequentrial equivalences (lcorr, scorr, &scorr, etc) Negative experiences Sequential redundancy removal is often hard Using sequential don’t-cares in combinational synthesis typically gives very small improvement

Logic Synthesis for PLAs Enter PLA (.type fd) into ABC using read Perform logic sharing extraction using fx If fx is complaining that individual covers are not prime and irredundant, try “bdd; sop; fx” After fx, convert shared logic into AIG and continue AIG-based synthesis and mapping Consider using high-effort synthesis with don’t-cares First map into 6-LUTs (if –K 6; ps), optimize (mfs2), synthesize with choices (st; dch) and map into 6-LUTs (if –K 6; ps) Iterate until no improvement, then remap into target technology To find description of PLA format, google for “Espresso PLA format”, for example: http://www.ecs.umass.edu/ece/labs/vlsicad/ece667/links/espresso.5.html

Technology Mapping for SCs Read library using read_genlib (for libraries in GENLIB format) read_liberty (for libraries in Liberty format) For standard-cells map: Boolean matching, delay-oriented, cells up to 5 inputs amap: structural mapping, area-oriented, cells up to 15 inputs If Liberty library is used, run topo followed by stime (accurate timing analysis) buffer (buffering) upsize; dnsize (gate sizing) Structural choices are an important way of improving mapping (both area and delay) Run “st; dch” before calling map or amap

Technology Mapping for LUTs It is suggested to use mapper if –K <num> For area-oriented mapping, try “if -a” For delay-oriented mapping, try delay-oriented AIG-based synthesis with structural choices Structural choices are an important way of improving mapping (both area and delay) Run “st; dch” before calling if

Technology Mapping for Macrocells Custom mapping options LUT structures composed of two or three LUTs if –S <XYZ> User-defined macro-cells up to 16 inputs, composed of LUTs, MUXes, and standard-cells Under development Minimizing circuit parameters number of factored-form literals (renode) number of cubes (renode –s) number of BDD nodes (renode –b) number of CNF clauses (write_cnf) As usual, structural choices can help

Verification Verification and synthesis are closely related and should be co-developed Combinational verification “r <file1>; cec <file2>” (small/medium circuits) “&r <file1.aig>; &cec <file2.aig> (large circuits) Sequential verification “r <file1>; dsec <file2>” Running cec or dsec any time during a synthesis flow compares the current version with the spec The spec is the circuit obtained from the original file

Future Work Improve usability of ABC Develop mapping for user-specified macro-cells Develop more scalable technology-dependent synthesis

Conclusion Reviewed logic synthesis Proposed ABC commands for Technology-independent synthesis Technology mapping Formal verification Discussed future developments