Placement and Routing A Lecture in CE Freshman Seminar Series:

Slides:



Advertisements
Similar presentations
A Lesson in the “Math + Fun!” Series
Advertisements

22C:19 Discrete Math Graphs Fall 2010 Sukumar Ghosh.
Apr. 2007SatisfiabilitySlide 1 Satisfiability A Lecture in CE Freshman Seminar Series: Ten Puzzling Problems in Computer Engineering.
22C:19 Discrete Math Graphs Fall 2014 Sukumar Ghosh.
Apr. 2007Mathematical IllusionsSlide 1 Mathematical Illusions A Lesson in the “Math + Fun!” Series.
May 2007Task SchedulingSlide 1 Task Scheduling A Lecture in CE Freshman Seminar Series: Ten Puzzling Problems in Computer Engineering.
Apr. 2015SatisfiabilitySlide 1 Satisfiability A Lecture in CE Freshman Seminar Series: Ten Puzzling Problems in Computer Engineering.
Apr. 2007Placement and RoutingSlide 1 Placement and Routing A Lecture in CE Freshman Seminar Series: Ten Puzzling Problems in Computer Engineering.
Mar. 2015Easy, Hard, Impossible!Slide 1 Easy, Hard, Impossible! A Lecture in CE Freshman Seminar Series: Puzzling Problems in Computer Engineering.
Optimal Layout of CMOS Functional Arrays ECE665- Computer Algorithms Optimal Layout of CMOS Functional Arrays T akao Uehara William M. VanCleemput Presented.
Feb. 2005Counting ProblemsSlide 1 Counting Problems A Lesson in the “Math + Fun!” Series.
Apr. 2007Easy, Hard, Impossible!Slide 1 Easy, Hard, Impossible! A Lecture in CE Freshman Seminar Series: Ten Puzzling Problems in Computer Engineering.
Lecture 2Placement and RoutingHandout Houses and Utilities: Warm-up Version There are n houses on one side of a street and 2 utility companies on the other.
May 2012Task SchedulingSlide 1 Task Scheduling A Lecture in CE Freshman Seminar Series: Ten Puzzling Problems in Computer Engineering.
Apr. 2015Placement and RoutingSlide 1 Placement and Routing A Lecture in CE Freshman Seminar Series: Puzzling Problems in Computer Engineering.
22C:19 Discrete Math Graphs Spring 2014 Sukumar Ghosh.
Introduction to Routing. The Routing Problem Apply after placement Input: –Netlist –Timing budget for, typically, critical nets –Locations of blocks and.
Global Routing.
CS 200 Algorithms and Data Structures
Planar Graphs Graph Coloring
1 12/2/2015 MATH 224 – Discrete Mathematics Formally a graph is just a collection of unordered or ordered pairs, where for example, if {a,b} G if a, b.
Graphs A ‘Graph’ is a diagram that shows how things are connected together. It makes no attempt to draw actual paths or routes and scale is generally inconsequential.
Graph Theory. A branch of math in which graphs are used to solve a problem. It is unlike a Cartesian graph that we used throughout our younger years of.
EXCURSIONS IN MODERN MATHEMATICS SIXTH EDITION Peter Tannenbaum 1.
May 2015Sorting NetworksSlide 1 Sorting Networks A Lecture in CE Freshman Seminar Series: Ten Puzzling Problems in Computer Engineering.
Graphs Definition: a graph is an abstract representation of a set of objects where some pairs of the objects are connected by links. The interconnected.
May 2007Sorting NetworksSlide 1 Sorting Networks A Lecture in CE Freshman Seminar Series: Ten Puzzling Problems in Computer Engineering.
Graphs. Representations of graphs : undirected graph An undirected graph G have five vertices and seven edges An adjacency-list representation of G The.
MAT 110 Workshop Created by Michael Brown, Haden McDonald & Myra Bentley for use by the Center for Academic Support.
Excursions in Modern Mathematics Sixth Edition
Excursions in Modern Mathematics Sixth Edition
Algorithms and Networks
VLSI Physical Design Automation
Great Theoretical Ideas In Computer Science
Planar Graphs Hubert Chan (Chapter 9.7) [O2 Proof Techniques]
Excursions in Modern Mathematics Sixth Edition
Engineering Sketching (not in your book)
Çizge Algoritmaları.
BackTracking CS255.
Redraw these graphs so that none of the line intersect except at the vertices B C D E F G H.
Bipartite Matching Lecture 8: Oct 7.
L13 Putting All Refraction Together Answers to Student Notes Less to Dense and Back Again, Lateral Displacement Big Fish Bent Pencils Total Internal.
Mathematical Illusions
Tutorial 8 An optional eighth tutorial will be held the week of March 6. This tutorial will give you practice with and feedback on oral presentation and.
Great Theoretical Ideas in Computer Science
3D Models from 2D Images A Lecture in the Freshman Seminar Series:
Discrete Maths 9. Graphs Objective
Satisfiability A Lecture in CE Freshman Seminar Series:
Can you draw this picture without lifting up your pen/pencil?
Chapter 10.7 Planar Graphs These class notes are based on material from our textbook, Discrete Mathematics and Its Applications, 7th ed., by Kenneth H.
Graphs Chapter 13.
Chapter 2: Business Efficiency Business Efficiency
Discrete Math II Howon Kim
Chapter 10.7 Planar Graphs These class notes are based on material from our textbook, Discrete Mathematics and Its Applications, 7th ed., by Kenneth H.
Konigsberg- in days past.
Chapter 10.7 Planar Graphs These class notes are based on material from our textbook, Discrete Mathematics and Its Applications, 7th ed., by Kenneth H.
Chapter 10.7 Planar Graphs These class notes are based on material from our textbook, Discrete Mathematics and Its Applications, 7th ed., by Kenneth H.
Placement and Routing A Lecture in CE Freshman Seminar Series:
Networks Kruskal’s Algorithm
Milestone 3: Finding Routes
Sorting Networks A Lecture in CE Freshman Seminar Series:
3D Models from 2D Images A Lecture in the Freshman Seminar Series:
Easy, Hard, Impossible! A Lecture in CE Freshman Seminar Series:
Chapter 10.7 Planar Graphs These class notes are based on material from our textbook, Discrete Mathematics and Its Applications, 8th ed., by Kenneth H.
Binary Search A Lecture in CE Freshman Seminar Series:
Mathematical Illusions
Task Scheduling A Lecture in CE Freshman Seminar Series:
Chapter 10.7 Planar Graphs These class notes are based on material from our textbook, Discrete Mathematics and Its Applications, 7th ed., by Kenneth H.
Chapter 10.7 Planar Graphs These class notes are based on material from our textbook, Discrete Mathematics and Its Applications, 7th ed., by Kenneth H.
Presentation transcript:

