Optimal cell flipping to minimize channel density in VLSI design and pseudo-Boolean optimization

https://doi.org/10.1016/S0166-218X(98)00114-0Get rights and content
Under an Elsevier user license
open archive

Abstract

Cell flipping in VLSI design is an operation in which some of the cells are replaced with their “mirror images” with respect to a vertical axis, while keeping them in the same slot. After the placement of all the cells, one can apply cell flipping in order to further decrease the total area, approximating this objective by minimizing total wire length, channel width, etc. However, finding an optimal set of cells to be flipped is usually a difficult problem. In this paper we show that cell flipping can be efficiently applied to minimize channel density in the standard cell technology. We show that an optimal flipping pattern can be found in O(p(nc)c) time, where n, p and c denote the number of nets, pins and channels, respectively. Moreover, in the one channel case (i.e. when c = 1) the cell flipping problem can be solved in O(p log n) time. For the multi-channel case we present both an exact enumeration scheme and a mixed-integer program that generates an approximate solution very quickly. We present computational results on examples up to 139 channels and 65000 cells.

Cited by (0)

1

Partially supported by the Office of Naval Research (Grants N0001492J1375, N0001492J4083, and N000149310890).

2

Partially supported by the National Science Foundation (Grant INT-93-21811) and by NATO (Grant CRG 931531).