Technology Mapping. 2 Technology mapping is the phase of logic synthesis when gates are selected from a technology library to implement the circuit. Technology.

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.
FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Topics n Logic synthesis. n Placement and routing.
ELEC Digital Logic Circuits Fall 2014 Logic Synthesis (Chapters 2-5) Vishwani D. Agrawal James J. Danaher Professor Department of Electrical and.
FPGA Technology Mapping Dr. Philip Brisk Department of Computer Science and Engineering University of California, Riverside CS 223.
ECE 667 Synthesis & Verification - Boolean Functions 1 ECE 667 Spring 2013 ECE 667 Spring 2013 Synthesis and Verification of Digital Circuits Boolean Functions.
ECE 667 Synthesis and Verification of Digital Systems
1 DAOmap: A Depth-optimal Area Optimization Mapping Algorithm for FPGA Designs Deming Chen, Jacon Cong ICCAD 2004 Presented by: Wei Chen.
Modern VLSI Design 2e: Chapter4 Copyright  1998 Prentice Hall PTR.
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 Technology Mapping as a Binate Covering Problem Slides adapted from A. Kuehlmann, UC Berkeley 2003.
EDA (CS286.5b) Day 3 Clustering (LUT Map and Delay) N.B. no lecture Thursday.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 16: March 23, 2009 Covering.
CS294-6 Reconfigurable Computing Day 15 October 13, 1998 LUT Mapping.
Technology Mapping 1 Outline –What is Technology Mapping? –Rule-Based Mapping –Tree Pattern Matching Goal –Understand technology mapping –Understand mapping.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
 2000 M. CiesielskiPTL Synthesis1 Synthesis for Pass Transistor Logic Maciej Ciesielski Dept. of Electrical & Computer Engineering University of Massachusetts,
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)
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.
Review: CMOS Inverter: Dynamic
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.
Zvi Kohavi and Niraj K. Jha 1 Multi-level Logic Synthesis.
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
1 EECS 219B Spring 2001 Timing Optimization Andreas Kuehlmann.
Modern VLSI Design 3e: Chapter 4 Copyright  1998, 2002 Prentice Hall PTR Topics n Combinational network delay. n Logic optimization.
Logical Effort and Transistor Sizing Digital designs are usually expected to operate at high frequencies, thus designers often have to choose the fastest.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
L16 : Logic Level Design (2) 성균관대학교 조 준 동 교수
ETE 204 – Digital Electronics
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.
Example: Base Functions & Pattern Trees inv 1 nand3 3 oai21 3 nor2 2nand2 2 Base Functions: Pattern Trees:
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
Modern VLSI Design 4e: Chapter 4 Copyright  2008 Wayne Wolf Topics n Combinational network delay. n Logic optimization.
ELEC Digital Logic Circuits Fall 2015 Logic Synthesis (Chapters 2-5) Vishwani D. Agrawal James J. Danaher Professor Department of Electrical and.
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect18: Multi Level Logic Minimization.
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 2: September 28, 2005 Covering.
Reducing Structural Bias in Technology Mapping
Overview Part 1 – Design Procedure Part 2 – Combinational Logic
Delay Optimization using SOP Balancing
Overview Part 1 – Design Procedure Beginning Hierarchical Design
Reconfigurable Computing
CSE 370 – Winter Combinational Implementation - 1
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
Sungho Kang Yonsei University
ECE 667 Synthesis and Verification of Digital Systems
Overview Part 2 – Circuit Optimization
Improvements in FPGA Technology Mapping
Chapter 3 Overview • Multi-Level Logic
Technology Mapping I based on tree covering
VLSI CAD Flow: Logic Synthesis, Placement and Routing Lecture 5
Delay Optimization using SOP Balancing
Illustrative Example p p Lookup Table for Digits of h g f e ) ( d c b
Presentation transcript:

Technology Mapping

2 Technology mapping is the phase of logic synthesis when gates are selected from a technology library to implement the circuit. Technology mapping is normally done after technology independent optimization. Why technology mapping? – Straight implementation may not be good. For example, F = abcdef as a 6-input AND gate cause a long delay. – Gates in the library are pre-designed, they are usually optimized in terms of area, delay, power, etc.

3 Technology Mapping Algorithms Basic Requirements: – Provide high quality solutions (circuits). – Adapt to different libraries with minimal effort. Library may have irregular logic functions. – Support different cost functions. Transistor count, level count, detailed models for area, delay, and power, etc. – Be efficient in run time. Two Approaches: – Rule-based techniques – Graph covering techniques (DAG)

4 Big Picture Given a set of logic equations (not optimized): – t 1 = a + bc – t 2 = d + e – t 3 = ab + ch – t 4 = t 1 t 2 + g – t 5 = t 4 h + t 2 t 3 – F = t 5 ’ 17 literals Technology independent optimization: t 1 = d + e t 2 = b + h t 3 = at 2 + ch t 4 = t 1 t 3 + gh F = t 4 ’ 13 literals Technology dependent implementation: Implement this network using a set of gates form a library Implement this network using a set of gates form a library, each gate has a cost (i.e. its area, delay, etc.) such that the total cost is minimized.

13 Technology mapping algorithms Technology Mapping as Graph Covering – Choosing base functions – Creating subject graph – Tree covering problem – Decomposition – Delay Optimization

14 Base Functions Base function set is a set of gates which is universal and is used to implement the gates in the technology library. – 2-input AND, 2-input OR, and NOT – 2-input NAND (and NOT) Recall: A gate (or a set of gates) is universal if it can implement all the Boolean functions, or equivalently, it can implement 2- input AND, 2-input OR, and NOT. Choose of base functions: – Universal: able to implement any functions. – Optimal: implement functions efficiently. Introduce redundant gates: 2-input NAND and NOT.

15 Subject Graph Subject graph is the graph representation of a logic function using only gates from a given base function set. (I.e., the nodes are restricted to base functions.). For a given base function set, subject graph for a gate may not be unique. – NAND(a,b,c,d) =NAND(NOT(NAND(a,b)),NOT(NAND(c,d))) =NAND(a,NOT(NAND(b,NOT(NAND(c,d))))) All distinct subject graphs of the same logic have to be considered to obtain global optimal design.

16 Pattern Graph For any library gate, its logic function can be represented by a graph where each node is one of the base functions. This graph is called a pattern graph for this library gate. A pattern graph is a subject graph when the function represents a library gate. Similarly, all pattern graphs for the same library gate have to be considered. Tip on choosing base function set: Choose those that provide a small set of pattern graphs.

17 Cover A cover is a collection of pattern graphs so that: – every node of the subject graph is contained in one (or more) pattern graphs – each input required by a pattern graph is actually an output of some other pattern graph (i.e. the inputs of one library gate must be outputs from other gates.) Cost of a Cover – Area: total area of the library gates used (I.e. gates in the cover). – Delay: total delay along the critical path. – Power: total power dissipation of the cover.

18 Graph Covering Formulation Technology mapping problem: Find a minimum cost cover of the subject graph by choosing from the collection of pattern graphs for all the gates in the library. DAG-covering-by-DAG is hard NP-hard for a simple case: – Only 3 pattern graphs ( NOT, 2-input NAND, 2-input NOR ) – Each node in the subject graph has no more than 2 fanins and fanouts. Do We Need to Solve the Problem Optimally? – Input logic from technology-independent optimization – Numerous subject graphs for the same logic network

ENEE Optimal Tree Covering by Trees Basic idea: dynamic programming. Procedure: – Partition the subject graph into trees – Cover each tree optimally – Piece the tree-cover into a cover for the subject graph Complexity: finding all sub-trees of the subject graph that are isomorphic to a pattern tree. It is linear in the size of subject tree and the size of the pattern trees

Dynamic Programming: Overview Guarantee minimum cost Efficient Two Phases 1.Pattern matching Find all possible ways to cover tree nodes with a library pattern 2.Tree covering Select one optimum matching for each node

Dynamic Programming: Example Start at primary inputs Consider gates in topological order – No gate precedes one of its fanouts – (e, f, g, h) – (f, e, g, h)

Dynamic Programming: Example Determine optimum cover of subtree rooted at each gate – Gates e, f and g have only one pattern that matches Cost of a cover equals cost of the match at the node plus optimum costs of the covers of input nodes

Dynamic Programming: Example Topological order guarantees the optimum cost of inputs is known when considering a match

Dynamic Programming: Example Multiple matches at h – Select match with lowest cost

Dynamic Programming: Example Multiple matches at h – Select match with lowest cost

31 Tree Covering by Dynamic Programming For each primary input, cost to cover is 0; For each (non-leaf) node v in the subject trees (the traverse follows a topological order) – Recursive assumption: we know a best cost cover for each of its (transitive) predecessors. – Recursive formula for cost to cover v: For each matched pattern graph, compute sum of the cost of this pattern and the total best costs of all fanins to this pattern graph. Take the minimum as the best cost for node v. Total cost is the sum of best costs for all primary outputs of the subject trees.

32 Example: Base Functions & Pattern Trees inv 1 nand3 3 oai21 3 nor2 2nand2 2 Base Functions: Pattern Trees:

33 nand3 3 nand2 15 =2+13 nand3 3 nand2 5 =2+3 nand2 15 =2+13 nand2 5 =2+3 Example: Subject Graph and Covering inv 1 nand2 2 inv 1 inv 3=1+2 nor2 2 nand3 3oai21 3 nand2 5 =2+(2+1) nand2 8 =2+(5+1) nand3 3 nand2 13 =2+(8+3) inv 14=1+13 nand3 14 =3+(8+3)

34 oai21 7 =3+(3+1) Example: a Better Covering inv 1 nor2 2 nand3 3oai21 3 nand2 5 =2+(2+1) nand2 8 =2+(5+1) nand3 3 nand3 14 =3+(8+3) nand2 2 inv 3 nand3 13 =3+(7+3)

ENEE Example : Role of Decomposition one decomposition and a cover of cost 5 another decomposition and a cover of cost 4 nor2 2 nand3 3oai21 3 nand3 3 nor2 2 For a give logic function (including gates from the library), different decomposition to base functions create distinct subject function. Example: – Base Functions: – Pattern Trees: same as before – Circuit: