VLSI CAD Flow: Logic Synthesis, Placement and Routing Lecture 5

Slides:



Advertisements
Similar presentations
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Factored Forms.
Advertisements

ECE 667 Synthesis & Verification - Algebraic Division 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Multi-level Minimization Algebraic.
ECE 667 Synthesis and Verification of Digital Systems
ELEN 468 Lecture 121 ELEN 468 Advanced Logic Design Lecture 12 Synthesis of Combinational Logic I.
Technology Mapping.
Technology Mapping 2 Outline Goal Reading Tree Pattern Matching
Logic Synthesis Outline –Logic Synthesis Problem –Logic Specification –Two-Level Logic Optimization Goal –Understand logic synthesis problem –Understand.
Logic Synthesis 1 Outline –Logic Synthesis Problem –Logic Specification –Two-Level Logic Optimization Goal –Understand logic synthesis problem –Understand.
Lecture 5 Multilevel Logic Synthesis
Contemporary Logic Design Two-Level Logic © R.H. Katz Transparency No. 4-1 Chapter #2: Two-Level Combinational Logic Section 2.3, Switches and Tools.
Technology Mapping 1 Outline –What is Technology Mapping? –Rule-Based Mapping –Tree Pattern Matching Goal –Understand technology mapping –Understand mapping.
ECE Synthesis & Verification, Lecture 17 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Technology.
Combinational Logic Design
ECE 667 Synthesis and Verification of Digital Systems
ECE Synthesis & Verification - Lecture 8 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Multi-level.
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.
Department of Computer Engineering
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect19: Multi Level Logic Minimization.
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.
Shantanu Dutt ECE Dept. UIC
Two Level and Multi level Minimization
ETE 204 – Digital Electronics
Multi-Level Logic Optimization. Multi-Level Logic Synthesis Two Level Logic : –Espresso –Programmable Logic Array (PLA) Multilevel Logic : –Standard Cell.
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.
Technology Mapping. 2 Technology mapping is the phase of logic synthesis when gates are selected from a technology library to implement the circuit. Technology.
Give qualifications of instructors: DAP
1 CS 352 Introduction to Logic Design Lecture 4 Ahmed Ezzat Multi-level Gate Circuits and Combinational Circuit Design Ch-7 + Ch-8.
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect18: Multi Level Logic Minimization.
VLSI Design Flow The Y-chart consists of three major domains:
Digital Systems Design 1 Signal Expressions Multiply out: F = ((X + Y)  Z) + (X  Y  Z) = (X  Z) + (Y  Z) + (X  Y  Z)
EECE 320 L8: Combinational Logic design Principles 1Chehab, AUB, 2003 EECE 320 Digital Systems Design Lecture 8: Combinational Logic Design Principles.
EET 1131 Unit 5 Boolean Algebra and Reduction Techniques
Reducing Structural Bias in Technology Mapping
VLSI Physical Design Automation
SLIDES FOR CHAPTER 7 MULTI-LEVEL GATE CIRCUITS NAND AND NOR GATES
Lecture 7 Multi-Level Gate Networks
ICS 252 Introduction to Computer Design
ICS 252 Introduction to Computer Design
Chapter 4. Combinational Logic Design Principles
ECE 3110: Introduction to Digital Systems
CS 352 Introduction to Logic Design
ECE 331 – Digital System Design
CSE 140 : Components and Design Techniques for Digital Systems
ICS 252 Introduction to Computer Design
BASIC & COMBINATIONAL LOGIC CIRCUIT
Digital Logic & Design Dr. Waseem Ikram Lecture 13.
CSE 370 – Winter Combinational Logic - 1
ECE 331 – Digital System Design
Combinatorial Logic Circuit
CH7 Multilevel Gate Network
Optimization Algorithm
CSE 370 – Winter Combinational Implementation - 1
EECS150 - Digital Design Lecture 7 - Boolean Algebra II
Digital Logic Design I Gate-Level Minimization
ELEC 7770 Advanced VLSI Design Spring 2014 Technology Mapping
Reading: Hambley Ch. 7 through 7.5
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
Combinational Circuits
Technology Mapping I based on tree covering
ESE535: Electronic Design Automation
Combinational Circuits
Laws & Rules of Boolean Algebra
*Internal Synthesizer Flow *Details of Synthesis Steps
Presentation transcript:

VLSI CAD Flow: Logic Synthesis, Placement and Routing 6.375 Lecture 5 Guest Lecture by Srini Devadas

RTL Design Flow Library/ module generators HDL RTL manual Synthesis netlist a b s q 1 d clk logic optimization netlist a b s q 1 d clk physical design layout

Two-Level Logic Minimization Can realize an arbitrary logic function in sum-of-products or two-level form F1 = A B + A B D + A B C D + A B C D + A B + A B D F1 = B + D + A C + A C Of great interest to find a minimum sum-of-products representation Solved problem even for functions with 100’s of inputs (variants of Quine-McCluskey)

Two-Level versus Multilevel 6 product terms which cannot be shared. 24 transistors in static CMOS Multi-level: Note that B + C is a common term in f1 and f2 K = B + C 3 Levels 20 transistors in static CMOS not counting inverters f1 = AB + AC + AD f2 = A B + A C + A E f1 = AK + AD f2 = A K + A E

Technologies “Closed book”: gate-array standard-cell “Open book”: CMOS Domino, complex gate static CMOS LOGIC EQUATIONS TECHNOLOGY-INDEPENDENT OPTIMIZATION Factoring Commonality Extraction TECH-DEPENDENT OPTIMIZATION (MAPPING, TIMING) LIBRARY OPTIMIZED LOGIC NETWORK

