Penn ESE535 Spring2009 -- DeHon 1 ESE535: Electronic Design Automation Day 16: March 23, 2009 Covering.

Slides:



Advertisements
Similar presentations
Penn ESE534 Spring DeHon 1 ESE534: Computer Organization Day 14: March 19, 2014 Compute 2: Cascades, ALUs, PLAs.
Advertisements

ECE 667 Synthesis and Verification of Digital Systems
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 11: March 4, 2008 Placement (Intro, Constructive)
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 15: March 12, 2007 Interconnect 3: Richness.
Technology Mapping.
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.
Caltech CS184a Fall DeHon1 CS184a: Computer Architecture (Structures and Organization) Day8: October 18, 2000 Computing Elements 1: LUTs.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 21: April 15, 2009 Routing 1.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 7: February 11, 2008 Static Timing Analysis and Multi-Level Speedup.
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 11: February 14, 2007 Compute 1: LUTs.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 19: April 9, 2008 Routing 1.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
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 12: March 2, 2009 Sequential Optimization (FSM Encoding)
CS294-6 Reconfigurable Computing Day 15 October 13, 1998 LUT Mapping.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 13: March 17, 2008 Dual Objective Dynamic Programming.
Technology Mapping 1 Outline –What is Technology Mapping? –Rule-Based Mapping –Tree Pattern Matching Goal –Understand technology mapping –Understand mapping.
Penn ESE525 Spring DeHon 1 ESE535: Electronic Design Automation Day 10: February 18, 2009 Partitioning 2 (spectral, network flow)
EDA (CS286.5b) Day 19 Covering and Retiming. “Final” Like Assignment #1 –longer –more breadth –focus since assignment #2 –…but ideas are cummulative –open.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 3: January 27, 2008 Clustering (LUT Mapping, Delay) Please work preclass example.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 17: March 30, 2009 Clustering (LUT Mapping, Delay)
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 15: March 18, 2009 Static Timing Analysis and Multi-Level Speedup.
ECE Synthesis & Verification, Lecture 17 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Technology.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
1 VLSI CAD Flow: Logic Synthesis, Lecture 13 by Ajay Joshi (Slides by S. Devadas)
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 2: January 26, 2015 Covering Work preclass exercise.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 9: February 16, 2015 Scheduling Variants and Approaches.
Shantanu Dutt ECE Dept. UIC
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 9: February 14, 2011 Placement (Intro, Constructive)
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 24: April 18, 2011 Covering and Retiming.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 10: February 18, 2015 Architecture Synthesis (Provisioning, Allocation)
Christopher Moh 2005 Competition Programming Analyzing and Solving problems.
Penn ESE370 Fall DeHon 1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Day 30: November 19, 2010 Crosstalk.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 23: April 20, 2015 Static Timing Analysis and Multi-Level Speedup.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 13: March 3, 2015 Routing 1.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 3: January 12, 2004 Clustering (LUT Mapping, Delay)
Penn ESE534 Spring DeHon 1 ESE534: Computer Organization Day 2: January 20, 2010 Universality, Gates, Logic Work Preclass Exercise.
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.
CALTECH CS137 Spring DeHon 1 CS137: Electronic Design Automation Day 5: April 12, 2004 Covering and Retiming.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 15: March 4, 2002 Two-Level Logic-Synthesis.
Penn ESE534 Spring DeHon 1 ESE534: Computer Organization Day 2: January 18, 2012 Universality, Gates, Logic Work Preclass Exercise.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 6: January 26, 2004 Sequential Optimization (FSM Encoding)
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 17: March 11, 2002 Sequential Optimization (FSM Encoding)
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 11: January 31, 2005 Compute 1: LUTs.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 20: April 4, 2011 Static Timing Analysis and Multi-Level Speedup.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 15: March 13, 2013 High Level Synthesis II Dataflow Graph Sharing.
Penn ESE534 Spring DeHon 1 ESE534: Computer Organization Day 11: February 20, 2012 Instruction Space Modeling.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2015 Clustering (LUT Mapping, Delay)
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 11: February 25, 2015 Placement (Intro, Constructive)
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 2: September 28, 2005 Covering.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 25: April 17, 2013 Covering and Retiming.
ESE534: Computer Organization
CS137: Electronic Design Automation
ESE535: Electronic Design Automation
CS137: Electronic Design Automation
ESE535: Electronic Design Automation
ESE534: Computer Organization
ESE534: Computer Organization
ESE535: Electronic Design Automation
Sungho Kang Yonsei University
ECE 667 Synthesis and Verification of Digital Systems
ESE534: Computer Organization
Technology Mapping I based on tree covering
VLSI CAD Flow: Logic Synthesis, Placement and Routing Lecture 5
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
CS137: Electronic Design Automation
CS137: Electronic Design Automation
Presentation transcript:

Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 16: March 23, 2009 Covering

Penn ESE535 Spring DeHon 2 Previously How to optimize two-level logic –Clear cost model of Product-Terms Generic optimizations for multi-level logic –Common-sub expressions –Kernel extraction –Node decomposition –Speedup Have been abstract about cost of gates

