CALTECH CS137 Fall2005 -- DeHon 1 CS137: Electronic Design Automation Day 18: November 14, 2005 Dual Objective Dynamic Programming.

Slides:



Advertisements
Similar presentations
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 19: November 21, 2005 Scheduling Introduction.
Advertisements

CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 22: December 2, 2005 Routing 2 (Pathfinder)
EDA (CS286.5b) Day 10 Scheduling (Intro Branch-and-Bound)
Lecture 24 Coping with NPC and Unsolvable problems. When a problem is unsolvable, that's generally very bad news: it means there is no general algorithm.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 14: March 3, 2004 Scheduling Heuristics and Approximation.
Branch & Bound Algorithms
CSE 380 – Computer Game Programming Pathfinding AI
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.
CS294-6 Reconfigurable Computing Day 10 September 24, 1998 Interconnect Richness.
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 11: February 14, 2007 Compute 1: LUTs.
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)
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 16: March 23, 2009 Covering.
EDA (CS286.5b) Day 14 Routing (Pathfind, netflow).
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.
EDA (CS286.5b) Day 19 Covering and Retiming. “Final” Like Assignment #1 –longer –more breadth –focus since assignment #2 –…but ideas are cummulative –open.
EDA (CS286.5b) Day 9 Simultaneous Optimization (Cover+Place, Area+Delay)
CSE 144 Project Part 2. Overview Multiple rows Routing channel between rows Components of identical height but various width Goal: Implement a placement.
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.
Backtracking.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
Register-Transfer (RT) Synthesis Greg Stitt ECE Department University of Florida.
Geography and CS Philip Chan. How do I get there? Navigation Which web sites can give you turn-by-turn directions?
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 15: February 12, 2003 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.
BackTracking CS335. N-Queens The object is to place queens on a chess board in such as way as no queen can capture another one in a single move –Recall.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 24: April 18, 2011 Covering and Retiming.
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 18: February 18, 2005 Interconnect 6: MoT.
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 7: February 3, 2002 Retiming.
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.
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 16: February 14, 2003 Interconnect 6: MoT.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 3: January 12, 2004 Clustering (LUT Mapping, Delay)
Technology Mapping. 2 Technology mapping is the phase of logic synthesis when gates are selected from a technology library to implement the circuit. Technology.
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.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 14: February 27, 2002 Routing 2 (Pathfinder)
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 13: February 6, 2003 Interconnect 3: Richness.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 6: January 26, 2004 Sequential Optimization (FSM Encoding)
1 WireMap FPGA Technology Mapping for Improved Routability Stephen Jang, Xilinx Inc. Billy Chan, Xilinx Inc. Kevin Chung, Xilinx Inc. Alan Mishchenko,
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 15: March 13, 2013 High Level Synthesis II Dataflow Graph Sharing.
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 2: September 28, 2005 Covering.
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
BackTracking CS255.
CS184a: Computer Architecture (Structure and Organization)
CS137: Electronic Design Automation
CS137: Electronic Design Automation
ESE535: Electronic Design Automation
CS184a: Computer Architecture (Structures and Organization)
ESE535: Electronic Design Automation
CS137: Electronic Design Automation
Area Coverage Problem Optimization by (local) Search
CS137: Electronic Design Automation
Presentation transcript:

CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 18: November 14, 2005 Dual Objective Dynamic Programming

CALTECH CS137 Fall DeHon 2 Today Cover and Place –Linear GAMA Optimal Tree-based –Area and Time covering for …and linear placement –Two Dimensional Lily

CALTECH CS137 Fall DeHon 3 Covering Review Use dynamic programming to optimally cover trees –problem decomposable into subproblems –optimal solution to each are part of optimal –no interaction between subproblems –small number of distinct subproblems –single optimal solution to subproblem Break DAG into trees then cover optimally

CALTECH CS137 Fall DeHon 4 Covering Basics Basic Idea: Assume have optimal solution to all subproblems smaller than current problem try all ways of implementing current root –each candidate solution is new gate + previously solve subtrees –pick best (smallest area, least delay, least power)

CALTECH CS137 Fall DeHon 5 Placement How do we integrate placement into this covering process?