Tech.-Independent Optimization Involves: Minimizing two-level logic functions. Finding common subexpressions. Substituting one expression into another. Factoring single functions. Factored versus Disjunctive forms sum-of-products or disjunctive form factored form multi-level or complex gate f = ac + ad + bc + bd + a e f = ( a + b ) ( c + d ) + a e

Optimizations Factor F Extract common expression f1 = AB + AC + AD + AE + A B C D E ì F = í î f2 = A B + A C + A D + A F + A B C D F f1 = A ( B + C + D + E ) + A B C D E ì F = í î f2 = A ( B + C + D + F ) + A B C D F g1 = B + C + D ì G = í f1 = A ( g1 + E ) + A E g1 ï î f2 = A ( g1 + F ) + A F g1

What Does “Best” Mean? Transistor count AREA Number of circuits POWER Number of levels DELAY (Speed) Need quick estimators of area, delay and power which are also accurate

Algebraic vs. Boolean Methods Algebraic techniques view equations as polynomials and attempt to factor equations or “divide” them Do not exploit Boolean identities e.g., a a = 0 In algebraic substitution (or division) if a function f = f(a, b, c) is divided by g = g(a, b), a and b will not appear in f / g Algebraic division: O(n log n) time Boolean division: 2-level minimization required

Comparison Algebraic factorization procedures Boolean factorization produces Algebraic substitution of l into r fails Boolean substitution f = a b + a c + b a + b c + c a + c b f = a ( b + c ) + a ( b + c ) + b c + c b f = ( a + b + c ) ( a + b + c ) l = ( b f + b f ) ( a + e ) + a e ( b f + bf ) r = ( b f + b f ) ( a + e ) + ae ( b f + bf ) r = a ( e l + e l ) + a ( e l + e l ) l = a ( er + e r ) + a ( e r + e r )

Strong (or Boolean) Division Given a function f to be strong divided by g Add an extra input to f corresponding to g, namely G and obtain function h as follows Minimize h using two-level minimizer hDC = G g + G g hON = fON - hDC

Strong Division Example f = a b c + a b c + a b c + a b c g = a b + a b hDC = G (a b + a b) + G (a b + a b) hON = fON - hDC G a bc 00 01 11 10 00 x 1 x 01 1 x x Function h x 11 1 x 10 x x 1 Minimization gives h = G c + G c

Weak (or Algebraic) Division Definition: support of f as sup( f ) = { set of all variables v that occur in f as v or v } Example: f = A B + C sup( f ) = { A, B, C } Definition: we say that f is orthogonal to g, f ^ g, if sup( f ) Ç sup( g ) = f Example: f = A + B g = C + D \ f ^ g since { A, B } Ç { C, D } = f

Weak Division - 2 We say that g divides f weakly if there exist h, r such that f = gh + r where h ¹ f and g ^ h Example: f = ab + ac + d g = b + c f = a(b + c) + d h = a r = d We say that g divides f evenly if r = f The quotient f / g is the largest h such that f = gh + r i.e., f = ( f / g )g + r

Weak Division Example f = abc + abde + abh + bcd g = c + de + h Theorem: f / g = f / c Ç f / de Ç f / h f / c = ab + bd f / de = ab f / h = ab f / g = (ab + bd) Ç ab Ç ab = ab f = ab(c + de + h) + bcd Time complexity: O( | f | | g | )

How to Find Good Divisors? $64K question Strong division: Use existing nodes in the multilevel network to simplify other nodes Weak division: Generate good algebraic divisors using algorithms based on “kernels” of an algebraic expression

Tech.-Dependent Optimization OPTIMIZED LOGIC EQUATIONS LIBRARY TECHNOLOGY MAPPING TIMING CONSTRAINTS GATE NETLIST Area, delay and power dissipation cost functions

“Closed Book” Technologies A standard cell technology or library is typically restricted to a few tens of gates e.g., MSU library: 31 cells Gates may be NAND, NOR, NOT, AOIs. A B A A C A AB+C A C B

Mapping via DAG Covering Represent network in canonical form Þ subject DAG Represent each library gate with canonical forms for the logic function Þ primitive DAGs Each primitive DAG has a cost Goal: Find a minimum cost covering of the subject DAG by the primitive DAGs Canonical form: 2-input NAND gates and inverters

Sample Library INVERTER 2 NAND2 3 NAND3 4 NAND4 5

Sample Library - 2 AOI21 4 AOI22 5

Trivial Covering subject DAG 7 NAND2 = 21 5 INV = 10 31

Covering #1 2 INV = 4 2 NAND2 = 6 1 NAND3 = 4 1 NAND4 = 5 19

Covering #2 1 INV = 2 1 NAND2 = 3 2 NAND3 = 8 1 AOI21 = 4 17

DAG Covering Sound Algorithmic approach NP-hard optimization problem Tree covering heuristic: If subject and primitive DAGs are trees, efficient algorithm can find optimum cover in linear time Þ dynamic programming formulation multiple fanout

Partitioning a Graph

Resulting Trees Break at multiple fanout points

Dynamic Programming Principle of optimality: Optimal cover for a tree consists of a match at the root of the tree plus the optimal cover for the sub-trees starting at each input of the match Best cover for this match uses best covers for x, y, z x p y Best cover for this match uses best covers for p, z z

Optimum Tree Covering INV 11 + 2 = 13 AOI21 4 + 3 = 7 NAND2 2 + 6 + 3 = 11 NAND2 3 + 3 = 6 INV 2 NAND2 3 NAND2 3