CS137: Electronic Design Automation

Slides:



Advertisements
Similar presentations
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 22: December 2, 2005 Routing 2 (Pathfinder)
Advertisements

CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 14: March 3, 2004 Scheduling Heuristics and Approximation.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 11: March 4, 2008 Placement (Intro, Constructive)
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 5 Partitioning: Intro + KLFM. Today Partitioning –why important –practical attack –variations and issues.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 21: April 15, 2009 Routing 1.
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) …
CS294-6 Reconfigurable Computing Day 15 October 13, 1998 LUT Mapping.
EDA (CS286.5b) Day 7 Placement (Simulated Annealing) Assignment #1 due Friday.
Partitioning Outline –What is Partitioning –Partitioning Example –Partitioning Theory –Partitioning Algorithms Goal –Understand partitioning problem –Understand.
Register-Transfer (RT) Synthesis Greg Stitt ECE Department University of Florida.
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)
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 17: November 11, 2005 Placement (Simulated Annealing…)
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 12: February 13, 2002 Scheduling Heuristics and Approximation.
Caltech CS184a Fall DeHon1 CS184a: Computer Architecture (Structures and Organization) Day11: October 30, 2000 Interconnect Requirements.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 9: February 14, 2011 Placement (Intro, Constructive)
Modern VLSI Design 3e: Chapter 4 Copyright  1998, 2002 Prentice Hall PTR Topics n Interconnect design. n Crosstalk. n Power optimization.
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 7: January 24, 2003 Instruction Space.
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)
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 10: February 6, 2002 Placement (Simulated Annealing…)
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.
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 16: February 14, 2005 Interconnect 4: Switching.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 9: February 9, 2004 Partitioning (Intro, KLFM)
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 13: February 6, 2003 Interconnect 3: Richness.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 6: January 30, 2013 Partitioning (Intro, KLFM)
An Exact Algorithm for Difficult Detailed Routing Problems Kolja Sulimma Wolfgang Kunz J. W.-Goethe Universität Frankfurt.
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.
CS137 Electronic Design Automation Day 9: February 25, 2004 Placement II André DeHon, Michael Wrighton.
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.
VLSI Physical Design Automation
ESE534: Computer Organization
ESE534 Computer Organization
CS137: Electronic Design Automation
VLSI Quadratic Placement
CS137: Electronic Design Automation
CS137: Electronic Design Automation
CS137: Electronic Design Automation
ESE535: Electronic Design Automation
ESE534: Computer Organization
ESE534: Computer Organization
ESE535: Electronic Design Automation
EE5780 Advanced VLSI Computer-Aided Design
ESE534: Computer Organization
ESE535: Electronic Design Automation
Topics Logic synthesis. Placement and routing..
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
CS184a: Computer Architecture (Structures and Organization)
ESE535: Electronic Design Automation
Register-Transfer (RT) Synthesis
ESE535: Electronic Design Automation
ESE534: Computer Organization
ESE535: Electronic Design Automation
CS137: Electronic Design Automation
CS184a: Computer Architecture (Structure and Organization)
CS137: Electronic Design Automation
Presentation transcript:

CS137: Electronic Design Automation Day 16: November 9, 2005 Placement (Intro, Constructive) CALTECH CS137 Fall2005 -- DeHon

Today Placement Problem PartitioningPlacement Quadrisection Refinement CALTECH CS137 Fall2005 -- DeHon

Placement Problem: Pick locations for all building blocks minimizing energy, delay, area really: minimize wire length minimize channel density CALTECH CS137 Fall2005 -- DeHon

Bad Placement How bad can it be? Area Delay Energy CALTECH CS137 Fall2005 -- DeHon

Bad: Area All wires cross bisection O(N2) area good: O(N) CALTECH CS137 Fall2005 -- DeHon

Bad: Delay All critical path wires cross chip Delay =O(|PATH|*2*Lside) [and Lside as O(N)] good: O(|PATH|* Lcell) compare 50ps gates to many nanoseconds to cross chip CALTECH CS137 Fall2005 -- DeHon

