Technology Mapping into General Programmable Cells

Slides:



Advertisements
Similar presentations
ENGIN112 L38: Programmable Logic December 5, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 38 Programmable Logic.
Advertisements

Exploiting Symmetry in SAT-Based Boolean Matching for Heterogeneous FPGA Technology Mapping Yu Hu 1, Victor Shih 2, Rupak Majumdar 2 and Lei He 1 1 Electrical.
 Y. Hu, V. Shih, R. Majumdar and L. He, “Exploiting Symmetries to Speedup SAT-based Boolean Matching for Logic Synthesis of FPGAs”, TCAD  Y. Hu,
Logic Synthesis Primer
CS 151 Digital Systems Design Lecture 38 Programmable Logic.
Faster Logic Manipulation for Large Designs Alan Mishchenko Robert Brayton University of California, Berkeley.
An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt.
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.
Logic and Computer Design Fundamentals, Fifth Edition Mano | Kime | Martin Copyright ©2016, 2008, 2004 by Pearson Education, Inc. All rights reserved.
LB Logic Block LB Logic Block LB Logic Block LB Logic Block LB Logic Block LB Logic Block LB Logic Block LB Logic Block LB Logic Block S/V block I/O Cell.
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
ETE Digital Electronics
A New Logic Synthesis, ExorBDS
XILINX FPGAs Xilinx lunched first commercial FPGA XC2000 in 1985
Power Optimization Toolbox for Logic Synthesis and Mapping
CSCI-100 Introduction to Computing
CS184a: Computer Architecture (Structure and Organization)
Mapping into LUT Structures
Logic and Computer Design Fundamentals
Delay Optimization using SOP Balancing
Faster Logic Manipulation for Large Designs
Enhancing PDR/IC3 with Localization Abstraction
New Directions in the Development of ABC
Alan Mishchenko Robert Brayton UC Berkeley
Alan Mishchenko Satrajit Chatterjee Robert Brayton UC Berkeley
Logic Synthesis Primer
Magic An Industrial-Strength Logic Optimization, Technology Mapping, and Formal Verification System Alan Mishchenko UC Berkeley.
Applying Logic Synthesis for Speeding Up SAT
Robert Brayton Alan Mishchenko Department of EECS UC Berkeley
Versatile SAT-based Remapping for Standard Cells
Integrating an AIG Package, Simulator, and SAT Solver
A Boolean Paradigm in Multi-Valued Logic Synthesis
SmartOpt An Industrial Strength Framework for Logic Synthesis
Standard-Cell Mapping Revisited
Faster Logic Manipulation for Large Designs
Enumeration of Irredundant Circuit Structures
LUT Structure for Delay: Cluster or Cascade?
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
Scalable and Scalably-Verifiable Sequential Synthesis
Mapping into LUT Structures
FPGA Glitch Power Analysis and Reduction
Alan Mishchenko UC Berkeley
Reinventing The Wheel: Developing a New Standard-Cell Synthesis Flow
Programmable Logic- How do they do that?
Integrating an AIG Package, Simulator, and SAT Solver
Improvements in FPGA Technology Mapping
Canonical Computation without Canonical Data Structure
Recording Synthesis History for Sequential Verification
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.
A Practical Approach to Arithmetic Circuit Verification
FIGURE 5-1 MOS Transistor, Symbols, and Switch Models
Innovative Sequential Synthesis and Verification
Robert Brayton Alan Mishchenko Niklas Een
Alan Mishchenko University of California, Berkeley
SAT-based Methods: Logic Synthesis and Technology Mapping
Robert Brayton Alan Mishchenko Niklas Een
Learning and Memorization
Alan Mishchenko Department of EECS UC Berkeley
Integrating AIG Package, Simulator, and SAT Solver
Presentation transcript:

Technology Mapping into General Programmable Cells Alan Mishchenko Robert Brayton Department of EECS, UC Berkeley Wenyi Feng Jonathan Greene Microsemi Corporation, SOC Products Group

Overview Boolean matching is used in synthesis for FPGAs To map into current programmable cells To research future cell architectures Boolean matching methods are often specialized, slow, and require manual effort We propose a new Boolean matcher, which is General (works for many types of cells) Fast (due to the use of concurrency) Automatic (does not require manual tuning) Experiments show it is useful in practice 2

Boolean Matching Given a programmable cell and a Boolean functions, find if a cell can be programmed to implement a given function Programmable cell Function that can be implemented: F = AND(a, b, c, d, e) Function that cannot be implemented: F = XOR(a, b, c, d, e) e a b c d

Small Practical Functions Classifications of Boolean functions Random functions Specialized classes of functions Symmetric, unate, etc Logic synthesis and technology mapping deal with Functions appearing in the designs Functions having small support (up to 16 variables) We call them small practical functions (SPFs) We concentrate on SPFs in this work

The Proposed Matching Flow Pre-computation Collect SPFs appearing in the design(s) Input and pre-process cell description Perform Boolean matching concurrently for all SPFs and save data into a file During mapping Perform additional Boolean matching step Allow only matchable functions to be used

Programmable Cells Used

Area Comparison

Delay and Runtime Comparison

Conclusions Introduced Boolean matching problem Described a mapping flow with matching Experimented with two programmable cells and reviewed the tradeoffs Future work will focus on Improving implementation Extending to standard cells Use in technology-independent synthesis

Abstract Field-Programmable Gate Arrays (FPGA) implement logic functions using programmable cells, such as K-input lookup-tables (K-LUTs). A K-LUT can implement any Boolean function with K inputs and one output. Methods for mapping into K-LUTs are extensively researched and widely used. Recently, cells other than K LUTs have been explored, for example, those composed of several LUTs, and combinations of LUTs and gates. Known methods for mapping into these cells are specialized and complicated, requiring a substantial effort to evaluate such custom cell architectures. This paper presents a general approach to efficiently map into single-output K-input cells containing LUTs, MUXes, and other elementary gates. Cells with K up to 16 inputs can be handled. The mapper is fully automated and takes a logic network and a symbolic description of a programmable cell, and produces an optimized network composed of instances of the given cell. Past work on delay/area optimization during mapping is applicable and leads to good quality of results.