CALTECH CS137 Fall DeHon 6 GaMa - Linear Placement Problem: cover and place datapaths in rows of FPGA-like cells to minimize area, delay Datapath width extends along one dimension (rows) Composition is 1D along other dimension (columns) Always covering SIMD row at a time [Callahan/FPGA’98]

CALTECH CS137 Fall DeHon 7 Basic Strategy Restrict each subtree to a contiguous set of rows Build up placement for subtree during cover When consider cover, also consider all sets of arrangments of subtrees –effectively expands library set

CALTECH CS137 Fall DeHon 8 Simultaneous Placement Benefits Know real delay (including routing) during covering –make sure critical logic uses fastest inputs –…shortest paths Know adjacency –can use special resources requiring adjacent blocks

CALTECH CS137 Fall DeHon 9 GaMa Properties Operates in time linear in graph size –O(|rule set|*|graph nodes|) Finds area-optimum for restricted problem –trees with contiguous subtrees As is, may not find delay optimum

CALTECH CS137 Fall DeHon 10 GaMa Delay Example

CALTECH CS137 Fall DeHon 11 GaMa Delay Problem Area can affect delay Doesn’t know when to pick worse delay to reduce area –make non-critical path subtree slower/smaller –so overall critical path will be close later Only tracking single objective Fixable as next technique demonstrates

CALTECH CS137 Fall DeHon 12 GaMa Results Comparable result quality (area, time) to running through Xilinx tools Placement done in seconds as opposed to minutes to hours for Xilinx –simulated annealing, etc. –not exploiting datapath regularity

CALTECH CS137 Fall DeHon 13 Simultaneous Mapping and Linear Placement of Trees Problem: cover and place standard cell row minimizing area Area: cell width and cut width Technique: combine DP-covering with DP-tree layout [Lou+Salek+Pedram/ICCAD’97]

CALTECH CS137 Fall DeHon 14 Task Minimize: –Area=gate-width * (gate-height+c*wire-pitch)

CALTECH CS137 Fall DeHon 15 Composition Challenge Minimum area solution to subproblems does not necessarily lead to minimum area solution:

CALTECH CS137 Fall DeHon 16 Minimize Area Two components of area: –gate-area –cut-width Unclear during mapping when need – a smaller gate-area –vs. a smaller cut-width at the expense of (local) cell area –(same problem as area vs. delay in GaMa)

CALTECH CS137 Fall DeHon 17 Strategy Recognize that these are incomparable objectives –neither is strictly superior to other –keep all solutions –discard only inferior (dominated) solutions

CALTECH CS137 Fall DeHon 18 Dominating/Inferior Solutions A solution is dominated if there is another solution strictly superior in all objectives –A=3, T=2 A=2, T=3 neither dominates –A=3, T=3 A=3, T=2 A=2, T=3 A=3, T=3 is inferior, being dominated by either of the other two solutions

CALTECH CS137 Fall DeHon 19 Non-Inferior Curve Set of dominators defines a curve This is a recurring theme---often prune work using dominator curve

CALTECH CS137 Fall DeHon 20 Strategy Keep curve of non-inferior area-cut points During DP –build a new curve for each subtree –by looking at solution set intersections cross product set of solutions from each subtrees feeding into this subtree

CALTECH CS137 Fall DeHon 21 Consequences More work per graph point –keeping and intersecting many points Theory: points (fanin) * gates Points  range of solutions in smallest dimension e.g. points  number of different cut-widths

CALTECH CS137 Fall DeHon 22 Algorithm: Tree Cover+Place For each tree node from leafs –For each gate cover For each non-inferior point in fanin-subtrees –compute optimal tree layout –keep non-inferior points (cutwidth, gate- area) Optimal Tree Layout –Yannakakis/JACM v32n4p950, Oct. 1985

CALTECH CS137 Fall DeHon 23 Time Notes Computing Optimal Tree layout: O(Nlog(N)) Per node: O(cutwidth (fanin) * N*log(N)) Loose bound –possible to tighten? –less points and smaller “N” in tree for earlier subproblems –higher fanin  less depth  more use of small “N” for linear layout problems

