Penn ESE535 Spring 2008 -- DeHon 1 ESE535: Electronic Design Automation Day 11: March 4, 2008 Placement (Intro, Constructive)

Slides:



Advertisements
Similar presentations
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 14: March 3, 2004 Scheduling Heuristics and Approximation.
Advertisements

Circuit Retiming with Interconnect Delay CUHK CSE CAD Group Meeting One Evangeline Young Aug 19, 2003.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 9: February 20, 2008 Partitioning (Intro, KLFM)
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 15: March 12, 2007 Interconnect 3: Richness.
CS294-6 Reconfigurable Computing Day 8 September 17, 1998 Interconnect Requirements.
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.
EDA (CS286.5b) Day 5 Partitioning: Intro + KLFM. Today Partitioning –why important –practical attack –variations and issues.
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 9: February 7, 2007 Instruction Space Modeling.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 21: April 15, 2009 Routing 1.
EDA (CS286.5b) Day 6 Partitioning: Spectral + MinCut.
Penn ESE Fall DeHon 1 ESE (ESE534): Computer Organization Day 19: March 26, 2007 Retime 1: Transformations.
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 13: February 26, 2007 Interconnect 1: Requirements.
CS294-6 Reconfigurable Computing Day 13 October 6, 1998 Interconnect Partitioning.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 19: April 9, 2008 Routing 1.
EDA (CS286.5b) Day 11 Scheduling (List, Force, Approximation) N.B. no class Thursday (FPGA) …
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
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.
EDA (CS286.5b) Day 7 Placement (Simulated Annealing) Assignment #1 due Friday.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 13: March 17, 2008 Dual Objective Dynamic Programming.
Penn ESE525 Spring DeHon 1 ESE535: Electronic Design Automation Day 10: February 18, 2009 Partitioning 2 (spectral, network flow)
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 16: March 14, 2007 Interconnect 4: Switching.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 15: March 18, 2009 Static Timing Analysis and Multi-Level Speedup.
Penn ESE Spring DeHon 1 FUTURE Timing seemed good However, only student to give feedback marked confusing (2 of 5 on clarity) and too fast.
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 14: February 28, 2007 Interconnect 2: Wiring Requirements and Implications.
Partitioning Outline –What is Partitioning –Partitioning Example –Partitioning Theory –Partitioning Algorithms Goal –Understand partitioning problem –Understand.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 8: February 13, 2008 Retiming.
Introduction to Routing. The Routing Problem Apply after placement Input: –Netlist –Timing budget for, typically, critical nets –Locations of blocks and.
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 13: February 4, 2005 Interconnect 1: Requirements.
Modern VLSI Design 4e: Chapter 4 Copyright  2008 Wayne Wolf Topics n Interconnect design. n Crosstalk. n Power optimization.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 4: January 28, 2015 Partitioning (Intro, KLFM)
ESE Spring DeHon 1 ESE534: Computer Organization Day 19: April 7, 2014 Interconnect 5: Meshes.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 2: January 26, 2015 Covering Work preclass exercise.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 12: February 13, 2002 Scheduling Heuristics and Approximation.
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.
Modern VLSI Design 3e: Chapter 4 Copyright  1998, 2002 Prentice Hall PTR Topics n Interconnect design. n Crosstalk. n Power optimization.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 10: February 18, 2015 Architecture Synthesis (Provisioning, Allocation)
Modern VLSI Design 3e: Chapter 10 Copyright  1998, 2002 Prentice Hall PTR Topics n CAD systems. n Simulation. n Placement and routing. n Layout analysis.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 6: January 23, 2002 Partitioning (Intro, KLFM)
Penn ESE525 Spring DeHon 1 ESE535: Electronic Design Automation Day 6: February 4, 2014 Partitioning 2 (spectral, network flow)
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 23: April 20, 2015 Static Timing Analysis and Multi-Level Speedup.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 13: February 20, 2002 Routing 1.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 13: March 3, 2015 Routing 1.
Penn ESE534 Spring DeHon 1 ESE534: Computer Organization Day 18: April 2, 2014 Interconnect 4: Switching.
Penn ESE534 Spring DeHon 1 ESE534: Computer Organization Day 2: January 20, 2010 Universality, Gates, Logic Work Preclass Exercise.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 9: February 9, 2004 Partitioning (Intro, KLFM)
CALTECH CS137 Spring DeHon 1 CS137: Electronic Design Automation Day 5: April 12, 2004 Covering and Retiming.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 10: February 16, 2011 Placement II (Simulated Annealing)
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 6: January 30, 2013 Partitioning (Intro, KLFM)
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 15: March 13, 2013 High Level Synthesis II Dataflow Graph Sharing.
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 12: February 5, 2003 Interconnect 2: Wiring Requirements.
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 ESE534 Spring DeHon 1 ESE534: Computer Organization Day 17: March 29, 2010 Interconnect 2: Wiring Requirements and Implications.
CALTECH CS137 Winter DeHon 1 CS137: Electronic Design Automation Day 8: January 27, 2006 Cellular Placement.
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 21: November 28, 2005 Routing 1.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 25: April 17, 2013 Covering and Retiming.
CS137: Electronic Design Automation
CS137: Electronic Design Automation
ESE535: Electronic Design Automation
ESE534: Computer Organization
ESE534: Computer Organization
EE5780 Advanced VLSI Computer-Aided Design
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
Presentation transcript:

Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 11: March 4, 2008 Placement (Intro, Constructive)

