Monotone bipartitioning problem in a planar point set with applications to VLSI

  • Authors:
  • Parthasarathi Dasgupta;Peichen Pan;Subhas C. Nandy;Bhargab B. Bhattacharya

  • Affiliations:
  • Indian Institute of Management, Calcutta, India;Aplus Design Technologies, Los Angeles, CA;Indian Statistical Institute, Calcutta, India;University of Nebraska-Lincoln, Lincoln, NE

  • Venue:
  • ACM Transactions on Design Automation of Electronic Systems (TODAES)
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

A new problem called monotone bipartitioning of a planar point set is identified which is found to be useful in VLSI layout design. Let F denote a rectangular floor containing a set A of n points. The portion of a straight line formed by two points from the set A is called a line segment. A monotone increasing path (MP) in F is a connected and ordered sequence of line segments from the bottom-left corner of F to its top-right corner, such that the slope of each line segment is nonnegative, and each pair of consecutive line segments share a common point of A. An MP is said to be maximal (MMP) if no other point in A can be included in it preserving monotonicity. Let AL denote the subset of A corresponding to the end points of the line segments in an MMP, L. The path L partitions the set of points A\AL into two subsets lying on its two sides. The objective of monotone bipartitioning is to find an MMP L, such that the difference in the number of points in these two subsets is minimum. This problem can be formulated as finding a path between two designated vertices of an edge-weighted digraph (the weight of an edge being an integer lying in the range [-n, n]), for which the absolute value of the algebraic sum of weights is minimized. An O(n× e) time algorithm is proposed for this problem, where e denotes the number of edges of the graph determined from the geometry of the point set. The monotone bipartitioning problem has various applications to image processing, facility location, and plant layout problems. A related problem arises while partitioning a VLSI floorplan. Given a floorplan with n rectangular blocks, the goal is to find a monotone staircase channel from one corner of the floor to its diagonally opposite corner such that the difference in the numbers of blocks lying on its two sides is minimum. The problem is referred to as the staircase bipartitioning problem. The proposed algorithm for a point set can be directly used to solve this problem in O(n2) time. However, an improved O(n) time algorithm is reported for this special case. This leads to an O(n log n) time algorithm for hierarchical decomposition of a floorplan with a sequence of staircase channels. Staircase bipartitioning has many applications to channel and global routing.