Facility Location and Clock Tree Synthesis · PDF fileFacility Location and Clock Tree Synthesis Dissertation zur Erlangung des Doktorgrades der Mathematisch-Naturwissenschaftlichen

Embed Size (px)

Citation preview

  • Facility Locationand

    Clock Tree Synthesis

    Dissertation

    zur Erlangung des Doktorgrades

    der Mathematisch-Naturwissenschaftlichen Fakultat

    der Rheinischen Friedrich-Wilhelms-Universitat Bonn

    vorgelegt von

    Jens Uwe Maberg

    aus Hannover

    im Oktober 2009

  • Angefertigt mit Genehmigung der Mathematisch-Naturwissenschaftlichen Fakultat derRheinischen Friedrich-Wilhelms-Universitat Bonn

    Diese Disseratation ist auf dem Hochschulschriftenserver der ULB Bonn unterhttp://hss.ulb.uni-bonn.de/diss online elektronisch publiziert.Erscheinungsjahr: 2010

    Erstgutachter: Prof. Dr. Jens VygenZweitgutachter: Prof. Dr. Dr. h.c. Bernhard Korte

    Tag der Promotion: 18.12.2009

  • Contents

    Introduction 1

    1 The Sink Clustering Problem 51.1 Problem and Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    1.1.1 Problem Definition . . . . . . . . . . . . . . . . . . . . . . . . . 51.1.2 Complexity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.1.3 The Sink Clustering Algorithm . . . . . . . . . . . . . . . . . . 71.1.4 Variants of the Sink Clustering Algorithm . . . . . . . . . . . . 111.1.5 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    1.2 Post Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.2.1 TwoClusterOpt . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.2.2 ChainOpt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    1.3 Lower Bounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201.3.1 Lower Bound Based on Minimum Steiner Trees . . . . . . . . . 201.3.2 Excursion into Matroid Theory . . . . . . . . . . . . . . . . . . 211.3.3 An Improved Lower Bound using K-dominated Functions . . . 221.3.4 A Lower Bound Combining Dominated Functions and Steiner

    Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311.3.5 An Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341.3.6 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    1.4 Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

    2 The Sink Clustering Problem with Time Windows 452.1 Problem and Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . 45

    2.1.1 Initial Observations . . . . . . . . . . . . . . . . . . . . . . . . . 462.1.2 An Approximation Algorithm . . . . . . . . . . . . . . . . . . . 47

    2.2 Post Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512.3 Lower Bounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

    2.3.1 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532.4 Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

    3 BonnClock 593.1 The Clock Tree Construction Problem . . . . . . . . . . . . . . . . . . 59

    3.1.1 Problem Definition . . . . . . . . . . . . . . . . . . . . . . . . . 593.1.2 Previous Work . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

    3.2 Outline of BonnClock . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633.3 Solution Candidates . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

  • 3.4 Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683.5 Placement Areas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

    3.5.1 Blockage Grid and Distance Graph . . . . . . . . . . . . . . . . 703.5.2 Placement Area Computation . . . . . . . . . . . . . . . . . . . 71

    3.6 Blockage Aware Top-Down Partitioning . . . . . . . . . . . . . . . . . . 713.7 On-Chip Variation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783.8 An Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803.9 Lower Bounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 903.10 Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

    4 Repeater Tree Topology Problem 974.1 Previous Work and Problem Definition . . . . . . . . . . . . . . . . . . 974.2 A Simple Procedure and its Properties . . . . . . . . . . . . . . . . . . 1004.3 The Online Minimax Problem . . . . . . . . . . . . . . . . . . . . . . . 105

    4.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1054.3.2 Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1064.3.3 Conditions for an Optimal Online Algorithms . . . . . . . . . . 1084.3.4 Conditions for an Online Algorithms with sT OPT + c . . . . 1104.3.5 Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

    4.4 Unbalanced Binary Trees with Choosable Edge Length . . . . . . . . . 1174.4.1 Growth of fL(n) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1184.4.2 Existence of {{1,m}}-trees and L(4)-trees . . . . . . . . . . . . 1224.4.3 Examples of the Function fL(n) for Different Values of n . . . . 126

    Bibliography 127

  • 1

    Introduction

    A fundamental problem in chip design is the construction of networks that distributean electrical signal from a given source to a set of sinks. In most cases these networksare repeater trees. A repeater tree consists of horizontal and vertical wires connectingthe source and the sinks. Moreover, it contains repeaters (inverters or buffers) whichrefresh the signal. Recent chips contain millions of repeater trees.

    Clock trees are very similar to repeater trees. Their task is to distribute a clock signalfrom a source to a large set of sinks. Beside the repeaters, they can contain additionalspecial circuits modifying the clock signal. One main goal of clock tree constructionis to minimize the power consumption. Typically, 80% to 90% of the total powerconsumption of a clock tree occurs in the last stage of the tree.

    This motivates us to have a closer look at this stage. It contains circuits (inverters orspecial circuits) driving the sinks. Each sink is assigned to one of these drivers andeach driver is connected to the sinks that are assigned to it by a rectilinear Steinertree. Each driver has to drive the electrical capacitance of the tree plus the inputcapacitances of its sinks. The total capacitance it can drive is limited. The powerconsumption of the last stage is equivalent to the power consumption of the trees(proportional to their length) plus the power consumption of the drivers. Typically,the drivers of the last stage are inverters or special circuits of the same size. In bothcases the power consumption of all drivers is the same. The key component of everyclock tree construction tool is to build a last stage that minimizes power consumptionwhile satisfying the capacitance limits of the drivers.

    Mathematically, this task can be formulated as the following Sink Clustering Prob-lem: Given a finite set D of sinks with positions p(v) R2 in the plane and demands(input capacitances) d(v) R0 for all v D, a facility opening cost f R>0 (powerconsumption of a driver) and a load limit (capacitance limit) u R>0, the task is to finda partition D = D1 Dk of D and, for all 1 i k, a rectilinear Steiner tree Si for{p(v)| v Di}. Each cluster (Di, Si), 1 i k, has to keep the load limit, that means

    eE(Si) c(e)+

    sDi d(s) u. The goal is to minimize the weighted sum of the lengthof all Steiner trees plus the number of clusters, i.e. minimize

    ki=1

    eE(Si) c(e) + kf .

    In Chapter 1 we study the Sink Clustering Problem for general metrics andpresent the first constant-factor approximation algorithms for it. Moreover, we de-velop several lower bounds that partly rely on fundamental connections of the SinkClustering Problem to matroid theory. In Section 1.4 we show experimental re-sults on real-life instances from clock tree design. The cost (power consumption) ofthe solutions computed by our algorithm is in average only about 10% over the lowerbounds.

    Clock trees have to satisfy several timing constraints. Typically, the signal has to

  • 2

    arrive at all sinks of a clock tree at the same time. In this case we have the SinkClustering Problem as defined above. However, there are clock trees where thesignal has to arrive at each sink within an individual required arrival time window.In this case sinks can only be driven by the same circuit if the time windows of thesesinks have a point of time in common. In Chapter 2 we study this generalization ofthe Sink Clustering Problem, describe algorithms and lower bounds.In Chapter 3 we present our algorithm BonnClock for sythesizing clock trees. Itskey component is the Sink Clustering Algorithm as presented in Chapter 1 andgeneralized in Chapter 2. The clustering algorithms are used to construct the last stageof the clock tree and also to build upper parts of the tree. It is combined with a sinkpartitioning approach that is a generalization of the well-known H-trees. BonnClockhas become the standard tool used by IBM Microelectronics for constructing clocktrees. It has been used for the design of hundreds of most complex chips.Finally, we study the Repeater Tree Topology Problem in Chapter 4. In con-trast to clock trees, the timing constraints of repeater trees are different: The signal hasto arrive at a sink not later than a given individual required arrival time and thereforecannot arrive too early. We propose a greedy algorithm that can produce trees thatare either almost length optimal or timing optimal. Moreover, we present theoreticalresults, including a characterization of all online algorithms for the minimax and thealmost minimax problem, and improved lower bounds for repeater trees.

  • 3

    I would like to express my gratitude to my supervisors, Professor Dr. Jens Vygenand Professor Dr. Bernhard Korte. Without their support and the excellent workingconditions they provide at the Research I