Clock Cycle Radius Radius of logic can reach in one cycle (45 nm) Few hundred PEs Chip side 600-700 PE 400-500 thousand PEs 100s of cycles to cross CALTECH CS137 Fall2005 -- DeHon

Bad: Energy All wires cross chip: Good: O(Lside) long  O(Lside) capacitance per wire Recall AreaO(N2) So Lside  O(N) O(N) wires  O(N2) capacitance Good: O(1) long wires  O(N) capacitance CALTECH CS137 Fall2005 -- DeHon

Distance Can we place everything close? CALTECH CS137 Fall2005 -- DeHon

“Closeness” Try placing “everything” close CALTECH CS137 Fall2005 -- DeHon

Problem Characteristics Familiar NP Complete local, greedy not work greedy gets stuck in local minima CALTECH CS137 Fall2005 -- DeHon

Constructive Placement CALTECH CS137 Fall2005 -- DeHon

Basic Idea Partition (bisect) to define halves of chip minimize wire crossing Recurse to refine When get down to single component, done CALTECH CS137 Fall2005 -- DeHon

Adequate? Does recursive bisection capture the primary constraints of two-dimensional placement? CALTECH CS137 Fall2005 -- DeHon

Problems Greedy, top-down cuts Two-dimensional problem 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 CALTECH CS137 Fall2005 -- DeHon

Interaction CALTECH CS137 Fall2005 -- DeHon

Example Ideal split (not typical) “Equivalent” split ignoring external constraints Practically -- makes all H cuts also be V cuts CALTECH CS137 Fall2005 -- DeHon

Interaction CALTECH CS137 Fall2005 -- DeHon

Problem Need to keep track of where things are outside of current partition include costs induced by above Don’t necessarily know where things are still solving problem CALTECH CS137 Fall2005 -- DeHon

Improvement: Ordered Order operations Keep track of existing solution Use to constrain or pass costs to next subproblem B A CALTECH CS137 Fall2005 -- DeHon

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 S A B T CALTECH CS137 Fall2005 -- DeHon

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 S A B T CALTECH CS137 Fall2005 -- DeHon

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 CALTECH CS137 Fall2005 -- DeHon

Constrain Partition C A B D Solve AB and CD concurrently. CALTECH CS137 Fall2005 -- DeHon

Improvement: Quadrisect Solve more of problem at once Quadrisection: partition into 4 bins simultaneously keep track of costs all around CALTECH CS137 Fall2005 -- DeHon

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) CALTECH CS137 Fall2005 -- DeHon

Quadrisect Cases (15): (1 partition) x 4 (2 part) x 6 = (4 choose 2) CALTECH CS137 Fall2005 -- DeHon

Recurse Keep outside constraints Don’t know detail place (cost effects) Don’t know detail place Model as at center of unrefined region CALTECH CS137 Fall2005 -- DeHon

Option: Terminal Propagation Abstract inputs as terminals Partition based upon Represent cost effects on placement/refinement decisions CALTECH CS137 Fall2005 -- DeHon

Option: Refine Keep refined placement Use in cost estimates CALTECH CS137 Fall2005 -- DeHon

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 CALTECH CS137 Fall2005 -- DeHon

Iterate After solve later problems Relax solution Solve earlier problems again with refined placements (cost estimates) Repeat until converge CALTECH CS137 Fall2005 -- DeHon

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 CALTECH CS137 Fall2005 -- DeHon

Refinement Relax using overlapping windows Deal with edging effects Khang etc. claim 10-15% improve cycle overlap CALTECH CS137 Fall2005 -- DeHon

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 CALTECH CS137 Fall2005 -- DeHon

Runtime Each gain update still O(1) O(1) iterations expected (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) CALTECH CS137 Fall2005 -- DeHon

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? CALTECH CS137 Fall2005 -- DeHon

Summary Partition to minimize cut size Additional constraints to do well Improving constant factors Quadrisection Keep track of estimated placement Relax/iterate/Refine CALTECH CS137 Fall2005 -- DeHon

Admin ??? CALTECH CS137 Fall2005 -- DeHon

Big Ideas: Potential dominance of interconnect Divide-and-conquer Successive Refinement Phase ordering: estimate/relax/iterate CALTECH CS137 Fall2005 -- DeHon