Penn ESE535 Spring DeHon 3 Covering Problem Implement a “gate-level” netlist in terms of some library of primitives –Potentially netlist came from multi-level optimization we did last week General Formulation –Make it easy to change technology –Make it easy to experiment with library requirements Evaluate benefits of new cells… Evaluate architecture with different primitives

Penn ESE535 Spring DeHon 4 Input netlist library represent both in normal form: –nand gate –inverters

Penn ESE535 Spring DeHon 5 Elements of a library - 1 INVERTER2 NAND23 NAND34 NAND45 Element/Area CostTree Representation (normal form) Example: Keutzer

Penn ESE535 Spring DeHon 6 Elements of a library - 2 AOI21 4 AOI22 5 Element/Area Cost Tree Representation (normal form)

Penn ESE535 Spring DeHon 7 Input Circuit Netlist ``subject DAG’’

Penn ESE535 Spring DeHon 8 Problem statement into this library Find an ``optimal’’ (in area, delay, power) mapping of this circuit (DAG)

Penn ESE535 Spring DeHon 9 Some things to watch today Cost model Problem can be solved well –somewhat clever solution Technique: general and powerful Special cases –harder/easier cases What makes hard Bounding

Penn ESE535 Spring DeHon 10 What’s the problem? Trivial Covering subject DAG 7NAND2 (3) = 21 5INV (2) = 10 Area cost 31

Penn ESE535 Spring DeHon 11 Cost Models

Penn ESE535 Spring DeHon 12 Cost Model: Area Assume: Area in gates or, at least, can pick an area/gate –so proportional to gates e.g. –Standard Cell design –Standard Cell/route over cell –Gate array

Penn ESE535 Spring DeHon 13 Standard Cell Area invnand3AOI4invnor3Inv All cells uniform height Width of channel determined by routing Cell area Width of channel fairly constant?

Penn ESE535 Spring DeHon 14 Cost Model: Delay Delay in gates –at least assignable to gates Twire << Tgate Twire ~=constant –delay exclusively/predominantly in gates Gates have Cout, Cin lump capacitance for output drive delay ~ Tgate + fanout  Cin Cwire << Cin or Cwire can lump with Cout/Tgate

Penn ESE535 Spring DeHon 15 Logic Delay

Penn ESE535 Spring DeHon 16 Parasitic Capacitances

Penn ESE535 Spring DeHon 17 Delay of Net

Penn ESE535 Spring DeHon 18 Cost Model: Delay Delay in gates –at least assignable to gates Twire << Tgate Twire ~=constant –delay exclusively/predominantly in gates Gates have Cout, Cin lump capacitance for output drive delay ~ Tgate + fanout  Cin Cwire << Cin or Cwire can lump with Cout/Tgate

Penn ESE535 Spring DeHon 19 Cost Models Why do I show you models? –not clear there’s one “right” model –changes over time –you’re going to encounter many different kinds of problems –want you to see formulations so can critique and develop own –simple cost models make problems tractable are surprisingly adequate –simple, at least, help bound solutions –may be wrong today…need to rethink

Penn ESE535 Spring DeHon 20 Approaches

Penn ESE535 Spring DeHon 21 Greedy work? Greedy = pick next locally “best” choice 2346

Penn ESE535 Spring DeHon 22 Greedy In  Out 6 4 2

Penn ESE535 Spring DeHon 23 Greedy In  Out 8 11

Penn ESE535 Spring DeHon 24 Greedy Out  In 6 4 2

Penn ESE535 Spring DeHon 25 Greedy Out  In 8 11

Penn ESE535 Spring DeHon 26 But… = 10

Penn ESE535 Spring DeHon 27 Greedy Problem What happens in the future (elsewhere in circuit) will determine what should be done at this point in the circuit. Can’t just pick best thing for now and be done.

Penn ESE535 Spring DeHon 28 Brute force? Pick a node (output) Consider –all possible gates which may cover that node –branch on all inputs after cover –pick least cost node

Penn ESE535 Spring DeHon 29 Pick a Node

Penn ESE535 Spring DeHon 30 Brute force? Pick a node (output) Consider –all possible gates which may cover that node –recurse on all inputs after cover –pick least cost node Explore all possible covers –can find optimum

Penn ESE535 Spring DeHon 31 Analyze brute force? Time? Say P patterns, constant time to match each –(if patterns long could be > O(1)) P-way branch at each node… …exponential  O((P) depth )

Penn ESE535 Spring DeHon 32 Structure inherent in problem to exploit?

Penn ESE535 Spring DeHon 33 Structure inherent in problem to exploit? There are only N unique nodes to cover!

Penn ESE535 Spring DeHon 34 Structure If subtree solutions do not depend on what happens outside of its subtree –separate tree –farther up tree Should only have to look at N nodes. Time(N) = N*P*T(match) –w/ P fixed/bounded  linear in N –w/ cleverness work isn’t P*T(match) at every node

Penn ESE535 Spring DeHon 35 Idea Re-iterated Work from inputs Optimal solution to subproblem is contained in optimal, global solution Find optimal cover for each node Optimal cover: –examine all gates at this node –look at cost of gate and its inputs –pick least

