Technology Mapping.

Slides:



Advertisements
Similar presentations
Modern VLSI Design 3e: Chapter 3 Copyright 1998, 2002 Prentice Hall PTR Topics n Combinational logic functions. n Static complementary logic gate structures.
Advertisements

Logic Synthesis Technology Mapping.
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.
A Look at Chapter 4: Circuit Characterization and Performance Estimation Knowing the source of delays in CMOS gates and being able to estimate them efficiently.
ECE 667 Synthesis and Verification of Digital Systems
Multilevel Logic Minimization -- Introduction. ENEE 6442 Outline > Multi-level minimization: technology independent local optimization. > What to optimize:
➢ Performing Technology Mapping and Optimization by DAG Covering: A Review of Traditional Approaches Evriklis Kounalakis.
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.
CSE241 L5 Synthesis.1Kahng & Cichy, UCSD ©2003 CSE241 VLSI Digital Circuits UC San Diego Winter 2003 Lecture 05: Logic Synthesis Cho Moon Cadence Design.
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.
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 –
Delay-Optimal Technology Mapping by DAG Covering Yuji Kukimoto Robert K Brayton Prashant Sawkar Presented by Bret Victor, 4/5/00.
 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.
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
Logic Synthesis For Low Power CMOS Digital Design.
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.
ECE 331 – Digital System Design NAND and NOR Circuits, Multi-level Logic Circuits, and Multiple-output Logic Circuits (Lecture #9) The slides included.
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
Topics Combinational network delay.
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.
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
Delay Optimization using SOP Balancing
Reconfigurable Computing
Standard-Cell Mapping Revisited
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
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
Illustrative Example p p Lookup Table for Digits of h g f e ) ( d c b
Presentation transcript:

Technology Mapping

Outline What is Technology Mapping? Technology Mapping Algorithms Technology Mapping as Graph Covering Choosing base functions Creating subject graph Tree covering problem Decomposition Delay Optimization ENEE 644

Technology Mapping 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. Fastest gates along the critical path, area-efficient gates (combination) off the critical path. ENEE 644

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) ENEE 644

Outline What is Technology Mapping? Technology Mapping Algorithms Technology Mapping as Graph Covering Choosing base functions Creating subject graph Tree covering problem Decomposition Delay Optimization ENEE 644

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. ENEE 644

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. ENEE 644

Example: Subject Graph base inv F f g d e h b a c nand t1 = d + e t2 = b + h t3 = at2 + c t4 = t1t3 + fgh F = t4’ t1 t4 t2 t3 ENEE 644

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. ENEE 644

Example: Pattern Graphs for the Library inv(1) nand2(2) nand3 (3) nor3 (3) nor(2) oai22 (4) aoi21 (3) … … xor (5) ENEE 644

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. ENEE 644

Example: Subject Graph Cover by Base f g t1 = d + e t2 = b + h t3 = at2 + c t4 = t1t3 + fgh F = t4’ d F e h b base Total cost = 23 (7 inverters and 8 NANDs) a inv (1) c nand (2) ENEE 644

Example: Better Cover Using the Library and2(3) f g aoi22(4) t1 = d + e t2 = b + h t3 = at2 + c t4 = t1t3 + fgh F = t4’ d or2(3) F e h or2(3) b nand2(2) a Total cost = 18 inv(1) nand2(2) c ENEE 644

Example: Alternate Covering f nand3(3) g and2(3) t1 = d + e t2 = b + h t3 = at2 + c t4 = t1t3 + fgh F = t4’ d F e oai21(3) h b oai21 (3) Total cost = 15 a inv(1) nand2(2) c ENEE 644

Graph Covering Formation 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 644

Generic Algorithmic Approach Represent each logic function of the network as a subject graph (DAG); Generate all possible pattern graphs (DAGs)for each gate in the technology library; Find an optimal-cost covering of the subject DAG using the collection of pattern DAGs. Question: how to solve this NP-hard problem? If subject DAG and pattern DAG’s are trees, an efficient algorithm exists. ENEE 644

Optimal Tree Covering by Trees Proposed by Keutzer in program DAGON[DAC’87] 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. ENEE 644

Partitioning Subject DAGs into Trees Tree circuit: a single output circuit in which each gate (except the output) feeds exactly one gate. Break the graph at all multiple-fanout points Example: Leads to 3 trees ENEE 644

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. ENEE 644

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

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

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

Example: Role of Decomposition 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: nor2 2 nand3 3 oai21 3 nand3 3 nor2 2 one decomposition and a cover of cost 5 another decomposition and a cover of cost 4 ENEE 644

More on Technology Mapping Rule-based techniques DAG covering problem Tree covering approach Binate covering problem Boolean matching Decomposition + mapping Technology mapping for performance Gate resizing after technology mapping FPGA technology mapping ENEE 644

Big Picture Given a set of logic equations (not optimized): t1 = a + bc t2 = d + e t3 = ab + ch t4 = t1t2 + g t5 = t4h + t2t3 F = t5’ 17 literals Technology independent optimization: t1 = d + e t2 = b + h t3 = at2 + ch t4 = t1t3 + gh F = t4’ 13 literals Technology dependent implementation: 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. ENEE 644