Sungho Kang Yonsei University

Slides:



Advertisements
Similar presentations
Logic Synthesis Technology Mapping.
Advertisements

Technology Mapping. Perform the final gate selection from a particular library Two basic approaches 1. ruled based technique 2. graph covering technique.
FUNCTION OPTIMIZATION Switching Function Representations can be Classified in Terms of Levels Number of Levels, k, is Number of Unique Boolean (binary)
ECE 667 Synthesis and Verification of Digital Systems
➢ Performing Technology Mapping and Optimization by DAG Covering: A Review of Traditional Approaches Evriklis Kounalakis.
Technology Mapping.
Technology Mapping 2 Outline Goal Reading Tree Pattern Matching
EDA (CS286.5b) Day 2 Covering. Why covering now? Nice/simple cost model problem can be solved well (somewhat clever solution) general/powerful technique.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 2: January 23, 2008 Covering.
1 FRAIGs: Functionally Reduced And-Inverter Graphs Adapted from the paper “FRAIGs: A Unifying Representation for Logic Synthesis and Verification”, by.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 16: March 23, 2009 Covering.
Technology Mapping 1 Outline –What is Technology Mapping? –Rule-Based Mapping –Tree Pattern Matching Goal –Understand technology mapping –Understand mapping.
COE 561 Digital System Design & Synthesis Library Binding Dr. Muhammad Elrabaa Computer Engineering Department King Fahd University of Petroleum & Minerals.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
Technology Mapping Outline Goal What is Technology Mapping?
FPGA Technology Mapping. 2 Technology mapping:  Implements the optimized nodes of the Boolean network to the target device library.  For FPGA, library.
ECE Synthesis & Verification, Lecture 17 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Technology.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
Overview Part 1 – Design Procedure 3-1 Design Procedure
Overview Part 2 – Circuit Optimization 2-4 Two-Level Optimization
1 VLSI CAD Flow: Logic Synthesis, Lecture 13 by Ajay Joshi (Slides by S. Devadas)
KU College of Engineering Elec 204: Digital Systems Design
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Lecture 12 – Design Procedure.
Department of Computer Engineering
Combinational Logic Design BIL- 223 Logic Circuit Design Ege University Department of Computer Engineering.
VLSI Backend CAD Konstantin Moiseev – Intel Corp. & Technion Shmuel Wimer – Bar Ilan Univ. & Technion.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 2: January 26, 2015 Covering Work preclass exercise.
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.
Shantanu Dutt ECE Dept. UIC
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
1 Technology Mapping Example: t t 1 = a + bc; t 2 = d + e; t 3 = ab + d; t 4 = t 1 t 2 + fg; t 5 = t 4 h + t 2 t 3 ; F = t 5 ’; This shows an unoptimized.
ICS 252 Introduction to Computer Design Lecture 12 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI.
Technology Mapping. 2 Technology mapping is the phase of logic synthesis when gates are selected from a technology library to implement the circuit. Technology.
Logic synthesis flow Technology independent mapping –Two level or multilevel optimization to optimize a coarse metric related to area/delay Technology.
Give qualifications of instructors: DAP
Based on slides by:Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. ECE/CS 352: Digital System Fundamentals Lecture 7 – Karnaugh Maps.
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 2: September 28, 2005 Covering.
Reducing Structural Bias in Technology Mapping
P & NP.
Auburn University
Chapter 10 NP-Complete Problems.
Overview Part 1 – Design Procedure Part 2 – Combinational Logic
ICS 252 Introduction to Computer Design
ICS 252 Introduction to Computer Design
Software Testing.
The Design and Analysis of Algorithms
Auburn University COMP7330/7336 Advanced Parallel and Distributed Computing Mapping Techniques Dr. Xiao Qin Auburn University.
Mapping into LUT Structures
Delay Optimization using SOP Balancing
CS137: Electronic Design Automation
Reconfigurable Computing
ICS 252 Introduction to Computer Design
ICS 353: Design and Analysis of Algorithms
Alan Mishchenko University of California, Berkeley
Sungho Kang Yonsei University
ELEC 7770 Advanced VLSI Design Spring 2014 Technology Mapping
ESE535: Electronic Design Automation
Topics Logic synthesis. Placement and routing..
ELEC 7770 Advanced VLSI Design Spring 2016 Technology Mapping
ECE 667 Synthesis and Verification of Digital Systems
Timing Optimization.
Overview Part 2 – Circuit Optimization
Improvements in FPGA Technology Mapping
Technology Mapping I based on tree covering
VLSI CAD Flow: Logic Synthesis, Placement and Routing Lecture 5
Delay Optimization using SOP Balancing
Alan Mishchenko Department of EECS UC Berkeley
Presentation transcript:

Sungho Kang Yonsei University Technology Mapping Sungho Kang Yonsei University

Outline Introduction Graph Covering and Technology Mapping Choice of Base Functions Creating the Subject Graph The DAG-Covering Problem Tree Covering by Dynamic Programming Decomposition Delay Optimization and Graph Covering

Characteristics of Technology Mapping Introduction Adapt easily to different libraries Support irregular collections of logic functions Handle detailed technology-dependent cost functions Efficient execution time

Graph Covering A set of base functions is chosen Subject graphs Such as a two-input NAND and an inverter Subject graphs The logic equations are optimized in a technology-independent manner and are then converted into a graph where each node is restricted to one of the base functions Pattern graph Each graph for a library gate The logic function for each library gate is also represented by a graph where each node is restricted to one of the base functions The technology mapping problem is viewed as the optimization problem of finding a minimum cover covering of the subject graph by choosing from the collection of the pattern graphs for all gates in the library

Choice of Base Functions The choice of a set of base function is arbitrary as long as the case function set is functionally complete The goal is to find the base-function set which provides the highest level of optimization and produces a small set of patterns In SIS, a base function set of 2-input NAND and an inverter is used In DAGON, a base function set of 2-input, 3-input and 4-input NAND gates is used

Creating the Subject Graph Heuristics are used to find an optimal form for the subject graph These optimizations include algebraic decomposition and Boolean simplification techniques using technology-independent cost functions The number of nodes in a subject graph The total number of literals in SOP form The longest path from an input to an output The goal of technology-independent optimization should be to find a representation for the circuit which provides a good starting point for DAG-covering The optimized equations are then transformed into two-input NAND and inverter form in a straightforward manner

DAG-Covering Problem DAG-covering-by-DAGs is NP-hard Exact covering algorithm is based on a branch-and-bound The complexity is so large that only trivial problems can be solved DAGON Partition the subject graph into trees Cover each tree optimally Piece the tree-covers into a cover for the subject graph Its weak points are in the loss of global view due to the step of partitioning into trees Covers across partition boundaries are not allowed MIS Similar to DAGON Additional covers are exposed by replacing any straight interconnection between gates with a pair of inverters

Tree Covering Tree Covering Decompose a DAG into trees, by splitting it at the fanout points Mapping procedure with 2 phases Pattern matching Find all possible ways in which library pattern may cover some nodes of the subject tree Tree covering Select one optimum matching for each node Systematic approach to selecting the matchings Guarantees a cover of minimum cost and is very efficient Its run time grows linearly with the size of the subject tree Start from PIs and consider the gates in topological order Determine the optimum cover of the subtree rooted at the gate output This does not work for DAGs in general, because there may be conflicting requirements on how to map a node to several gates

Decomposition Decomposition is not unique Balanced tree Unbalanced tree The non uniqueness of the decomposition forces us to consider all distinct pattern for the library gates

Delay Optimization Minimum delay optimization The unique set of pin-loads is determined and binning functions are constructed Obtain an array of solutions at each node of the subject tree, one per bin The arrival time for each cover for each load value is computed At each input of the cover, the optimal solution for driving the corresponding pin-load is selected The final cover is chosen based on the external load at the root of the tree The cover obtained by this technique is a minimum delay cover The complexity of the algorithm is still linear but it depends on the number of load-pins and arrival-time bins