Placement and Routing A Lecture in CE Freshman Seminar Series: Puzzling Problems in Computer Engineering Apr. 2016 Placement and Routing

About This Presentation This presentation belongs to the lecture series entitled “Ten Puzzling Problems in Computer Engineering,” devised for a ten-week, one-unit, freshman seminar course by Behrooz Parhami, Professor of Computer Engineering at University of California, Santa Barbara. The material can be used freely in teaching and other educational settings. Unauthorized uses, including any use for financial gain, are prohibited. © Behrooz Parhami Edition Released Revised First Apr. 2007 Apr. 2008 Apr. 2009 Apr. 2010 Mar. 2011 Apr. 2012 Apr. 2015 Apr. 2016 Apr. 2016 Placement and Routing

Houses and Utilities: Warm-up Version There are n houses on one side of a street and 2 utility companies on the other. Connect each utility facility to every house via lines of any desired shape such that the lines do not intersect. Problem interpretation: Pipes or cables must be laid in separate trenches (at the same depth) The scheme above works for 2 utilities, with any number n of houses   Apr. 2016 Placement and Routing

Houses and Utilities: Classic Version There are 3 houses on one side of a street and 3 utility companies on the other. Connect each utility facility to every house via lines of any desired shape such that the lines do not intersect. ? The challenge question is equivalent to the case with 2 utilities and 4 houses. It is, therefore, solvable with any number of utilities. Challenge: Given h houses and u utilities, when does the puzzle have a solution? Answer: A solution is impossible (unless you are allowed to cut through a house), but why?   Apr. 2016 Placement and Routing

History and Equivalent Puzzles “Houses and utilities” has a long history and has appeared in many different forms over the years Even though many authors characterize the puzzle as “ancient,” the first published version dates back to 1917 A less pleasant, pre-gas/electricity variant: Three people live in adjacent houses next to three wells. Because wells may run dry on occasion, each person needs paths to all wells. After a while, the residents develop strong dislikes for each other and try to construct their paths so that they never have to meet . . . A violent version: There are three families. Any member of one family will try to kill members of the other families if their paths cross. However, the well, the market, and the church are, by tradition, neutral places . . .   Apr. 2016 Placement and Routing

Simplifying the Representation Complete bipartite graphs: K2,n K3,3 Graphs with white nodes and black nodes in which every white node is connected to every black node, and vice versa A graph is planar if it can be drawn so that no two edges intersect Warm-up puzzle: Is K2,n planar for any n? Answer: Yes Classic puzzle: Is K3,3 planar? Answer: No   Apr. 2016 Placement and Routing

Variations on the Puzzle Two houses and n utilities K3,3 on a torus Kn,2 = K2,n A different drawing of K3,3 ? Challenge questions: Is the 3D cube graph planar? What about the 4D cube?   Apr. 2016 Placement and Routing

Euler’s Formula for Planar Graphs v Number of vertices or nodes e Number of edges f Number of faces v – e + f = 2 Leonard Euler 1707-1783 Note that the area outside of the graph counts as a face v = 17 e = 38 f = 23 v – e + f = 17 – 38 + 23 = 2   Apr. 2016 Placement and Routing

Euler’s Formula Tells Us that K3,3 Isn’t Planar v Number of vertices or nodes e Number of edges f Number of faces v – e + f = 2 In a planar bipartite graph, each face has at least 4 sides (edges) v = 6 e = 9 f = ? 6 – 9 + f = 2 f = 5 Therefore, to form 5 faces, we need at least 5  4 / 2 = 10 edges Division by 2 is due to each edge being part of two different faces   Apr. 2016 Placement and Routing

