Routing. Robust Channel Router. Figures taken from S. Gerez, Algorithms for VLSI Design Automation, Wiley, 1998
|
|
- Lily Riley
- 5 years ago
- Views:
Transcription
1 Routing Robust Channel Router Figures taken from S. Gerez, Algorithms for VLSI Design Automation, Wiley, 1998
2 Channel Routing Algorithms Previous algorithms we considered only work when one of the types of constrains is present Horizontal or Vertical Dealing with a case where both constraints are present is a challenge In fact in such a situation, the problem becomes NP-complete
3 Robust Channel Router Many heuristic algorithms were proposed to address this issue One of them is the algorithm proposed by Yoeli and is called robust channel router Performs well in practice and is easier to understand but is quite involved Uses the concept of dynamic programming Optimal solution of some problem can be efficiently defined in terms of problem instances of smaller size
4 Robust Channel Router First we identify the number of nets present in the channel and identify them by numbering them Then a weight w i is assigned to each net i This is done using a set of rules; to define these rules, we need to define a term called current side The algorithm iterates over rows; once on the top and then on the bottom The side that the algorithm is presently in is called the current side
5 Rules for assigning weights The weights w i for each net i are assigned based on the following rules 1. For all nets i whose intervals contain the columns of maximal density, add a large number B to the weights w i 2. For each net i that has a current side terminal at the column position x, add to w i the local density d(x) 3. For each column x for which an assignment of some net i to the current side will create a vertical constraint violation, subtract Kd(x) from w i
6 Rules.. Typical rules of thumb like this are heuristics The performance of this algorithm is realtively insensitive to minor modifications of these rules Hence this algorithm gets the name robust router
7 Maximal-weight subsets The algorithm then finds the maximal-weight subset of nets that can be assigned to the same row In doing so there must not be any horizontal constraint violations This problem can be formulated using the interval graph discussed previously This is an NP-complete problem Fortunately, we don t need to solve this problem for general graphs For intervals, there is a way of solving this problem using dynamic programming
8 Dynamic Programming Define a subinstance identified by a single parameter And Definition of subinstance with From a list of all intervals, remove intervals that extend beyond column c
9 Subinstance Example Consider a set of intervals i 1 =[1,4] i 2 =[12,15] i 3 =[7,13] i 4 =[3,8] i 5 =[5,10] i 6 =[2,6] i 7 =[9,14] Interval 0 empty 1 empty 2 empty 3 empty 4 i 1 5 i 1 6 i 1, i 6 So on and so forth
10 Cost of Optimal Solutions Cost of optimal solution for Stored in total[c] Can be derived from optimal costs of subinstances with and the weights of nets that have their right most terminals at position c Let s call one such net as net n Net n is part of the optimal solution if:
11 Selection of nets If any net satisfies the prev condition it is stored in an array selected_net[c] In this manner the array total[] is filled up; while entries in selected_net[] array are entered if nets are found to satisfy the condition The right-most selected_net is always included in the solution Moving left, all the other selected_nets that do not overlap are considered in the solution for the first row The nets assigned in the first row are removed from the list and this procedure is repeated
12 Rip-up and reroute Using this procedure Horizontal constraints will be met Some vertical constraints might not be met (most of them will be met) If vertical constraints are not met Rip up and reroute Selectively undo the assignment of some nets Reroute through area routing (also called maze routing) If that also does not give a solution; add another row and run the algorithm again
13 Example (a) 4 4 nets; numbered Local densities 1 2 d(1) 3 4= 13 d(2) = 2 d(3) = 2 d(4) = 3 d(5) = 2 B = 1000 K 1= (b) (c)
14 Example 1 st iteration w 1 = (0) + (1) + (-5*2) = -9 w 2 = (1000) + (2) + (-5*3) = 987 w 3 = (1000) + (2+2) + (0) = 1004 w 4 = (1000) + (3) + (-5*2) = 993 total[1] = 0 total[2] = max(0,0-9) = 0 total[3] = 0 total[4] = max(0,0+987) = 987 selected_net[1] = 0 selected_net[2] = 0 selected_net[3] = 0 selected_net[4] = 2 total[5] = max(987,0+1004,0+993)=1004 Net 3 only will occupy row 1 selected_net[5] = 3
15 Example 2 nd iteration We switch the current side to the bottom row Net 3 is left out of the list of nets Calculate densities again d(1) = 1 d(2) = 2 d(3) = 1 d(4) = 2 d(5) = (a)
16 Example 2 nd iteration w 1 = (1000) + (2) + (0) = 1002 w 2 = (1000) + (2) + (-5*2) = 992 w 4 = (1000) + (1) + (-5*2) = 991 total[1] = 0 total[2] = max(0,0+1002) = 1002 total[3] = 1002 total[4] = max(1002,0+992) = 1002 total[5] = max(1002, )=1993 selected_net[1] = 0 selected_net[2] = 1 selected_net[3] = 0 selected_net[4] = 0 selected_net[5] = 4 Net 4 and net 1 will occupy bottom row
17 Solution 3 rd iteration is trivial; Net 2 is assigned to a single row; the second one This is not a solution (net 4 obstructs) so rip up and reroute Shift net 4 to middle row and area route net (a) (b) (c)
18 Global Routing Precedes local routing and follows placement Detailed routing is not done at this stage Roughly determines the wiring channels a connection will run (= n) (= n (a) 5 (= m) (b)
19 Global Routing Application to standard cells Characterized by rows of cells seperated by wiring channels If terminals are in same channel facing each other; local routing is performed; otherwise global routing is used Compute a minimum rectilinear Steiner tree; connect centers (a) (b)
20 Feedthrough wires Steiner trees have vertical segments that cross rows of standard cells They are realized in the following ways By using a wiring layer not used by standard cells Using feedthrough cells; non-functional cells inserted to realize vertical connections Such cells are used in conjunction with placement Using feedthrough wires available within standard cells We refer to all these vertical connections as feedthrough cells; they have to be minimized
21 Feedthrough wires Detailed routing such as channel routing will be used to fix exact locations of vertical connections The vertical wires might have to be shifted to be aligned with exact feedthrough connections Segments at approx same positions can be permuted to reduce densities in channels If feedthrough resources are scares a Steiner tree with vertical connections having a higher cost can be made Alternative solution (b)
22 Timing The minimal length Steiner tree might not be what we are for all nets after considering timing issues For timing; critical path is important Critical path determines the system s operation speed Cells connected to critical nets get priority to be placed together during placement Better delay models required than length of wires Length of wire metric: equivalent to 1R and 1C Long wires behave as transmission lines In practice Elmore delay or better delay models are used
23 Timing Steiner trees are constructed to optimize lengths of critical connections If Steiner tree of one wire is constructed before the other; it prevents others from being laid out optimally Global routers should optimize the overall cost functions In std-cell layout the overall area is minimized if the sum of all channel widths is minimized Width of the channel is estimated by the density of the channel
24 Building block layout More complex than std cells Use slicing floorplans The channels are picked from the slicing tree To assign channels Do a depth-first search Start numbering from the deepest channel
25 Building block layout Channel routing is used to wire up within the channels Steiner trees are used to wire-up connections not restricted to channels If additional wiring layer is not available All Steiner trees run along wiring channels A graph is constructed to represent the structure of routing area Channels are edges; their meeting points vertices Problem now is to find a Steiner tree within the graph as opposed to a plane
26 Problem Definition (= n) (= n (a) 5 (= m) Local vertical density d v (i,j) Number of wires crossing vertical line j between horizontal lines i-1 and i Local horizontal density d h (i,j) Number of wires crossing horizontal line i between vertical lines j-1 and j (b)
27 Problem Definition The density of the channel between grid lines i-1 and i is The goal of global routing is to minimize total channel density: Subject to is the maximum feedthroughs that can be accomodated per horizontal grid segment
28 Algorithms for global routing Solve sequentially; one net after another using Lee s algorithm Con: Strong dependency on net ordering Construct Steiner trees for all nets Such that the trees avoid congested areas Other way is to construct all Steiner trees And modify shapes of wires that cause overcongestion We will follow the last method Hierarchical approaches can be followed for simplicity
29 Steiner trees p 2 p3 p 2 s 1 p 3 p 2 s2 s 1 p 3 p 1 p 1 p 1 (a) (b) (c) Start with spanning trees Flip the L shape to get (b); s 1 is Steiner point Flip the L shape again to get (c); s 2 is another Steiner point s 1 is a redundant Steiner point; it has only two connections A Steiner point has three or more connections Steiner trees are usually 2/3 of the length of spanning trees
30 Prim - min spanning tree v v v v 5 2 v 1 2 v v 2 v 5 v 4 (a) (b) v 4 v i.distance, v i.via edge, for i = iteration u v 1 2,(v 1,v 2 ) 4,(v 1,v 3 ) 3,(v 1,v 4 ) +,? 1 v 2 1,(v 2,v 3 ) 2,(v 2,v 4 ) 5,(v 2,v 5 ) 2 v 3 1,(v 3,v 4 ) 2,(v 3,v 5 ) 3 v 4 2,(v 3,v 5 ) 4 v 5 O(n 2 )
31 1-Steiner tree problem Finding minimal Steiner tree for a set of points in NP-complete Define 1-Steiner problem Say you have the minimum spanning tree for set of points P (Prim s algorithm; in P complexity) Add one Steiner point (called s) to this and find the minimum spanning tree Steiner tree heuristic is to solve the 1-Steiner problem repeatedly
32 1-Steiner tree problem Implementation Visit all candidate points to get the minimum spanning tree for points in P union s Pick the point that lead to the cheapest spanning tree Two issues 1. Identify the candidate points 2. Efficient method to incrementally construct a new spanning tree without calling Prim s algorithm again
33 Candidate points- Hanan Points Hanan solved this in 1966 Proved that an optimal rectilinear Steiner tree can be embedded in the grid composed of grid lines having points in P (a) (b)
34 Updating the spanning tree Addressed by Griffith et al 1. Select candidate point 2. Divide grid into 4 parts diagonally 3. Find closest points in each part 4. Connect to candidate point; avoid (remove) cycles; to get a spanning tree 5. Repeat for all candidate points 6. Pick the one with minimum length
35 Example of updating
36 Steiner tree heuristic 1. Find minimum spanning tree 2. Use 1-Steiner algorithm to add one point 3. If gain in step 2 is positive accept the new tree 4. Goto step 2; repeat as long as gain is positive p 2 p 3 p 1 t s p 4 p 5
37 Global routing Generate Steiner trees for all nets Congested areas have to be cleaned up Use local transformations of Steiner trees for clean up Transformations may increase tree length but decrease total area
ICS 252 Introduction to Computer Design
ICS 252 Introduction to Computer Design Lecture 16 Eli Bozorgzadeh Computer Science Department-UCI References and Copyright Textbooks referred (none required) [Mic94] G. De Micheli Synthesis and Optimization
More informationGraph Models for Global Routing: Grid Graph
Graph Models for Global Routing: Grid Graph Each cell is represented by a vertex. Two vertices are joined by an edge if the corresponding cells are adjacent to each other. The occupied cells are represented
More informationECE260B CSE241A Winter Routing
ECE260B CSE241A Winter 2005 Routing Website: / courses/ ece260bw05 ECE 260B CSE 241A Routing 1 Slides courtesy of Prof. Andrew B. Kahng Physical Design Flow Input Floorplanning Read Netlist Floorplanning
More informationChapter 5 Global Routing
Chapter 5 Global Routing 5. Introduction 5.2 Terminology and Definitions 5.3 Optimization Goals 5. Representations of Routing Regions 5.5 The Global Routing Flow 5.6 Single-Net Routing 5.6. Rectilinear
More informationVLSI Physical Design: From Graph Partitioning to Timing Closure
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 5 Global Routing Original uthors: ndrew. Kahng, Jens, Igor L. Markov, Jin Hu VLSI Physical Design: From Graph Partitioning to Timing
More informationUnit 7: Maze (Area) and Global Routing
Unit 7: Maze (Area) and Global Routing Course contents Routing basics Maze (area) routing Global routing Readings Chapters 9.1, 9.2, 9.5 Filling Unit 7 1 Routing Unit 7 2 Routing Constraints 100% routing
More informationBasic Idea. The routing problem is typically solved using a twostep
Global Routing Basic Idea The routing problem is typically solved using a twostep approach: Global Routing Define the routing regions. Generate a tentative route for each net. Each net is assigned to a
More informationVLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 5 Global Routing Original uthors: ndrew. Kahng, Jens, Igor L. Markov, Jin Hu Chapter 5 Global Routing 5. Introduction 5.2 Terminology and Definitions 5.3 Optimization Goals 5. Representations of
More informationLayout DA (Physical Design)
Layout DA (Physical Design) n Floor Planning n Placement and Partitioning n Global Routing n Routing n Layout Compaction 1 Routing n Types of Local Routing Problems n Area Routing u Lee s Algorithm n Channel
More informationIntroduction. A very important step in physical design cycle. It is the process of arranging a set of modules on the layout surface.
Placement Introduction A very important step in physical design cycle. A poor placement requires larger area. Also results in performance degradation. It is the process of arranging a set of modules on
More informationPhysical Design of Digital Integrated Circuits (EN0291 S40) Sherief Reda Division of Engineering, Brown University Fall 2006
Physical Design of Digital Integrated Circuits (EN029 S40) Sherief Reda Division of Engineering, Brown University Fall 2006 Lecture 09: Routing Introduction to Routing Global Routing Detailed Routing 2
More informationMultilayer Routing on Multichip Modules
Multilayer Routing on Multichip Modules ECE 1387F CAD for Digital Circuit Synthesis and Layout Professor Rose Friday, December 24, 1999. David Tam (2332 words, not counting title page and reference section)
More informationProblem Formulation. Specialized algorithms are required for clock (and power nets) due to strict specifications for routing such nets.
Clock Routing Problem Formulation Specialized algorithms are required for clock (and power nets) due to strict specifications for routing such nets. Better to develop specialized routers for these nets.
More informationCS612 Algorithms for Electronic Design Automation. Global Routing
CS612 Algorithms for Electronic Design Automation Global Routing Mustafa Ozdal CS 612 Lecture 7 Mustafa Ozdal Computer Engineering Department, Bilkent University 1 MOST SLIDES ARE FROM THE BOOK: MODIFICATIONS
More informationCAD Algorithms. Placement and Floorplanning
CAD Algorithms Placement Mohammad Tehranipoor ECE Department 4 November 2008 1 Placement and Floorplanning Layout maps the structural representation of circuit into a physical representation Physical representation:
More informationEstimation of Wirelength
Placement The process of arranging the circuit components on a layout surface. Inputs: A set of fixed modules, a netlist. Goal: Find the best position for each module on the chip according to appropriate
More informationL14 - Placement and Routing
L14 - Placement and Routing Ajay Joshi Massachusetts Institute of Technology RTL design flow HDL RTL Synthesis manual design Library/ module generators netlist Logic optimization a b 0 1 s d clk q netlist
More informationECE 5745 Complex Digital ASIC Design Topic 13: Physical Design Automation Algorithms
ECE 7 Complex Digital ASIC Design Topic : Physical Design Automation Algorithms Christopher atten School of Electrical and Computer Engineering Cornell University http://www.csl.cornell.edu/courses/ece7
More informationEfficient Multilayer Routing Based on Obstacle-Avoiding Preferred Direction Steiner Tree
Efficient Multilayer Routing Based on Obstacle-Avoiding Preferred Direction Steiner Tree Ching-Hung Liu, Yao-Hsin Chou, Shin-Yi Yuan, and Sy-Yen Kuo National Taiwan University 1 Outline 2 Outline 3 The
More informationVery Large Scale Integration (VLSI)
Very Large Scale Integration (VLSI) Lecture 6 Dr. Ahmed H. Madian Ah_madian@hotmail.com Dr. Ahmed H. Madian-VLSI 1 Contents FPGA Technology Programmable logic Cell (PLC) Mux-based cells Look up table PLA
More informationA Multi-Layer Router Utilizing Over-Cell Areas
A Multi-Layer Router Utilizing Over-Cell Areas Evagelos Katsadas and Edwin h e n Department of Electrical Engineering University of Rochester Rochester, New York 14627 ABSTRACT A new methodology is presented
More informationChannel & Switchbox Routing
Channel & Switchbox Routing channel routing Detailed routing switchbox routing Routing Models Grid-based model: A grid is super-imposed on the routing region. Wires follow paths along the grid lines. Gridless
More informationIntroduction of ISPD18 Contest Problem
Introduction of ISPD18 Contest Problem Detailed routing can be divided into two steps. First, an initial detailed routing step is used to generate a detailed routing solution while handling the major design
More informationIntroduction VLSI PHYSICAL DESIGN AUTOMATION
VLSI PHYSICAL DESIGN AUTOMATION PROF. INDRANIL SENGUPTA DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Introduction Main steps in VLSI physical design 1. Partitioning and Floorplanning l 2. Placement 3.
More informationFastPlace 2.0: An Efficient Analytical Placer for Mixed- Mode Designs
FastPlace.0: An Efficient Analytical Placer for Mixed- Mode Designs Natarajan Viswanathan Min Pan Chris Chu Iowa State University ASP-DAC 006 Work supported by SRC under Task ID: 106.001 Mixed-Mode Placement
More informationPrerequisites for Rou4ng
Basic Zroute Flow Prerequisites for Rou4ng Library requirements Zroute gets all of the design rule informa4on from the technology file; therefore, you must ensure that all design rules are defined in the
More informationSingle Step Current Driven Routing of Multiterminal Signal Nets for Analog Applications *
Single Step Current Driven Routing of Multiterminal Signal Nets for Analog Applications * Thorsten Adler Infineon Technologies AG Thorsten.Adler@infineon.com Erich Barke Institute of Microelectronic Systems
More informationStanford University CS261: Optimization Handout 1 Luca Trevisan January 4, 2011
Stanford University CS261: Optimization Handout 1 Luca Trevisan January 4, 2011 Lecture 1 In which we describe what this course is about and give two simple examples of approximation algorithms 1 Overview
More informationPhysical Design of Digital Integrated Circuits (EN0291 S40) Sherief Reda Division of Engineering, Brown University Fall 2006
Physical Design of Digital Integrated Circuits (EN029 S40) Sherief Reda Division of Engineering, Brown University Fall 2006 Lecture 08: Interconnect Trees Introduction to Graphs and Trees Minimum Spanning
More informationTHE continuous increase of the problem size of IC routing
382 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 24, NO. 3, MARCH 2005 MARS A Multilevel Full-Chip Gridless Routing System Jason Cong, Fellow, IEEE, Jie Fang, Min
More informationEE680 Project Report Final 05/05/2010 Zhou Zhao USC ID:
Group Formation Group member: Zhou Zhao, Raj Shah EE680 Project Report Final 05/05/2010 Zhou Zhao USC ID: 8710-5983-10 Job Assignment My job is to design a intelligent FPGA intra router, which has following
More informationFigure 1: An example of a hypercube 1: Given that the source and destination addresses are n-bit vectors, consider the following simple choice of rout
Tail Inequalities Wafi AlBalawi and Ashraf Osman Department of Computer Science and Electrical Engineering, West Virginia University, Morgantown, WV fwafi,osman@csee.wvu.edug 1 Routing in a Parallel Computer
More informationEE115C Digital Electronic Circuits. Tutorial 4: Schematic-driven Layout (Virtuoso XL)
EE115C Digital Electronic Circuits Tutorial 4: Schematic-driven Layout (Virtuoso XL) This tutorial will demonstrate schematic-driven layout on the example of a 2-input NAND gate. Simple Layout (that won
More informationPseudopin Assignment with Crosstalk Noise Control
598 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 20, NO. 5, MAY 2001 Pseudopin Assignment with Crosstalk Noise Control Chin-Chih Chang and Jason Cong, Fellow, IEEE
More informationLaboratory 6. - Using Encounter for Automatic Place and Route. By Mulong Li, 2013
CME 342 (VLSI Circuit Design) Laboratory 6 - Using Encounter for Automatic Place and Route By Mulong Li, 2013 Reference: Digital VLSI Chip Design with Cadence and Synopsys CAD Tools, Erik Brunvand Background
More informationIEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS 1
IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS 1 RegularRoute: An Efficient Detailed Router Applying Regular Routing Patterns Yanheng Zhang and Chris Chu Abstract In this paper, we propose
More informationPlanning for Local Net Congestion in Global Routing
Planning for Local Net Congestion in Global Routing Hamid Shojaei, Azadeh Davoodi, and Jeffrey Linderoth* Department of Electrical and Computer Engineering *Department of Industrial and Systems Engineering
More informationIntroduction to Parallel & Distributed Computing Parallel Graph Algorithms
Introduction to Parallel & Distributed Computing Parallel Graph Algorithms Lecture 16, Spring 2014 Instructor: 罗国杰 gluo@pku.edu.cn In This Lecture Parallel formulations of some important and fundamental
More informationPlacement Algorithm for FPGA Circuits
Placement Algorithm for FPGA Circuits ZOLTAN BARUCH, OCTAVIAN CREŢ, KALMAN PUSZTAI Computer Science Department, Technical University of Cluj-Napoca, 26, Bariţiu St., 3400 Cluj-Napoca, Romania {Zoltan.Baruch,
More informationK. Keutzer. A. Kahng
Routing in Integrated Circuits A. Kahng K. Keutzer A. R. Newton ECE 260B CSE 241A /UCB EECS 244 1 Class News Wednesday: Presentation of research topics in placement, routing, and timing Each group will
More informationEliminating Routing Congestion Issues with Logic Synthesis
Eliminating Routing Congestion Issues with Logic Synthesis By Mike Clarke, Diego Hammerschlag, Matt Rardon, and Ankush Sood Routing congestion, which results when too many routes need to go through an
More informationGlobal Routing in VLSI: Algorithms, Theory, and Computation
Global Routing in VLSI: Algorithms, Theory, and Computation Global Routing in VLSI: Algorithms, Theory, and Computation By CHRIS DICKSON, B.Sc. A Thesis Submitted to the School of Graduate Studies in Partial
More informationConstructive and destructive algorithms
Constructive and destructive algorithms Heuristic algorithms Giovanni Righini University of Milan Department of Computer Science (Crema) Constructive algorithms In combinatorial optimization problems every
More informationT. Biedl and B. Genc. 1 Introduction
Complexity of Octagonal and Rectangular Cartograms T. Biedl and B. Genc 1 Introduction A cartogram is a type of map used to visualize data. In a map regions are displayed in their true shapes and with
More informationPlace and Route for FPGAs
Place and Route for FPGAs 1 FPGA CAD Flow Circuit description (VHDL, schematic,...) Synthesize to logic blocks Place logic blocks in FPGA Physical design Route connections between logic blocks FPGA programming
More informationTopics. ! PLAs.! Memories: ! Datapaths.! Floor Planning ! ROM;! SRAM;! DRAM. Modern VLSI Design 2e: Chapter 6. Copyright 1994, 1998 Prentice Hall
Topics! PLAs.! Memories:! ROM;! SRAM;! DRAM.! Datapaths.! Floor Planning Programmable logic array (PLA)! Used to implement specialized logic functions.! A PLA decodes only some addresses (input values);
More informationTips and Techniques for Designing the Perfect Layout with SAS Visual Analytics
SAS2166-2018 Tips and Techniques for Designing the Perfect Layout with SAS Visual Analytics Ryan Norris and Brian Young, SAS Institute Inc., Cary, NC ABSTRACT Do you want to create better reports but find
More informationSequential/Parallel Global Routing Algorithms for VLSI Standard. Cells
Sequential/Parallel Global Routing Algorithms for VLSI Standard Cells A Thesis Presented to The Faculty of Graduate Studies of The University of Guelph by HAO SUN In partial fulfilment of requirements
More informationEEL 4783: HDL in Digital System Design
EEL 4783: HDL in Digital System Design Lecture 13: Floorplanning Prof. Mingjie Lin Topics Partitioning a design with a floorplan. Performance improvements by constraining the critical path. Floorplanning
More informationMulticast Network Coded Flow in Grid Graphs
Multicast Network Coded Flow in Grid Graphs John Gormley and Eric Manley Department of Mathematics and Computer Science Drake University Des Moines, IA 50311 March 9, 014 Abstract Network coding, a relatively
More information3 No-Wait Job Shops with Variable Processing Times
3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select
More informationSpanning trees. Suppose you have a connected undirected graph
Spanning Trees Spanning trees Suppose you have a connected undirected graph Connected: every node is reachable from every other node Undirected: edges do not have an associated direction...then a spanning
More informationc 2011 Yun Wei Chang
c 2011 Yun Wei Chang SINGLE-LAYER BUS ROUTING FOR HIGH-SPEED BOARDS BY YUN WEI CHANG THESIS Submitted in partial fulfillment of the requirements for the degree of Master of Science in Electrical and Computer
More informationConstructive floorplanning with a yield objective
Constructive floorplanning with a yield objective Rajnish Prasad and Israel Koren Department of Electrical and Computer Engineering University of Massachusetts, Amherst, MA 13 E-mail: rprasad,koren@ecs.umass.edu
More informationASIC Physical Design Top-Level Chip Layout
ASIC Physical Design Top-Level Chip Layout References: M. Smith, Application Specific Integrated Circuits, Chap. 16 Cadence Virtuoso User Manual Top-level IC design process Typically done before individual
More informationA NEW MILP APPROACH FOR THE FACILITY LAYOUT DESIGN PROBLEM WITH RECTANGULAR AND L/T SHAPED DEPARTMENTS
A NEW MILP APPROACH FOR THE FACILITY LAYOUT DESIGN PROBLEM WITH RECTANGULAR AND L/T SHAPED DEPARTMENTS Yossi Bukchin Michal Tzur Dept. of Industrial Engineering, Tel Aviv University, ISRAEL Abstract In
More informationA motion planning method for mobile robot considering rotational motion in area coverage task
Asia Pacific Conference on Robot IoT System Development and Platform 018 (APRIS018) A motion planning method for mobile robot considering rotational motion in area coverage task Yano Taiki 1,a) Takase
More informationRectangular Partitioning
Rectangular Partitioning Joe Forsmann and Rock Hymas Introduction/Abstract We will look at a problem that I (Rock) had to solve in the course of my work. Given a set of non-overlapping rectangles each
More informationParallel Global Routing Algorithms for Standard Cells
Parallel Global Routing Algorithms for Standard Cells Zhaoyun Xing Computer and Systems Research Laboratory University of Illinois Urbana, IL 61801 xing@crhc.uiuc.edu Prithviraj Banerjee Center for Parallel
More informationIterative-Constructive Standard Cell Placer for High Speed and Low Power
Iterative-Constructive Standard Cell Placer for High Speed and Low Power Sungjae Kim and Eugene Shragowitz Department of Computer Science and Engineering University of Minnesota, Minneapolis, MN 55455
More informationLecture Notes on Spanning Trees
Lecture Notes on Spanning Trees 15-122: Principles of Imperative Computation Frank Pfenning Lecture 26 April 25, 2013 The following is a simple example of a connected, undirected graph with 5 vertices
More informationEfficient Rectilinear Steiner Tree Construction with Rectangular Obstacles
Proceedings of the th WSES Int. onf. on IRUITS, SYSTEMS, ELETRONIS, ONTROL & SIGNL PROESSING, allas, US, November 1-3, 2006 204 Efficient Rectilinear Steiner Tree onstruction with Rectangular Obstacles
More informationF which every placement is judged on the basis of the
IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN. VOL Y. NO IO. OCTOBtK IYYO 1085 Parallel Global Routing for Standard Cells IEEE Abstract-Combined placement and routing has the potential to achieve better quality
More informationCell Libraries and Design Hierarchy. Instructor S. Demlow ECE 410 February 1, 2012
Cell Libraries and Design Hierarchy Instructor S. Demlow ECE 410 February 1, 2012 Stick Diagrams Simplified NAND Layout Simplified NOR Layout Metal supply rails blue n and p Active green Poly gates red
More informationCoverage and Search Algorithms. Chapter 10
Coverage and Search Algorithms Chapter 10 Objectives To investigate some simple algorithms for covering the area in an environment To understand how to break down an environment into simple convex pieces
More informationFishbone: A Block-Level Placement and Routing Scheme
Fishbone: Block-Level Placement and Routing Scheme Fan Mo EECS, UC Berkeley Robert K. Brayton EECS, UC Berkeley Cory Hall, UC Berkeley 57 Cory Hall, UC Berkeley Berkeley, C97 Berkeley, C97-5-6-6 -5-6-98
More informationAdvanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret
Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Greedy Algorithms (continued) The best known application where the greedy algorithm is optimal is surely
More informationAtCoder World Tour Finals 2019
AtCoder World Tour Finals 201 writer: rng 58 February 21st, 2018 A: Magic Suppose that the magician moved the treasure in the order y 1 y 2 y K+1. Here y i y i+1 for each i because it doesn t make sense
More informationVLSI Lab Tutorial 3. Virtuoso Layout Editing Introduction
VLSI Lab Tutorial 3 Virtuoso Layout Editing Introduction 1.0 Introduction The purpose of this lab tutorial is to guide you through the design process in creating a custom IC layout for your CMOS inverter
More informationLecture 3: Totally Unimodularity and Network Flows
Lecture 3: Totally Unimodularity and Network Flows (3 units) Outline Properties of Easy Problems Totally Unimodular Matrix Minimum Cost Network Flows Dijkstra Algorithm for Shortest Path Problem Ford-Fulkerson
More informationLecture 25 Notes Spanning Trees
Lecture 25 Notes Spanning Trees 15-122: Principles of Imperative Computation (Spring 2016) Frank Pfenning 1 Introduction The following is a simple example of a connected, undirected graph with 5 vertices
More informationECE260B CSE241A Winter Routing. Website:
ECE260B CSE241A Winter 2007 Routing Website: http://vlsicad.ucsd.edu/courses/ece260b-w07 ECE 260B CSE 241A Routing 1 Homework Questions, January 24, 2007 Placement Lecture (Lecture #5) Question 1. Slide
More informationA Novel Performance-Driven Topology Design Algorithm
A Novel Performance-Driven Topology Design Algorithm Min Pan, Chris Chu Priyadarshan Patra Electrical and Computer Engineering Dept. Intel Corporation Iowa State University, Ames, IA 50011 Hillsboro, OR
More informationCHAPTER 12 ARRAY SUBSYSTEMS [ ] MANJARI S. KULKARNI
CHAPTER 2 ARRAY SUBSYSTEMS [2.4-2.9] MANJARI S. KULKARNI OVERVIEW Array classification Non volatile memory Design and Layout Read-Only Memory (ROM) Pseudo nmos and NAND ROMs Programmable ROMS PROMS, EPROMs,
More informationEfficient Rectilinear Steiner Tree Construction with Rectilinear Blockages
Efficient ectilinear Steiner Tree Construction with ectilinear Blockages Zion Shen Chris CN Chu Ying-Meng Li Cadence Design Systems 555 iver Oaks Parkway San Jose, CA, 5134 zion@cadencecom Department of
More informationIntroduction to Approximation Algorithms
Introduction to Approximation Algorithms Dr. Gautam K. Das Departmet of Mathematics Indian Institute of Technology Guwahati, India gkd@iitg.ernet.in February 19, 2016 Outline of the lecture Background
More informationUnit 5: Estimating with Confidence
Unit 5: Estimating with Confidence Section 8.3 The Practice of Statistics, 4 th edition For AP* STARNES, YATES, MOORE Unit 5 Estimating with Confidence 8.1 8.2 8.3 Confidence Intervals: The Basics Estimating
More informationNotes for Lecture 24
U.C. Berkeley CS170: Intro to CS Theory Handout N24 Professor Luca Trevisan December 4, 2001 Notes for Lecture 24 1 Some NP-complete Numerical Problems 1.1 Subset Sum The Subset Sum problem is defined
More informationUNIT 4 Branch and Bound
UNIT 4 Branch and Bound General method: Branch and Bound is another method to systematically search a solution space. Just like backtracking, we will use bounding functions to avoid generating subtrees
More informationCADAPPLETS Visualization of VLSI CAD Algorithms
CADAPPLETS Visualization of VLSI CAD Algorithms John A. Nestor Abstract This paper describes the development of visualization aids for VLSI Computer-Aided Design algorithms. Each visualization is implemented
More informationSymmetrical Buffered Clock-Tree Synthesis with Supply-Voltage Alignment
Symmetrical Buffered Clock-Tree Synthesis with Supply-Voltage Alignment Xin-Wei Shih, Tzu-Hsuan Hsu, Hsu-Chieh Lee, Yao-Wen Chang, Kai-Yuan Chao 2013.01.24 1 Outline 2 Clock Network Synthesis Clock network
More informationComplexity of Octagonal and Rectangular Cartograms
Complexity of Octagonal and Rectangular Cartograms T. Biedl and B. Genc December 1, 2005 Abstract In this paper, we study the complexity of rectangular cartograms, i.e., maps where every region is a rectangle,
More information1 Introduction and Examples
1 Introduction and Examples Sequencing Problems Definition A sequencing problem is one that involves finding a sequence of steps that transforms an initial system state to a pre-defined goal state for
More informationFoundations of Computing
Foundations of Computing Darmstadt University of Technology Dept. Computer Science Winter Term 2005 / 2006 Copyright c 2004 by Matthias Müller-Hannemann and Karsten Weihe All rights reserved http://www.algo.informatik.tu-darmstadt.de/
More informationApproximation Algorithms for Geometric Intersection Graphs
Approximation Algorithms for Geometric Intersection Graphs Subhas C. Nandy (nandysc@isical.ac.in) Advanced Computing and Microelectronics Unit Indian Statistical Institute Kolkata 700108, India. Outline
More informationSolutions for Operations Research Final Exam
Solutions for Operations Research Final Exam. (a) The buffer stock is B = i a i = a + a + a + a + a + a 6 + a 7 = + + + + + + =. And the transportation tableau corresponding to the transshipment problem
More informationLecture 25 Spanning Trees
Lecture 25 Spanning Trees 15-122: Principles of Imperative Computation (Fall 2018) Frank Pfenning, Iliano Cervesato The following is a simple example of a connected, undirected graph with 5 vertices (A,
More informationOn Coloring and Colorability Analysis of Integrated Circuits with Triple and Quadruple Patterning Techniques. Alexey Lvov Gus Tellez Gi-Joon Nam
On Coloring and Colorability Analysis of Integrated Circuits with Triple and Quadruple Patterning Techniques Alexey Lvov Gus Tellez Gi-Joon Nam Background and motivation Manaufacturing difficulty 22nm:
More informationPartitioning. Course contents: Readings. Kernighang-Lin partitioning heuristic Fiduccia-Mattheyses heuristic. Chapter 7.5.
Course contents: Partitioning Kernighang-Lin partitioning heuristic Fiduccia-Mattheyses heuristic Readings Chapter 7.5 Partitioning 1 Basic Definitions Cell: a logic block used to build larger circuits.
More informationVLSI Lab Tutorial 1. Cadence Virtuoso Schematic Composer Introduction
VLSI Lab Tutorial 1 Cadence Virtuoso Schematic Composer Introduction 1.0 Introduction The purpose of the first lab tutorial is to help you become familiar with the schematic editor, Virtuoso Schematic
More informationCAD Algorithms. Circuit Partitioning
CAD Algorithms Partitioning Mohammad Tehranipoor ECE Department 13 October 2008 1 Circuit Partitioning Partitioning: The process of decomposing a circuit/system into smaller subcircuits/subsystems, which
More information1.2 Graph Drawing Techniques
1.2 Graph Drawing Techniques Graph drawing is the automated layout of graphs We shall overview a number of graph drawing techniques For general graphs: Force Directed Spring Embedder Barycentre based Multicriteria
More informationUsing Genetic Algorithms to Solve the Box Stacking Problem
Using Genetic Algorithms to Solve the Box Stacking Problem Jenniffer Estrada, Kris Lee, Ryan Edgar October 7th, 2010 Abstract The box stacking or strip stacking problem is exceedingly difficult to solve
More informationAlgorithms for Integer Programming
Algorithms for Integer Programming Laura Galli November 9, 2016 Unlike linear programming problems, integer programming problems are very difficult to solve. In fact, no efficient general algorithm is
More informationHIGH-LEVEL SYNTHESIS
HIGH-LEVEL SYNTHESIS Page 1 HIGH-LEVEL SYNTHESIS High-level synthesis: the automatic addition of structural information to a design described by an algorithm. BEHAVIORAL D. STRUCTURAL D. Systems Algorithms
More informationSymmetrical Buffer Placement in Clock Trees for Minimal Skew Immune to Global On-chip Variations
XXVII IEEE INTERNATIONAL CONFERENCE ON COMPUTER DESIGN, OCTOBER 5, 2009 Symmetrical Buffer Placement in Clock Trees for Minimal Skew Immune to Global On-chip Variations Renshen Wang 1 Takumi Okamoto 2
More informationCell Density-driven Detailed Placement with Displacement Constraint
Cell Density-driven Detailed Placement with Displacement Constraint Wing-Kai Chow, Jian Kuang, Xu He, Wenzan Cai, Evangeline F. Y. Young Department of Computer Science and Engineering The Chinese University
More informationProbability-Based Approach to Rectilinear Steiner Tree Problems
836 IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 10, NO. 6, DECEMBER 2002 Probability-Based Approach to Rectilinear Steiner Tree Problems Chunhong Chen, Member, IEEE, Jiang Zhao,
More information6 Randomized rounding of semidefinite programs
6 Randomized rounding of semidefinite programs We now turn to a new tool which gives substantially improved performance guarantees for some problems We now show how nonlinear programming relaxations can
More informationIEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 20, NO. 3, MARCH
IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 20, NO. 3, MARCH 2012 459 NCTU-GR: Efficient Simulated Evolution-Based Rerouting and Congestion-Relaxed Layer Assignment on 3-D Global
More information