Apr. 2007Placement and RoutingSlide 1 Placement and Routing A Lecture in CE Freshman Seminar Series: Ten Puzzling Problems in Computer Engineering.

Slides:



Advertisements
Similar presentations
Decision Maths Networks Kruskals Algorithm Wiltshire Networks A Network is a weighted graph, which just means there is a number associated with each.
Advertisements

A Lesson in the “Math + Fun!” Series
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.
Breakfast Bytes: Pigeons, Holes, Bridges and Computers Alan Kaylor Cline November 24, 2009.
Great Theoretical Ideas in Computer Science for Some.
Apr. 2007Mathematical IllusionsSlide 1 Mathematical Illusions A Lesson in the “Math + Fun!” Series.
Last time: terminology reminder w Simple graph Vertex = node Edge Degree Weight Neighbours Complete Dual Bipartite Planar Cycle Tree Path Circuit Components.
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.
June 2007Malfunction DiagnosisSlide 1 Malfunction Diagnosis 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.
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.
Apr. 2007Easy, Hard, Impossible!Slide 1 Easy, Hard, Impossible! A Lecture in CE Freshman Seminar Series: Ten Puzzling Problems in Computer Engineering.
May 2007Binary SearchSlide 1 Binary Search A Lecture in CE Freshman Seminar Series: Ten Puzzling Problems in Computer Engineering.
May 2012Malfunction DiagnosisSlide 1 Malfunction Diagnosis 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.
Drawing of G. Planar Embedding of G Proposition Proof. 1. Consider a drawing of K 5 or K 3,3 in the plane. Let C be a spanning cycle. 2. If the.
Euler and Hamilton Paths
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.
GRAPH Learning Outcomes Students should be able to:
Global Routing.
1 Excursions in Modern Mathematics Sixth Edition Peter Tannenbaum.
Graph Theory Topics to be covered:
Representing and Using Graphs
Spring 2015 Mathematics in Management Science Network Problems Networks & Trees Minimum Networks Spanning Trees Minimum Spanning Trees.
Structures 7 Decision Maths: Graph Theory, Networks and Algorithms.
Can you connect the dots as shown without taking your pen off the page or drawing the same line twice.
2003 ICTM Contest Division A Orals Topic: Graph Theory
CS 200 Algorithms and Data Structures
Mathematics of Networks (Cont)
V Spanning Trees Spanning Trees v Minimum Spanning Trees Minimum Spanning Trees v Kruskal’s Algorithm v Example Example v Planar Graphs Planar Graphs v.
Lecture 14: Graph Theory I Discrete Mathematical Structures: Theory and Applications.
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.
Aim: What is an Euler Path and Circuit?
1.5 Graph Theory. Graph Theory The Branch of mathematics in which graphs and networks are used to solve problems.
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.
M Clements Formal Network Theory. Introduction Practical problem – The Seven Bridges of Königsberg Network graphs Nodes & edges Degrees Rules/ axioms.
1) Find and label the degree of each vertex in the graph.
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.
MAT 110 Workshop Created by Michael Brown, Haden McDonald & Myra Bentley for use by the Center for Academic Support.
VLSI Physical Design Automation
Great Theoretical Ideas In Computer Science
Engineering Sketching (not in your book)
Redraw these graphs so that none of the line intersect except at the vertices B C D E F G H.
Mathematical Illusions
3D Models from 2D Images A Lecture in the Freshman Seminar Series:
Satisfiability A Lecture in CE Freshman Seminar Series:
Refresh and Get Ready for More
Planarity Testing.
Placement and Routing A Lecture in CE Freshman Seminar Series:
Networks Kruskal’s Algorithm
Placement and Routing A Lecture in CE Freshman Seminar Series:
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:
Mathematical Illusions
Task Scheduling A Lecture in CE Freshman Seminar Series:
Presentation transcript:

