Routing. Robust Channel Router. Figures taken from S. Gerez, Algorithms for VLSI Design Automation, Wiley, 1998

Size: px
Start display at page:

Download "Routing. Robust Channel Router. Figures taken from S. Gerez, Algorithms for VLSI Design Automation, Wiley, 1998"

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 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 information

Graph Models for Global Routing: Grid Graph

Graph 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 information

ECE260B CSE241A Winter Routing

ECE260B 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 information

Chapter 5 Global Routing

Chapter 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 information

VLSI Physical Design: From Graph Partitioning to Timing Closure

VLSI 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 information

Unit 7: Maze (Area) and Global Routing

Unit 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 information

Basic Idea. The routing problem is typically solved using a twostep

Basic 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 information

VLSI 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 Chapter 5 Global Routing 5. Introduction 5.2 Terminology and Definitions 5.3 Optimization Goals 5. Representations of

More information

Layout DA (Physical Design)

Layout 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 information

Introduction. A very important step in physical design cycle. It is the process of arranging a set of modules on the layout surface.

Introduction. 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 information

Physical Design of Digital Integrated Circuits (EN0291 S40) Sherief Reda Division of Engineering, Brown University Fall 2006

Physical 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 information

Multilayer Routing on Multichip Modules

Multilayer 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 information

Problem Formulation. Specialized algorithms are required for clock (and power nets) due to strict specifications for routing such nets.

Problem 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 information

CS612 Algorithms for Electronic Design Automation. Global Routing

CS612 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 information

CAD Algorithms. Placement and Floorplanning

CAD 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 information

Estimation of Wirelength

Estimation 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 information

L14 - Placement and Routing

L14 - 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 information

ECE 5745 Complex Digital ASIC Design Topic 13: Physical Design Automation Algorithms

ECE 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 information

Efficient Multilayer Routing Based on Obstacle-Avoiding Preferred Direction Steiner Tree

Efficient 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 information

Very Large Scale Integration (VLSI)

Very 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 information

A Multi-Layer Router Utilizing Over-Cell Areas

A 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 information

Channel & Switchbox Routing

Channel & 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 information

Introduction of ISPD18 Contest Problem

Introduction 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 information

Introduction VLSI PHYSICAL DESIGN AUTOMATION

Introduction 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 information

FastPlace 2.0: An Efficient Analytical Placer for Mixed- Mode Designs

FastPlace 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 information

Prerequisites for Rou4ng

Prerequisites 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 information

Single Step Current Driven Routing of Multiterminal Signal Nets for Analog Applications *

Single 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 information

Stanford University CS261: Optimization Handout 1 Luca Trevisan January 4, 2011

Stanford 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 information

Physical Design of Digital Integrated Circuits (EN0291 S40) Sherief Reda Division of Engineering, Brown University Fall 2006

Physical 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 information

THE continuous increase of the problem size of IC routing

THE 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 information

EE680 Project Report Final 05/05/2010 Zhou Zhao USC ID:

EE680 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 information

Figure 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

Figure 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 information

EE115C Digital Electronic Circuits. Tutorial 4: Schematic-driven Layout (Virtuoso XL)

EE115C 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 information

Pseudopin Assignment with Crosstalk Noise Control

Pseudopin 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 information

Laboratory 6. - Using Encounter for Automatic Place and Route. By Mulong Li, 2013

Laboratory 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 information

IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS 1

IEEE 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 information

Planning for Local Net Congestion in Global Routing

Planning 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 information

Introduction to Parallel & Distributed Computing Parallel Graph Algorithms

Introduction 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 information

Placement Algorithm for FPGA Circuits

Placement 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 information

K. Keutzer. A. Kahng

K. 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 information

Eliminating Routing Congestion Issues with Logic Synthesis

Eliminating 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 information

Global Routing in VLSI: Algorithms, Theory, and Computation

Global 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 information

Constructive and destructive algorithms

Constructive 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 information

T. Biedl and B. Genc. 1 Introduction

T. 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 information

Place and Route for FPGAs

Place 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 information