CALTECH CS137 Fall DeHon 24 Empirical Results Claim: 20% area improvement

CALTECH CS137 Fall DeHon 25 Covering for Area and Delay Previously saw was hard to do DP to –simultaneously optimize for area and delay –properly generate area-time tradeoffs Problem: –whether or not needed a fast path –not clear until saw speed of siblings [Chaudhary+Pedram/DAC’92]

CALTECH CS137 Fall DeHon 26 Strategy Use same technique as just detailed for –gate-area + cutwidth I.e. -- at each tree cover –keep all non-inferior points (effectively the full area-time curve) –as cover, intersect area-time curves to generate new area-time curve When get to a node – can pick smallest implementation for a child node that does not increase critical path

CALTECH CS137 Fall DeHon 27 Points to Keep Usually small variance in times –if use discrete model like LUT delays, only a small number of different times –if use continuous model, can get close to optimum by discretizing and keeping a fixed set Similarly, small total variance in area –e.g. factor of 2-3 –discretizing, gets close w/out giving up much Discretized: run in time linear in N –assuming bounded fanin gates

CALTECH CS137 Fall DeHon 28 GaMa -- Optimal Delay Use this technique in GaMa –solve delay problem –get good area-delay tradeoffs –GARP has a discrete timing model so already have small spread –for conventional FPGA will have to discretize

CALTECH CS137 Fall DeHon 29 Covering and Linear Placement for Area and Delay Have both –cut-width + gate-area affects –delay tradeoff Result –have three objectives to minimize cut-width gate-area gate-delay [Lou+Salek+Pedram/ICCAD’97]

CALTECH CS137 Fall DeHon 30 Strategy Repeat trick: –keep non-inferior points in three-space –Intersect spaces to compute new cover spaces –May really need to discretize points to limit work

CALTECH CS137 Fall DeHon 31 Note Delay calculation: –assumes delay in gates and fanout –fanout effect makes heuristic maybe iterate/relax? –ignores distance “Optimal” tree layout algorithm being used –is optimal with respect to cut-width –not optimal with respect to critical path wire length

CALTECH CS137 Fall DeHon 32 Empirical Results Mapping for delay: –20% delay improvement –achieving effectively same area (of alternative, not of self targeting area)

CALTECH CS137 Fall DeHon 33 Two Dimensions? Both so far, one-dimensional One-dimensional –nice layout restrictions –simple metric for delay –simple metric for area How extend to two dimensions?

CALTECH CS137 Fall DeHon 34 2D Cover and Place Problem: cover and place in 2D to minimize area (delay) Area: gate area + “wirelength” area Delay: gate delay + estimated wire delay [Pedram+Bhat/DAC’91]

CALTECH CS137 Fall DeHon 35 Example Covering wrt placement matters nand2 nor2 nor2(nand2(A,B),nand2(C,D))=AND(A,B,C,D )

CALTECH CS137 Fall DeHon 36 Strategy Relax placement during covering Initially place unmapped using constructive placement (Day16) Cover via dynamic programming When cover a node, –fanins already visited –calculate new placement Center of Mass…like Force Directed Periodically re-calculate placement Use estimated/refined placements to get area, delay

CALTECH CS137 Fall DeHon 37 Incremental Placement Place newly covered nodes so as to minimize wire lengths (critical path delay?)

CALTECH CS137 Fall DeHon 38 Empirical Results In 1  m –5% area reduction –8% delay reduction Not that inspiring –…but this was in the micron era –probably have a bigger effect today

CALTECH CS137 Fall DeHon 39 Summary Can consider placement effects while covering Many problems can’t find optimum by minimizing single objective –delay (area effects) –area (cutwidth effects) Can adapt DP to solve –keep all non-inferior points –can keep polynomial time if very careful, primarily increase constants

CALTECH CS137 Fall DeHon 40 Admin No Class W,F Assignment 4 due Friday Next meeting M 11/21

CALTECH CS137 Fall DeHon 41 Big Ideas: Simultaneous optimization Multi-dimensional objectives –dominating points (inferior points) –use with dynamic programming Exploit stylized problems can solve optimally Phase Ordering: estimate/iterate