Apr. 2007Placement and RoutingSlide 1 Placement and Routing A Lecture in CE Freshman Seminar Series: Ten Puzzling Problems in Computer Engineering

Apr. 2007Placement and RoutingSlide 2 About This Presentation EditionReleasedRevised FirstApr 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

Apr. 2007Placement and RoutingSlide 3 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)

Apr. 2007Placement and RoutingSlide 4 ? 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. Answer: A solution is impossible (unless you are allowed to cut through a house), but why? Challenge: Now try this puzzle with 2 houses & 4 utilities

Apr. 2007Placement and RoutingSlide 5 Simplifying the Representation Complete bipartite graphs: K 2,n K 3,3 Warm-up puzzle: Is K 2,n planar for any n? Classic puzzle: Is K 3,3 planar? Answer: Yes Answer: No 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

Apr. 2007Placement and RoutingSlide 6 ? Variations on the Puzzle Two houses and n utilities = K 2,n K n,2 K 3,3 on a torus A different drawing of K 3,3 Challenge questions: Is the 3D cube graph planar? What about the 4D cube?

Apr. 2007Placement and RoutingSlide 7 Euler’s Formula for Planar Graphs vNumber of vertices or nodes eNumber of edges fNumber of faces v – e + f = 2 v = 17 Note that the area outside of the graph counts as a face e = 38 f = 23 v – e + f = 17 – = 2 Leonard Euler

Apr. 2007Placement and RoutingSlide 8 Euler’s Formula Tells Us that K 3,3 Isn’t Planar vNumber of vertices or nodes eNumber of edges fNumber of faces v – e + f = 2 v = 6 e = 9 f = ? 6 – 9 + f = 2 f = 5 In a planar bipartite graph, each face has at least 4 sides (edges) 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. 2007Placement and RoutingSlide 9 Nearly Planar Graphs Can be drawn with a small number of edge crossings ECE 1 CS 130A ECE 15A ECE 15B CS 170 Math 3A Math 3B Math 3C Math 5A CS 10 CS 20 CS 40CS 60 Phys 1 Phys 2 Phys 3 Phys 4 Phys 3L Phys 4L Chem 1A Chem 1B Chem 1AL Chem 1BL ECE 2A ECE 2B ECE 2C ECE 152A ECE 152BECE Units Engr 101 Upper - division standing ECE 139 Or CS 30 Or PSTAT 120A Or CS 30 Required courses for CE majors at UCSB Desirable feature for many diagrams that we draw

Apr. 2007Placement and RoutingSlide 10 Rectilinear Paths on a Grid Solve the puzzle with 2 utilities and 4 houses using rectilinear grid paths. 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. 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

Apr. 2007Placement and RoutingSlide 11 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) 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) Length = Length = 23

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

Apr. 2007Placement and RoutingSlide 13 Placement and Routing A B D E F C X 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 Components: A,B,C,D,E,F

Apr. 2007Placement and RoutingSlide 14 The Importance of Placement RandomFinal Source:

Apr. 2007Placement and RoutingSlide 15 Routing after Placement Channel routing (width = 7)FPGA routing details

Apr. 2007Placement and RoutingSlide 16 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. 2007Placement and RoutingSlide 17 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

Apr. 2007Placement and RoutingSlide 18 Single-Layer Routing on a PC Board

Apr. 2007Placement and RoutingSlide 19 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. 2007Placement and RoutingSlide 20 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. 2007Placement and RoutingSlide 21 Multilayer Wiring in Integrated Circuits IBM CMOS7 Process 6 layers: copper wiring 1 layer: tungsten local interconnects

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

Apr. 2007Placement and RoutingSlide 23 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? View the city as a number of intersections, connected by streets (often a planar graph); numbers indicate travel times for fire trucks Also, routing of wires when there are some restrictions (e.g., placed components or existing wires) Moving in a room with obstacles: Robot (black dot) must move to the location of the white dot. What is the best rectilinear path?