64 research outputs found

    VLSI Routing for Advanced Technology

    Get PDF
    Routing is a major step in VLSI design, the design process of complex integrated circuits (commonly known as chips). The basic task in routing is to connect predetermined locations on a chip (pins) with wires which serve as electrical connections. One main challenge in routing for advanced chip technology is the increasing complexity of design rules which reflect manufacturing requirements. In this thesis we investigate various aspects of this challenge. First, we consider polygon decomposition problems in the context of VLSI design rules. We introduce different width notions for polygons which are important for width-dependent design rules in VLSI routing, and we present efficient algorithms for computing width-preserving decompositions of rectilinear polygons into rectangles. Such decompositions are used in routing to allow for fast design rule checking. A main contribution of this thesis is an O(n) time algorithm for computing a decomposition of a simple rectilinear polygon with n vertices into O(n) rectangles, preseverving two-dimensional width. Here the two-dimensional width at a point of the polygon is defined as the edge length of a largest square that contains the point and is contained in the polygon. In order to obtain these results we establish a connection between such decompositions and Voronoi diagrams. Furthermore, we consider implications of multiple patterning and other advanced design rules for VLSI routing. The main contribution in this context is the detailed description of a routing approach which is able to manage such advanced design rules. As a main algorithmic concept we use multi-label shortest paths where certain path properties (which model design rules) can be enforced by defining labels assigned to path vertices and allowing only certain label transitions. The described approach has been implemented in BonnRoute, a VLSI routing tool developed at the Research Institute for Discrete Mathematics, University of Bonn, in cooperation with IBM. We present experimental results confirming that a flow combining BonnRoute and an external cleanup step produces far superior results compared to an industry standard router. In particular, our proposed flow runs more than twice as fast, reduces the via count by more than 20%, the wiring length by more than 10%, and the number of remaining design rule errors by more than 60%. These results obtained by applying our multiple patterning approach to real-world chip instances provided by IBM are another main contribution of this thesis. We note that IBM uses our proposed combined BonnRoute flow as the default tool for signal routing

    Orthogonal dissection into few rectangles

    Full text link
    We describe a polynomial time algorithm that takes as input a polygon with axis-parallel sides but irrational vertex coordinates, and outputs a set of as few rectangles as possible into which it can be dissected by axis-parallel cuts and translations. The number of rectangles is the rank of the Dehn invariant of the polygon. The same method can also be used to dissect an axis-parallel polygon into a simple polygon with the minimum possible number of edges. When rotations or reflections are allowed, we can approximate the minimum number of rectangles to within a factor of two.Comment: 18 pages, 8 figures. This version adds results on dissection with rotations and reflection

    Guarding orthogonal galleries with rectangular rooms

    Get PDF
    Consider an orthogonal art gallery partitioned into n rectangular rooms. If two rooms are adjacent, there is a door connecting them and a guard positioned at this door will see both rooms. In Czyzowicz et al. [(1994) Guarding rectangular art galleries. Discrete Appl. Math., 50, 149–157], it is shown that any rectangular gallery can be guarded with ⌈n/2⌉ guards. We prove that the same bound holds for L-shape polygons. We extend it to staircases and prove that an orthogonal staircase with n rooms and r reflex vertices can be guarded with ⌈(n+⌊ r/2⌋)/2⌉ guards. Then we prove an upper bound on the number of guards for arbitrary orthogonal polygon with orthogonal holes. This result improves the previous bound by Czyzowicz et al. [(1994) Guarding rectangular art galleries. Discrete Appl. Math., 50, 149–157] (even in the case of polygon without holes)

    On Dissecting Polygons into Rectangles

    Full text link
    What is the smallest number of pieces that you can cut an n-sided regular polygon into so that the pieces can be rearranged to form a rectangle? Call it r(n). The rectangle may have any proportions you wish, as long as it is a rectangle. The rules are the same as for the classical problem where the rearranged pieces must form a square. Let s(n) denote the minimum number of pieces for that problem. For both problems the pieces may be turned over and the cuts must be simple curves. The conjectured values of s(n), 3 <= n <= 12, are 4, 1, 6, 5, 7, 5, 9, 7, 10, 6. However, only s(4)=1 is known for certain. The problem of finding r(n) has received less attention. In this paper we give constructions showing that r(n) for 3 <= n <= 12 is at most 2, 1, 4, 3, 5, 4, 7, 4, 9, 5, improving on the bounds for s(n) in every case except n=4. For the 10-gon our construction uses three fewer pieces than the bound for s(10). Only r(3) and r(4) are known for certain. We also briefly discuss q(n), the minimum number of pieces needed to dissect a regular n-gon into a monotile.Comment: 26 pages, one table, 41 figures, 14 reference

    Decomposing and packing polygons / Dania el-Khechen.

    Get PDF
    In this thesis, we study three different problems in the field of computational geometry: the partitioning of a simple polygon into two congruent components, the partitioning of squares and rectangles into equal area components while minimizing the perimeter of the cuts, and the packing of the maximum number of squares in an orthogonal polygon. To solve the first problem, we present three polynomial time algorithms which given a simple polygon P partitions it, if possible, into two congruent and possibly nonsimple components P 1 and P 2 : an O ( n 2 log n ) time algorithm for properly congruent components and an O ( n 3 ) time algorithm for mirror congruent components. In our analysis of the second problem, we experimentally find new bounds on the optimal partitions of squares and rectangles into equal area components. The visualization of the best determined solutions allows us to conjecture some characteristics of a class of optimal solutions. Finally, for the third problem, we present three linear time algorithms for packing the maximum number of unit squares in three subclasses of orthogonal polygons: the staircase polygons, the pyramids and Manhattan skyline polygons. We also study a special case of the problem where the given orthogonal polygon has vertices with integer coordinates and the squares to pack are (2 {604} 2) squares. We model the latter problem with a binary integer program and we develop a system that produces and visualizes optimal solutions. The observation of such solutions aided us in proving some characteristics of a class of optimal solutions

    Edge-weighted contact representations of planar graphs

    Full text link

    Voronoi diagram of orthogonal polyhedra in two and three dimensions

    Get PDF
    Τα διαγράμματα Voronoi αποτελούν μία θεμελιώδη γεωμετρική δομή δεδομένων και έκφραζουν αποστάσεις σημείων στο χώρο από ένα σύνολο αντικειμένων. Θεωρούμε ορθογώνια πολύεδρα ευθυγραμμισμένα με τους άξονες. Πρόκειται για πολύεδρα των οποίων οι έδρες σχηματίζουν ορθές γωνίες, και οι ακμές είναι παράλληλες προς τους άξονες ενός καρτεσιανού συστήματος συντεταγμένων. Κατασκευάζουμε το διάγραμμα Voronoi στο εσωτερικό ενός ορθογώνιου πολυέδρου με τρύπες που ορίζονται από αντίστοιχα πολύεδρα, χρησιμοποιώντας την max-νόρμα. Πρόκειται για έναν συνδυασμό που βρίσκει πολλές εφαρμογές σε τομείς όπως τα raster graphics και ο σχεδιασμός κυκλωμάτων VLSI. Παρουσιάζουμε έναν αλγόριθμο για την κατασκευή αυτών των διαγραμμάτων Voronoi σε δύο και τρεις διαστάσεις. Ακολουθούμε τη μέθοδο υποδιαίρεσης και βασιζόμαστε σε μία δομή δεδομένων από bounding-volumes: πρόκειται για μία μή τετριμμένη προσέγγιση του προβλήματος. Επιπλέον αναλύουμε την πολυπλοκότητα του αλγορίθμου, η οποία είναι γραμμική κάτω από μία υπόθεση ομοιόμορφα κατανεμημένης εισόδου. Μέρος της παρούσας εργασίας πρόκειται να δημοσιευθεί στα πρακτικά του συνεδρίου SEA^2 2019 (Special Event on Analysis of Experimental Algorithms).Voronoi diagrams are a fundamental geometric data structure for obtaining proximity relations. We consider axis-aligned orthogonal polyhedra in two and three-dimensional space. These are polyhedra whose faces meet at right angles and their edges are aligned with the axes of a coordinate system. We construct the exact Voronoi diagram inside an axis-aligned orthogonal polyhedron with holes defined by such polyhedra, under the max-norm. This is a particularly useful scenario in certain application domains, including raster graphics and VLSI design. Our approach avoids creating full-dimensional elements on the Voronoi diagram and yields a skeletal representation of the input object, equivalent to the straight skeleton. We introduce a complete algorithm in 2D and 3D that follows the subdivision paradigm relying on a bounding-volume hierarchy; this is an original approach to the problem. The algorithm reads in a region bounding the input polyhedron and performs a recursive subdivision into cells (using quadtrees and octrees for 2D and 3D resp.). Then, a reconstruction technique is applied to produce an isomorphic representation of the Voronoi diagram. An hierarchical data structure of bounding volumes is used to accelerate the 2D algorithm for certain inputs and is necessary for the efficiency of the 3D algorithm. The complexity is adaptive and comparable to that of previous methods. Under a mild assumption it is O(n / D+1 / D^2) in 2D or O(n a ^2 / D^2+1 / D^3) in 3D, where n is the number of sites, namely edges or facets respectively, D is the maximum cell size for the subdivision to stop (and is &lt;1 under the appropriate scaling), and a bounds vertex cardinality per facet. We also provide a numerically stable, open-source implementation in Julia, illustrating the practical nature of our algorithm. Part of the current thesis is given in the paper &quot;Voronoi diagram of orthogonal polyhedra in two and three dimensions&quot;, co-authored with Prof. Ioannis Z. Emiris, that is about to appear in Proceedings of SEA^2 2019 (Special Event on Analysis of Experimental Algorithms)

    New Algorithms for Computing Field of Vision over 2D Grids

    Get PDF
    In many computer games checking whether one object is visible from another is very important. Field of Vision (FOV) refers to the set of locations that are visible from a specific position in a scene of a computer game. Once computed, an FOV can be used to quickly determine the visibility of multiple objects from a given position. This thesis summarizes existing algorithms for FOV computation, describes their limitations, and presents new algorithms which aim to address these limitations. We first present an algorithm which makes use of spatial data structures in a way which is new for FOV calculation. We then present a novel technique which updates a previously calculated FOV, rather than re-calculating FOV from scratch. We then compare our algorithms to existing FOV algorithms and show that they provide substantial improvements to running time and efficiency of memory access

    On Geometric Range Searching, Approximate Counting and Depth Problems

    Get PDF
    In this thesis we deal with problems connected to range searching, which is one of the central areas of computational geometry. The dominant problems in this area are halfspace range searching, simplex range searching and orthogonal range searching and research into these problems has spanned decades. For many range searching problems, the best possible data structures cannot offer fast (i.e., polylogarithmic) query times if we limit ourselves to near linear storage. Even worse, it is conjectured (and proved in some cases) that only very small improvements to these might be possible. This inefficiency has encouraged many researchers to seek alternatives through approximations. In this thesis we continue this line of research and focus on relative approximation of range counting problems. One important problem where it is possible to achieve significant speedup through approximation is halfspace range counting in 3D. Here we continue the previous research done and obtain the first optimal data structure for approximate halfspace range counting in 3D. Our data structure has the slight advantage of being Las Vegas (the result is always correct) in contrast to the previous methods that were Monte Carlo (the correctness holds with high probability). Another series of problems where approximation can provide us with substantial speedup comes from robust statistics. We recognize three problems here: approximate Tukey depth, regression depth and simplicial depth queries. In 2D, we obtain an optimal data structure capable of approximating the regression depth of a query hyperplane. We also offer a linear space data structure which can answer approximate Tukey depth queries efficiently in 3D. These data structures are obtained by applying our ideas for the approximate halfspace counting problem. Approximating the simplicial depth turns out to be much more difficult, however. Computing the simplicial depth of a given point is more computationally challenging than most other definitions of data depth. In 2D we obtain the first data structure which uses near linear space and can answer approximate simplicial depth queries in polylogarithmic time. As applications of this result, we provide two non-trivial methods to approximate the simplicial depth of a given point in higher dimension. Along the way, we establish a tight combinatorial relationship between the Tukey depth of any given point and its simplicial depth. Another problem investigated in this thesis is the dominance reporting problem, an important special case of orthogonal range reporting. In three dimensions, we solve this problem in the pointer machine model and the external memory model by offering the first optimal data structures in these models of computation. Also, in the RAM model and for points from an integer grid we reduce the space complexity of the fastest known data structure to optimal. Using known techniques in the literature, we can use our results to obtain solutions for the orthogonal range searching problem as well. The query complexity offered by our orthogonal range reporting data structures match the most efficient query complexities known in the literature but our space bounds are lower than the previous methods in the external memory model and RAM model where the input is a subset of an integer grid. The results also yield improved orthogonal range searching in higher dimensions (which shows the significance of the dominance reporting problem). Intersection searching is a generalization of range searching where we deal with more complicated geometric objects instead of points. We investigate the rectilinear disjoint polygon counting problem which is a specialized intersection counting problem. We provide a linear-size data structure capable of counting the number of disjoint rectilinear polygons intersecting any rectilinear polygon of constant size. The query time (as well as some other properties of our data structure) resembles the classical simplex range searching data structures
    corecore