No Graph that Contains K3,3 Is Planar Is this graph planar? K3,3 Answer: No   Apr. 2016 Placement and Routing

Required courses for CE majors at UCSB Nearly Planar Graphs Math 3A ECE 1 Chem 1A Chem 1AL CS 10 Math 3B Phys 1 Chem 1B Chem 1BL 1 2 3 4 5 Units CS 20 Math 3C Phys 2 CS 40 CS 60 Phys 3L Phys 3 Math 5A ECE 2A Phys 4L Phys 4 ECE 15A ECE 2B Upper -division standing Engr 101 ECE 15B ECE 2C Or CS 30 Can be drawn with a small number of edge crossings ECE 152A ECE 139 Or CS 30 Or PSTAT 120A CS 130A ECE 154 ECE 152B Desirable feature for many diagrams that we draw Required courses for CE majors at UCSB CS 170 Apr. 2016 Placement and Routing

Rectilinear Paths on a Grid Solve the puzzle with 2 utilities and 4 houses using rectilinear grid paths. Why rectilinear paths: Trenches should not be too close to each other Straight-line trenches with right-angle turns are easier to dig; also easier to locate later Trenches must be dug along existing streets Challenge: Solve the puzzle above with paths that have the minimum possible total length. Now try to solve the puzzle with paths from one utility to all four houses having exactly the same length.   Apr. 2016 Placement and Routing

Spanning Trees A spanning tree connects a set of nodes in a way that there are no loops (if you remove any tree edge, then nodes are no longer connected) 24 Length = 25 Length = 23 Greedy algorithm for building a minimal spanning tree: Begin by connecting the closest pair of nodes. Then, at each step, connect the partial tree to the node closest to it (closest to one of its nodes)   Apr. 2016 Placement and Routing

Steiner Trees Given n grid points, connect them to each other via a rectilinear network such that the total wire length is minimized. Length = 23 Length = 20 Challenge: Is the Steiner tree shown above the best possible for connecting the five nodes?   Apr. 2016 Placement and Routing

Placement and Routing X A B D E F C Components: A,B,C,D,E,F Net List: 1 2 3 6 5 4 1 2 3 A 6 5 4 B D E F C Components: A,B,C,D,E,F Net List: A1, E2 A3, C6 A5, F1 A6, F6 B1, E6 B3, D3, E4 B4, D1 B5, F5 C1, C3 C4, F3 D6, E3 E1, F4   Apr. 2016 Placement and Routing

The Importance of Placement Random Final Source: http://www.eecg.toronto.edu/~vaughn/vpr/e64.html   Apr. 2016 Placement and Routing

Routing after Placement Channel routing (width = 7) FPGA routing details   Apr. 2016 Placement and Routing

Wire-Wrapping vs Printed Circuits In laboratory prototypes, we use wire-wrapping (using ordinary wires) to connect components, as we develop and test our design Once the design has been finalized, the connections will be printed on a circuit board to make them both less cluttered and more reliable Apr. 2016 Placement and Routing

Backplane Wiring Backplane wires located behind computer cabinets presents the same problems as wiring on a printed circuit board Judicious placement of cabinets helps. Also, wires can be made neater and more tractable by using rectilinear paths and grouping cables IBM mainframe Apr. 2016 Placement and Routing

Single-Layer Routing on a PC Board Apr. 2016 Placement and Routing

Multilayer Routing on PC Boards Wires can cross each other if they are located at different levels Through holes or “vias” can connect wires that are on different levels Apr. 2016 Placement and Routing

Example of 2-Layer Routing on a PC Board Wires shown in red are mostly vertical Wires shown in green are mostly horizontal Example component Example via Apr. 2016 Placement and Routing

Freeway Interchange Nonintersection requirement leads to cloverleaf interchange A B C Put in a path from A to B and from A to C Apr. 2016 Placement and Routing

Multilayer Crisscrossing Freeways Miami Shanghai Apr. 2016 Placement and Routing

Multilayer Wiring in Integrated Circuits IBM CMOS7 Process 6 layers: copper wiring 1 layer: tungsten local interconnects Apr. 2016 Placement and Routing

Visualizing Multilayer Wiring on a Chip Photomicrograph of actual connections The ability to connect many millions of transistors together, in a way that does not hamper signal propagation speed, is a main challenge today Drawing, with the vertical dimension exaggerated   Apr. 2016 Placement and Routing

Related Puzzling Problems to Think About Resource placement: Place n fire stations in a city to minimize the worst-case response time. Alternatively, given a desired worst-case response time, what is the minimum number of fire stations needed? 4 2 1 3 5 View the city as a number of intersections, connected by streets (often a planar graph); numbers indicate travel times for fire trucks Moving in a room with obstacles: Robot (black dot) must move to the location of the white dot. What is the best rectilinear path? Also, routing of wires when there are some restrictions (e.g., placed components or existing wires) Apr. 2016 Placement and Routing