Topics. ! PLAs.! Memories: ! Datapaths.! Floor Planning ! ROM;! SRAM;! DRAM. Modern VLSI Design 2e: Chapter 6. Copyright 1994, 1998 Prentice Hall

Topics. ! 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 information

Tips and Techniques for Designing the Perfect Layout with SAS Visual Analytics

Tips 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 information

Sequential/Parallel Global Routing Algorithms for VLSI Standard. Cells

Sequential/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 information

EEL 4783: HDL in Digital System Design

EEL 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 information

Multicast Network Coded Flow in Grid Graphs

Multicast 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 information

3 No-Wait Job Shops with Variable Processing Times

3 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 information

Spanning trees. Suppose you have a connected undirected graph

Spanning 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 information

c 2011 Yun Wei Chang

c 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 information

Constructive floorplanning with a yield objective

Constructive 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 information

ASIC Physical Design Top-Level Chip Layout

ASIC 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 information

A 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 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 information

A motion planning method for mobile robot considering rotational motion in area coverage task

A 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 information

Rectangular Partitioning

Rectangular 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 information

Parallel Global Routing Algorithms for Standard Cells

Parallel 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 information

Iterative-Constructive Standard Cell Placer for High Speed and Low Power

Iterative-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 information

Lecture Notes on Spanning Trees

Lecture 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 information

Efficient Rectilinear Steiner Tree Construction with Rectangular Obstacles

Efficient 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 information

F which every placement is judged on the basis of the

F 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 information

Cell 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 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 information

Coverage and Search Algorithms. Chapter 10

Coverage 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 information

Fishbone: A Block-Level Placement and Routing Scheme

Fishbone: 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 information

Advanced 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 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 information

AtCoder World Tour Finals 2019

AtCoder 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 information

VLSI Lab Tutorial 3. Virtuoso Layout Editing Introduction

VLSI 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 information

Lecture 3: Totally Unimodularity and Network Flows

Lecture 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 information

Lecture 25 Notes Spanning Trees

Lecture 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 information

ECE260B CSE241A Winter Routing. Website:

ECE260B 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 information

A Novel Performance-Driven Topology Design Algorithm

A 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 information

CHAPTER 12 ARRAY SUBSYSTEMS [ ] MANJARI S. KULKARNI

CHAPTER 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 information

Efficient Rectilinear Steiner Tree Construction with Rectilinear Blockages

Efficient 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 information

Introduction to Approximation Algorithms

Introduction 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 information

Unit 5: Estimating with Confidence

Unit 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 information

Notes for Lecture 24

Notes 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 information

UNIT 4 Branch and Bound

UNIT 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 information

CADAPPLETS Visualization of VLSI CAD Algorithms

CADAPPLETS 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 information

Symmetrical Buffered Clock-Tree Synthesis with Supply-Voltage Alignment

Symmetrical 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 information

Complexity of Octagonal and Rectangular Cartograms

Complexity 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 information

1 Introduction and Examples

1 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 information

Foundations of Computing

Foundations 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 information

Approximation Algorithms for Geometric Intersection Graphs

Approximation 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 information

Solutions for Operations Research Final Exam

Solutions 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 information

Lecture 25 Spanning Trees

Lecture 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 information

On 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 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 information

Partitioning. Course contents: Readings. Kernighang-Lin partitioning heuristic Fiduccia-Mattheyses heuristic. Chapter 7.5.

Partitioning. 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 information

VLSI Lab Tutorial 1. Cadence Virtuoso Schematic Composer Introduction

VLSI 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 information

CAD Algorithms. Circuit Partitioning

CAD 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 information

1.2 Graph Drawing Techniques

1.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 information

Using Genetic Algorithms to Solve the Box Stacking Problem

Using 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 information

Algorithms for Integer Programming

Algorithms 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 information

HIGH-LEVEL SYNTHESIS

HIGH-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 information

Symmetrical Buffer Placement in Clock Trees for Minimal Skew Immune to Global On-chip Variations

Symmetrical 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 information

Cell Density-driven Detailed Placement with Displacement Constraint

Cell 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 information

Probability-Based Approach to Rectilinear Steiner Tree Problems

Probability-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 information

6 Randomized rounding of semidefinite programs

6 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 information

IEEE 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 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