Penn ESE535 Spring DeHon 36 Work front-to-back

Penn ESE535 Spring DeHon 37 Work Example (area) library

Penn ESE535 Spring DeHon 38 Work Example (area) library

Penn ESE535 Spring DeHon 39 Work Example (area) library

Penn ESE535 Spring DeHon 40 Work Example (area) library =8

Penn ESE535 Spring DeHon 41 Work Example (area) library

Penn ESE535 Spring DeHon 42 Work Example (area) library

Penn ESE535 Spring DeHon 43 Work Example (area) library =5

Penn ESE535 Spring DeHon 44 Work Example (area) library

Penn ESE535 Spring DeHon 45 Work Example (area) library =8

Penn ESE535 Spring DeHon 46 Work Example (area) library

Penn ESE535 Spring DeHon 47 Work Example (area) library

Penn ESE535 Spring DeHon 48 Work Example (area) library =13

Penn ESE535 Spring DeHon 49 Work Example (area) library

Penn ESE535 Spring DeHon 50 Work Example (area) library =15

Penn ESE535 Spring DeHon 51 Work Example (area) library =9

Penn ESE535 Spring DeHon 52 Work Example (area) library

Penn ESE535 Spring DeHon 53 Work Example (area) library =16

Penn ESE535 Spring DeHon 54 Work Example (area) library =18

Penn ESE535 Spring DeHon 55 Work Example (area) library

Penn ESE535 Spring DeHon 56 Work Example (area) library =18

Penn ESE535 Spring DeHon 57 Work Example (area) library =22

Penn ESE535 Spring DeHon 58 Work Example (area) library

Penn ESE535 Spring DeHon 59 Work Example (area) library =21

Penn ESE535 Spring DeHon 60 Work Example (area) library =17

Penn ESE535 Spring DeHon 61 Work Example (area) library =19

Penn ESE535 Spring DeHon 62 Work Example (area) library

Penn ESE535 Spring DeHon 63 Optimal Cover library

Penn ESE535 Spring DeHon 64 Optimal Cover library Much better than 31!

Penn ESE535 Spring DeHon 65 Note There are nodes we cover which will not appear in final solution.

Penn ESE535 Spring DeHon 66 “Unused” Nodes library

Penn ESE535 Spring DeHon 67 Dynamic Programming Solution Solution described is general instance of dynamic programming Require: –optimal solution to subproblems is optimal solution to whole problem –(all optimal solutions equally good) –divide-and-conquer gets same (finite/small) number of subproblems Same technique used for instruction selection

Penn ESE535 Spring DeHon 68 Delay Similar –Cost(node) = Delay(gate)+Max(Delay(input))

Penn ESE535 Spring DeHon 69 DAG DAG = Directed Acyclic Graph –Distinguish from tree (tree  DAG) –Distinguish from cyclic Graph –DAG  Directed Graph (digraph) treeDAG Digraph

Penn ESE535 Spring DeHon 70 Trees vs. DAGs Optimal for trees –why? Area Delay

Penn ESE535 Spring DeHon 71 Not optimal for DAGs Why?

Penn ESE535 Spring DeHon 72 Not optimal for DAGs Why? 1+1+1=3

Penn ESE535 Spring DeHon 73 Not optimal for DAGs Why? 1+1+1= =7 ?

Penn ESE535 Spring DeHon 74 Not Optimal for DAGs (area) Cost(N) = Cost(gate) +  Cost(input nodes) think of sets cost is magnitude of set union Problem: minimum cost (magnitude) solution isn’t necessarily the best pick –get interaction between subproblems –subproblem optimum not global...

Penn ESE535 Spring DeHon 75 Not Optimal for DAGs Delay: –in fanout model, depends on problem you haven’t already solved (delay of node depends on number of uses)

Penn ESE535 Spring DeHon 76 What do people do? Cut DAGs at fanout nodes optimally solve resulting trees Area –guarantees covered once get accurate costs in covering trees, made “premature” assignment of nodes to trees Delay –know where fanout is

Penn ESE535 Spring DeHon 77 Bounding Tree solution give bounds (esp. for delay) –single path, optimal covering for delay –(also make tree by replicating nodes at fanout points) no fanout cost give bounds –know you can’t do better delay bounds useful, too –know what you’re giving up for area –when delay matters

Penn ESE535 Spring DeHon 78 (Multiple Objectives?) Like to say, get delay, then area –won’t get minimum area for that delay –algorithm only keep best delay –…but best delay on off critical path piece not matter …could have accepted more delay there –don’t know if on critical path while building subtree –(iterate, keep multiple solutions)

Penn ESE535 Spring DeHon 79 Many more details... Implement well Combine criteria –(touch on some later) …see literature

Penn ESE535 Spring DeHon 80 Admin No class Wednesday –Work on problems 1 and 2 of assignment Reading for next Monday online –Flowmap  classic FPGA-mapping paper

Penn ESE535 Spring DeHon 81 Big Ideas simple cost models problem formulation identifying structure in the problem special structure characteristics that make problems hard bounding solutions