Penn ESE535 Spring DeHon 2 Today Placement Problem Partitioning  Placement Quadrisection Refinement

Penn ESE535 Spring DeHon 3 Placement Problem: Pick locations for all building blocks –minimizing energy, delay, area –really: minimize wire length minimize channel density

Penn ESE535 Spring DeHon 4 Bad Placement How bad can it be? –Area –Delay –Energy

Penn ESE535 Spring DeHon 5 Bad: Area All wires cross bisection O(N 2 ) area good: O(N)

Penn ESE535 Spring DeHon 6 Bad: Delay All critical path wires cross chip Delay =O(|PATH|*2*L side ) –[and L side is O(N)] good: O(|PATH|* L cell ) compare 50ps gates to many nanoseconds to cross chip

Penn ESE535 Spring DeHon 7 Clock Cycle Radius Radius of logic can reach in one cycle (45 nm) –1 Cycle Radius = 10 Few hundred PEs –Chip side PE thousand PEs –100s of cycles to cross

Penn ESE535 Spring DeHon 8 Bad: Energy All wires cross chip: O(L side ) long  O(L side ) capacitance per wire Recall Area  O(N 2 ) So L side  O(N)  O(N) wires  O(N 2 ) capacitance Good: O(1) long wires  O(N) capacitance

Penn ESE535 Spring DeHon 9 Distance Can we place everything close?

Penn ESE535 Spring DeHon 10 “Closeness” Try placing “everything” close

Penn ESE535 Spring DeHon 11 Illustration Consider a complete tree – nand2’s, no fanout –N nodes Logical circuit depth? Circuit Area? Side Length? Average wire length between nand gates? (lower bound)

Penn ESE535 Spring DeHon 12 Another Example Consider a cut size F(N) >  N If optimally place all F(N) producers right next to bisection –How many cells deep is producer farthest from the bisection? Lower bound on wire length?

Penn ESE535 Spring DeHon 13 Problem Characteristics Familiar –NP Complete –local, greedy not work –greedy gets stuck in local minima

Penn ESE535 Spring DeHon 14 Constructive Placement

Penn ESE535 Spring DeHon 15 Basic Idea Partition (bisect) to define halves of chip –minimize wire crossing Recurse to refine When get down to single component, done

Penn ESE535 Spring DeHon 16 Adequate? Does recursive bisection capture the primary constraints of two-dimensional placement?

Penn ESE535 Spring DeHon 17 Problems Greedy, top-down cuts –maybe better pay cost early? Two-dimensional problem –(often) no real cost difference between H and V cuts Interaction between subtrees –not modeled by recursive bisect

Penn ESE535 Spring DeHon 18 Interaction

Penn ESE535 Spring DeHon 19 Example Ideal split (not typical) “Equivalent” split ignoring external constraints Practically -- makes all H cuts also be V cuts

Penn ESE535 Spring DeHon 20 Interaction

Penn ESE535 Spring DeHon 21 Problem Need to keep track of where things are –outside of current partition –include costs induced by above …but don’t necessarily know where things are –still solving problem

