CALTECH CS137 Fall2005 -- DeHon 1 CS137: Electronic Design Automation Day 21: November 28, 2005 Routing 1.

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)
An Introduction to Channel Routing
Ch.7 Layout Design Standard Cell Design TAIST ICTES Program VLSI Design Methodology Hiroaki Kunieda Tokyo Institute of Technology.
5-1 Chapter 5 Tree Searching Strategies. 5-2 Satisfiability problem Tree representation of 8 assignments. If there are n variables x 1, x 2, …,x n, then.
Rajat K. Pal. Chapter 3 Emran Chowdhury # P Presented by.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE VLSI Circuit Design Lecture 11 - Combinational.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 11: March 4, 2008 Placement (Intro, Constructive)
3 -1 Chapter 3 The Greedy Method 3 -2 The greedy method Suppose that a problem can be solved by a sequence of decisions. The greedy method has that each.
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.
VLSI Routing. Routing Problem  Given a placement, and a fixed number of metal layers, find a valid pattern of horizontal and vertical wires that connect.
Routing 1 Outline –What is Routing? –Why Routing? –Routing Algorithms Overview –Global Routing –Detail Routing –Shortest Path Algorithms Goal –Understand.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 19: April 9, 2008 Routing 1.
3.3 Multi-Layer V i+1 H i Channel Routing Presented by Zulfiquer Md. Mizanur Rhaman Student # p.
EDA (CS286.5b) Day 7 Placement (Simulated Annealing) Assignment #1 due Friday.
Multi-Layer Channel Routing Complexity and Algorithm Rajat K. Pal.
3.3 Multi-Layer V i+1 H i Channel Routing Presented by Md. Shaifur Rahman Student #
Multi-Layer Channel Routing Complexity and Algorithm Rajat K. Pal.
CSE 144 Project Part 2. Overview Multiple rows Routing channel between rows Components of identical height but various width Goal: Implement a placement.
Chapter 5: Computational Complexity of Area Minimization in Multi-Layer Channel Routing and an Efficient Algorithm Presented by Md. Raqibul Hasan Std No.
7/13/ EE4271 VLSI Design VLSI Routing. 2 7/13/2015 Routing Problem Routing to reduce the area.
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.
Routing 2 Outline –Maze Routing –Line Probe Routing –Channel Routing Goal –Understand maze routing –Understand line probe routing.
Chip Planning 1. Introduction Chip Planning:  Deals with large modules with −known areas −fixed/changeable shapes −(possibly fixed locations for some.
General Routing Overview and Channel Routing
Introduction to Routing. The Routing Problem Apply after placement Input: –Netlist –Timing budget for, typically, critical nets –Locations of blocks and.
MGR: Multi-Level Global Router Yue Xu and Chris Chu Department of Electrical and Computer Engineering Iowa State University ICCAD
9/4/ VLSI Physical Design Automation Prof. David Pan Office: ACES Detailed Routing (I)
Authors: Jia-Wei Fang,Chin-Hsiung Hsu,and Yao-Wen Chang DAC 2007 speaker: sheng yi An Integer Linear Programming Based Routing Algorithm for Flip-Chip.
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 13: February 4, 2005 Interconnect 1: Requirements.
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 15: February 12, 2003 Interconnect 5: Meshes.
Modern VLSI Design 4e: Chapter 4 Copyright  2008 Wayne Wolf Topics n Standard cell-based layout. n Channel routing. n Simulation.
Global Routing.
Modern VLSI Design 3e: Chapter 4 Copyright  1998, 2002 Prentice Hall PTR Topics n Layouts for logic networks. n Channel routing. n Simulation.
Modern VLSI Design 3e: Chapters 1-3 week12-1 Lecture 30 Scale and Yield Mar. 24, 2003.
Maze Routing مرتضي صاحب الزماني.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 9: February 14, 2011 Placement (Intro, Constructive)
Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 24: April 18, 2011 Covering and Retiming.
4. Combinational Logic Networks Layout Design Methods 4. 2
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 10: February 6, 2002 Placement (Simulated Annealing…)
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 7: February 3, 2002 Retiming.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Caltech CS184 Winter DeHon 1 CS184a: Computer Architecture (Structure and Organization) Day 14: February 10, 2003 Interconnect 4: Switching.
Modern VLSI Design 3e: Chapter 4 Copyright  1998, 2002 Prentice Hall PTR Topics n Layouts for logic networks. n Channel routing. n Simulation.
ECE 260B – CSE 241A /UCB EECS Kahng/Keutzer/Newton Physical Design Flow Read Netlist Initial Placement Placement Improvement Cost Estimation Routing.
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.
Detailed Routing مرتضي صاحب الزماني.
CALTECH CS137 Spring DeHon 1 CS137: Electronic Design Automation Day 5: April 12, 2004 Covering and Retiming.
1 CS612 Algorithms for Electronic Design Automation CS 612 – Lecture 8 Lecture 8 Network Flow Based Modeling Mustafa Ozdal Computer Engineering Department,
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 11: February 25, 2015 Placement (Intro, Constructive)
EE4271 VLSI Design VLSI Channel Routing.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 25: April 17, 2013 Covering and Retiming.
VLSI Physical Design Automation
VLSI Physical Design Automation
CS137: Electronic Design Automation
CS137: Electronic Design Automation
ESE535: Electronic Design Automation
Iterative Deletion Routing Algorithm
CSE 144 Project Part 3.
Optimal Non-Manhattan Bubble Sort Channel Router
EE4271 VLSI Design, Fall 2016 VLSI Channel Routing.
Detailed Routing مرتضي صاحب الزماني.
VLSI Physical Design Automation
CS184a: Computer Architecture (Structure and Organization)
Presentation transcript:

CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 21: November 28, 2005 Routing 1

CALTECH CS137 Fall DeHon 2 Today Custom/Semi-custom Routing Slicing Channel Routing Over-the-Cell/Multilayer

CALTECH CS137 Fall DeHon 3 Routing Problem Where to wires run? Once know where blocks live, –where do the wires go? –In such a way as to: Fit in fixed resources Minimize resource requirements –(channel width  area)

CALTECH CS137 Fall DeHon 4 Variants Gate-Array Standard-Cell Full Custom

CALTECH CS137 Fall DeHon 5 Gate Array Fixed Grid Fixed row and column width Must fit into prefab channel capacity

CALTECH CS137 Fall DeHon 6 Gate Array Opportunities –Choice in paths –How exploit freedom to: Meet channel limits Minimize channel width

CALTECH CS137 Fall DeHon 7 Gate Array Opportunities –Choice in paths –How exploit freedom to: Meet channel limits Minimize channel width

CALTECH CS137 Fall DeHon 8 Semicustom Array Float Channel widths as needed Becomes a questions of minimizing total channel widths

CALTECH CS137 Fall DeHon 9 Row-based Standard Cell Variable size –Cells –Channels Primary route within row Vertical feed throughs

CALTECH CS137 Fall DeHon 10 Standard Cell Gates IOs on one or both sides Design in Feed- thru

CALTECH CS137 Fall DeHon 11 Full Custom / Macroblock Allow arbitrary geometry –Place larger cells E.g. memory –Datapath blocks

CALTECH CS137 Fall DeHon 12 Channel Routing Key subproblem in all variants Psuedo 1D problem Given: set of terminals on one or both sides of channel Assign to tracks to minimize channel width A C C D E E M F K L M C M N N O

CALTECH CS137 Fall DeHon 13 Gate Array  Channel Global route first –Decide which path each signal takes –Sequence of channels –Minimize congestion Wires per channel segment

CALTECH CS137 Fall DeHon 14 Gate Array  Channel Then Channel route each resulting channel Vertical Channel Horizontal Channel

CALTECH CS137 Fall DeHon 15 Std.Cell  Channel Route Plan feed through Channel route each row

CALTECH CS137 Fall DeHon 16 Macroblock  Channel Route Slice into pieces Route each as channel Work inside out Expand channels as needed Complete in one pass

CALTECH CS137 Fall DeHon 17 Not all Assemblies Sliceable No horizontal or vertical slice will separate Prevents ordering so can route in one pass

CALTECH CS137 Fall DeHon 18 Switchbox Routing Box with 3 or 4 sides fixed Try to route signals with Vertical Channel Horizontal Channel

CALTECH CS137 Fall DeHon 19 Switchbox Route Terminals on 4 sides Link up terminal A B D E A C F B GDFHGDFH AHCEAHCE

CALTECH CS137 Fall DeHon 20 Phased Routing After placement… Slice (macroblock case) –And order channels Global Route –Which channels to use Channel Route Switchbox Route

CALTECH CS137 Fall DeHon 21 Channel Routing

CALTECH CS137 Fall DeHon 22 Trivial Channel Routing Assign every net its own track –Channel width > N (single output functions) –Chip bisection  N  chip area N 2

CALTECH CS137 Fall DeHon 23 Sharing Tracks Want to Minimize tracks used Trick is to share tracks

CALTECH CS137 Fall DeHon 24 Not that Easy With Two sides –Even assigning one track/signal may not be enough A B B C C D

CALTECH CS137 Fall DeHon 25 Not that Easy With Two sides –Even assigning one track/signal may not be enough A B B C Bad assignment Overlap: A,B B,C C D

CALTECH CS137 Fall DeHon 26 Not that Easy With Two sides –Even assigning one track/signal may not be enough A B B C Valid assignment avoids overlap C D

CALTECH CS137 Fall DeHon 27 Not that Easy With Two sides –Even assigning one track/signal may not be enough A B B C i.e. there are vertical constraints on ordering C D

CALTECH CS137 Fall DeHon 28 Vertical Constraints For vertically aligned pins: – With single “vertical” routing layer –Cannot have distinct top pins on a lower track than bottom pins Leads to vertical overlap –Produces constraint that top wire be higher track than lower –Combine across all top/bottom pairs Leads to a Vertical Constraint Graph (VCG)

CALTECH CS137 Fall DeHon 29 VCG Example A B B C C D A B C D

CALTECH CS137 Fall DeHon 30 Channel Routing Complexity With Vertical Constraints –Problem becomes NP-complete Without Vertical Constraints –Can be solved optimally –Tracks = maximum channel density –Greedy algorithm

CALTECH CS137 Fall DeHon 31 No Vertical Constraints Good for: Single-sided channel –(no top and bottom pins) Three layers for routing –Two vertical channels allow top and bottom pins to cross –May not be best way to use 3 layers…

CALTECH CS137 Fall DeHon 32 Left-Edge Algorithm 1.Sort nets on leftmost end position 2.Start next lowest track; end=0 3.While there are unrouted nets with lowest left position > end of this track –Select unrouted net with lowest left position > end –Place selected net on this track –Update end position on this track to be end position of selected net 4.If nets remain, return to step 2 Greedy, optimal.

CALTECH CS137 Fall DeHon 33 Example: Left-Edge Top: a b g b c d f Bottom: g d f e a c e Nets: –a:1—5 –b:2—4 –c:5—6 –d:2—6 –e:4—7 –f:3—7 –g:1—3 Note: nets (shown as letters here) show up as numbers in conv. channel routing file formats.

CALTECH CS137 Fall DeHon 34 Example: Left-Edge Top: a b g b c d f Bottom: g d f e a c e Nets: –a:1—5 –b:2—4 –c:5—6 –d:2—6 –e:4—7 –f:3—7 –g:1—3 Sort Left Edge: –a:1—5 –g:1—3 –b:2—4 –d:2—6 –f:3—7 –e:4—7 –c:5—6

CALTECH CS137 Fall DeHon 35 Example: Left-Edge Top: a b g b c d f Bottom: g d f e a c e Sort Left Edge: –a:1—5 –g:1—3 –b:2—4 –d:2—6 –f:3—7 –e:4—7 –c:5—6 –Track 0: –End 0 –Add a:1—5 –End 5

CALTECH CS137 Fall DeHon 36 Example: Left-Edge Top: a b g b c d f Bottom: g d f e a c e Sort Left Edge: –g:1—3 –b:2—4 –d:2—6 –f:3—7 –e:4—7 –c:5—6 –Track 0: a:1—5 –Track 1: –End 0 –g:1—3 –End 3 –e: 4—7 –End 7

CALTECH CS137 Fall DeHon 37 Example: Left-Edge Top: a b g b c d f Bottom: g d f e a c e Sort Left Edge: –b:2—4 –d:2—6 –f:3—7 –c:5—6 –Track 0: a:1—5 –Track 1: g:1—3, e:4—7 –Track 2: –End 0 –b:2—4 –End 4 –c:5—6 –End 6

CALTECH CS137 Fall DeHon 38 Example: Left-Edge Top: a b g b c d f Bottom: g d f e a c e Sort Left Edge: –d:2—6 –f:3—7 –Track 0: a:1—5 –Track 1: g:1—3, 4:e—7 –Track 2: b:2—4, c:5—6 –Track 3: d:2—6 –Track 4: f:3—7

CALTECH CS137 Fall DeHon 39 Example: Left-Edge Top: a b g b c d f Bottom: g d f e a c e Track 0: a:1—5 Track 1: g:1—3, e:4—7 Track 2: b:2—4, c:5—6 Track 3: d:2—6 Track 4: f:3—7

CALTECH CS137 Fall DeHon 40 Constrained Left-Edge 1.Construct VCG 2.Sort nets on leftmost end position 3.Start new track; end=0 4.While there are nets that have No descendents in VCG And left edge > end 1.Place net on track and update end 2.Delete net from list, VCG 5.If there are still nets left to route, return to 2

CALTECH CS137 Fall DeHon 41 Example: Constrained Left- Edge Top: a b g b c d f Bottom: g d f e a c e Nets: –a:1—5 –b:2—4 –c:5—6 –d:2—6 –e:4—7 –f:3—7 –g:1—3 Vertical Constraints a  g b  d g  f b  e c  a d  c f  e c a g f e d b

CALTECH CS137 Fall DeHon 42 Example: … Top: a b g b c d f Bottom: g d f e a c e Sort Left Edge: –a:1—5 –g:1—3 –b:2—4 –d:2—6 –f:3—7 –e:4—7 –c:5—6 Track 0: e:4—7 Track 1: f:3—7 Track 2: g:1—3 Track 3: a:1—5 Track 4: c:5—6 Track 5: d:2—6 Track 6: b:2—4 c a g f e d b

CALTECH CS137 Fall DeHon 43 Example: Left-Edge Top: a b g b c d f Bottom: g d f e a c e Nets: –a:1—5 –b:2—4 –c:5—6 –d:2—6 –e:4—7 –f:3—7 –g:1—3

CALTECH CS137 Fall DeHon 44 Example 2: … Top: a a a b e d g c Bottom: b c d e f g f f Sort Left Edge: –b:1—4 –a:1—3 –c:2—8 –d:3—6 –e:4—5 – f:5—8 –c:6—7 a cdb ef g

CALTECH CS137 Fall DeHon 45 Example 2: … Top: a a a b e d g c Bottom: b c d e f g f f Sort Left Edge: –b:1—4 –a:1—3 –c:2—8 –d:3—6 –e:4—5 – f:5—8 –g:6—7 a cdb e f g Track 0: f Track 1: c Track 2: e, g Track 3: b Track 4: d Track 5: a

CALTECH CS137 Fall DeHon 46 VCG Cycles Top: Bottom: VCG: 1 32

CALTECH CS137 Fall DeHon 47 VCG Cycles No channel ordering satisfies VCG Must relax artificial constraint of single horizontal track per signal Dogleg: split horizontal run into multiple track segments In general, can reduce track requirements 1 02

CALTECH CS137 Fall DeHon 48 Dogleg Cycle Elimination Top: Bottom: VCG: 1 32 Top: 1a 1a/1b 2 Bottom: 2 3 1b VCG: 1a 3 2 1b

CALTECH CS137 Fall DeHon 49 Dogleg Cycle Elimination Top: 1a 1a/1b 2 Bottom: 2 3 1b VCG: 1a 3 2 1b

CALTECH CS137 Fall DeHon 50 Dogleg Algorithm 1.Break net into segments at pin positions 2.Build VCG based on segments 3.Run constrained on segments rather than full wires

CALTECH CS137 Fall DeHon 51 Dogleg Example (no cycle) Top: Bottom: a 2a4 3b 2b 1 1 2a/2b – 2b 3b 2a 3a – 3a/b 4 4

CALTECH CS137 Fall DeHon 52 No Dogleg Top: Bottom:

CALTECH CS137 Fall DeHon 53 With Dogleg Top: 1 1 2a/2b – 2b 3b Bottom: 2a 3a – 3a/b a 2a4 3b 2b

CALTECH CS137 Fall DeHon 54 Other Freedoms Swap equivalent pins –E.g. nand inputs equivalent Mirror cells –if allowed electrically Choose among cell instances –Permute pins A B CB A C A B CC B A A C B

CALTECH CS137 Fall DeHon 55 Exploit Freedom To Reduce channel density Reduce/Eliminate vertical constraints –Cycles –VCG height

CALTECH CS137 Fall DeHon 56 Over The Cell Limit cell to lower metal –Maybe only up to M1 Can route over with higher metal

CALTECH CS137 Fall DeHon 57 Example: OTC Top: Bottom:

CALTECH CS137 Fall DeHon 58 Over The Cell Compute maximal independent set –To find nets can be routed in 1 layer (planar) over cell –MIS can be computed in O(n 2 ) time with dynamic programming Then route residual connections in channel Works on 2-metal if only M1 in cell –Feedthrus in M

CALTECH CS137 Fall DeHon 59 Multilayer With 3 layer –Can run channel over cells –Put Terminals in center of cell

CALTECH CS137 Fall DeHon 60 Channel Over Cell

CALTECH CS137 Fall DeHon 61 Route Over Cells If channel width < cell height –Routing completely on top of cells If channel width > cell height –Cell area completely hidden under routing channel –More typical case Especially for large rows

CALTECH CS137 Fall DeHon 62 Summary Decompose Routing Channel Routing Left-Edge Vertical Constraints Exploiting Freedom –Dogleg, pin swapping Routing over logic

CALTECH CS137 Fall DeHon 63 Admin Wednesday: no class Friday last lecture –EAS course feedback forms Read: Pathfinder for Friday –online

CALTECH CS137 Fall DeHon 64 Big Ideas Decompose Problem –Divide and conquer Interrelation of components Structure: special case can solve optimally Technique: Greedy algorithm Use greedy as starting point for more general algorithm