Penn ESE535 Spring DeHon 22 Improvement: Ordered Order operations Keep track of existing solution Use to constrain or pass costs to next subproblem B A

Penn ESE535 Spring DeHon 23 Improvement: Ordered Order operations Keep track of existing solution Use to constrain or pass costs to next subproblem Flow cut –use existing in src/sink –A nets = src, B nets = sink B A S T

Penn ESE535 Spring DeHon 24 Improvement: Ordered Order operations Keep track of existing solution Use to constrain or pass costs to next subproblem Flow cut –use existing in src/sink –A nets = src, B nets = sink FM: start with fixed, unmovable nets for side-biased inputs B A S T

Penn ESE535 Spring DeHon 25 Improvement: Constrain Partition once Constrain movement within existing partitions Account for both H and V crossings Partition next –(simultaneously work parallel problems) –easy modification to FM

Penn ESE535 Spring DeHon 26 Constrain Partition Solve AB and CD concurrently. C D A B

Penn ESE535 Spring DeHon 27 Improvement: Quadrisect Solve more of problem at once Quadrisection: –partition into 4 bins simultaneously –keep track of costs all around

Penn ESE535 Spring DeHon 28 Quadrisect Modify FM to work on multiple buckets k-way has: –k(k-1) buckets –|from|  |to| –quad  12 reformulate gains update still O(1)

Penn ESE535 Spring DeHon 29 Quadrisect Cases (15): –(1 partition)  4 –(2 part)  6 = (4 choose 2) –(3 part)  4 = (4 choose 3) –(4 part)  1

Penn ESE535 Spring DeHon 30 Recurse Keep outside constraints –(cost effects) Don’t know detail place Model as at center of unrefined region

Penn ESE535 Spring DeHon 31 Option: Terminal Propagation Abstract inputs as terminals Partition based upon Represent cost effects on placement/refinement decisions

Penn ESE535 Spring DeHon 32 Option: Refine Keep refined placement Use in cost estimates

Penn ESE535 Spring DeHon 33 Problem Still have ordering problem Earlier subproblems solved with weak constraints from later –(cruder placement estimates) Solved previous case by flattening –…but in extreme give up divide and conquer

Penn ESE535 Spring DeHon 34 Iterate After solve later problems Relax solution Solve earlier problems again with refined placements (cost estimates) Repeat until converge

Penn ESE535 Spring DeHon 35 Iteration/Cycling General technique to deal with phase- ordering problem –what order do we perform transformations, make decisions? –How get accurate information to everyone Still basically greedy

Penn ESE535 Spring DeHon 36 Refinement Relax using overlapping windows Deal with edging effects Huang&Kahng claim 10-15% improve –cycle –overlap

Penn ESE535 Spring DeHon 37 Possible Refinement Allow unbalanced cuts –most things still work –just distort refinement groups –allowing unbalance using FM quadrisection looks a bit tricky –gives another 5-10% improvement

Penn ESE535 Spring DeHon 38 Runtime Each gain update still O(1) –(bigger constants) –so, FM partition pass still O(N) O(1) iterations expected assume O(1) overlaps exploited O(log(N)) levels Total: O(N log(N)) –very fast compared to typical annealing (annealing next time)

Penn ESE535 Spring DeHon 39 Quality: Area [Huang&Kahng/ISPD1997]

Penn ESE535 Spring DeHon 40 Quality: Delay Weight edges based on criticality –Periodic, interleaved timing analysis

Penn ESE535 Spring DeHon 41 Uses Good by self Starting point for simulated annealing –speed convergence With synthesis (both high level and logic) –get a quick estimate of physical effects –(play role in estimation/refinement at larger level) Early/fast placement –before willing to spend time looking for best For fast placement where time matters –FPGAs, online placement?

Penn ESE535 Spring DeHon 42 Summary Partition to minimize cut size Additional constraints to do well –Improving constant factors Quadrisection Keep track of estimated placement Relax/iterate/Refine

Penn ESE535 Spring DeHon 43 Admin Reading for Wednesday Assignment 4 out –Placement (and clustering) for timing

Penn ESE535 Spring DeHon 44 Big Ideas: Potential dominance of interconnect Divide-and-conquer Successive Refinement Phase ordering: estimate/relax/iterate