\documentclass[psfig,11pt]{article} \usepackage{epsfig} \usepackage{hyperref} \setlength{\oddsidemargin}{-0.275in} \setlength{\evensidemargin}{-0.275in} \setlength{\topmargin}{-0.25in} \setlength{\textwidth}{7.0in} \textheight9.25in \begin{document} \bibliographystyle{plain} \title{Strategic Project Grants (SPG) on:\\ Semidefinite Programming and other Large Scale Convex Programming Techniques to Solve VLSI Circuit Layout Problems} \author{ Prof. Terlaky, Tamas (9319) \and Prof. Vannelli, Anthony (15296) \and Prof: Wolkowicz, Henry (11131) } \maketitle \section*{Type of grant: \large{\bf Information and Communications Technologies}} \section*{Budget Justification} \subsection*{Salaries and benefits:} \begin{itemize} \item Support of seven graduate students yearly. Three with full support ({\$}45000.- per year) and four with partial support ({\$}20000.- per year) from this budget. \item Major support of two postdoctoral fellows at the rate of {\$}27000.- per year \\ (including fringe benefits). \item Technical assistance is needed to purchase on a regular base from McMaster's Computer and Information Services (CIS) to maintain the IBM-RS6000 workstation cluster, install new software and additional hardware. \end{itemize} \subsection*{Equipment or facility:} \begin{itemize} \item Maintenance contracts for computer equipment, file backups, etc... \end{itemize} \subsection*{Materials and supplies:} \begin{itemize} \item Purchase, upgrade and yearly fee of computer software such as: MATLAB, MAPLE, GAMS, AIMMS, CONOPT, MINOS, CPLEX, XPRESSMP etc. \item Office supplies for the Advanced Optimization group including: printer paper, transparency, diskettes, cables etc. \end{itemize} \subsection*{Travel:} \begin{itemize} \item Three conference trips per year, to conferences like: ISMP, SIAM, INFORMS, EURO, IFIP, ACM etc. \item Four conference trips per year for the postdoctoral fellows to conferences as mentioned above. \item Three conference trips per year of the graduate students to conferences as mentioned above. \item Trips to IBM's Watson Research Laboratory and to visit colleagues to exchange ideas about project related research and implementation issues. \end{itemize} \subsection*{Dissemination costs:} Cooperation with the Fields Institute in Toronto. Workshop and conference costs for MOPTA held at McMaster University. \subsection*{Relationship to other research support:} The three collaborators in this project have operating grants from NSERC. However, the support form this application will be used solely for the project outlined below. \newpage \part*{Free Form Proposal Description} \noindent \textbf{NOTE:} \textit{Papers that are alpha-numeric are found in Section A of Form 100 of Vannelli. Other references are in Form 100 of Wolkowicz or Terlaky, or cited in text, or at end of this proposal}. \section{Synopsis} In the last six years, the three investigators (along with their students and colleagues) have looked at three major overlapping research areas: (i) {\it Advanced Techniques in Graph Partitioning and Applications}, (ii) {\it Interior Point Methods for Solving VLSI Circuit Layout Problems} and (iii) {\it Semidefinite programming relaxations}. During this period, we have been able to formulate, develop and integrate the underlying mathematical models and optimization techniques that represent the design problems in several engineering research areas. A large part of the investigation into the \textit{related areas} of VLSI circuit layout has allowed us to develop the underlying heuristics to solve the resulting NP-hard problems. Moreover, we can assess the quality of the solutions generated by these heuristic techniques; that is, \textit{% bounds} on the global optimal solutions have been developed. This proposal will review the research areas, modeling and solution techniques that have been developed to solve the outlined problems. We outline new directions that we plan to pursue in the next five years in the areas of convex programming (including interior point algorithms), semidefinite programming research and applications, advanced search techniques and their \textit{joint application} to VLSI circuit layout. A major direction of our research over the next five years is aimed at the integration of interior point methods which are used to find relative placements (possibly overlapping) and global routings with the advanced search techniques which are used to find non overlapping placements and final detailed routings. The last 10 years have seen tremendous improvement in need to solve larger combinatorial problems that are inherent in circuit/computer chip fabrication. This has coincided with a revolution in the theory behind optimization and our ability to solve large scale optimization problems. The three applicants have been intricately involved in these areas of research and are perfectly suited to apply these new techniques to further improve on the solution of the combinatorial aspects of manufacturing and VLSI circuit layout problems. \section{Background} In the last decade the technology for manufacturing integrated circuits (ICs) has seen an explosive growth. Modern integrated circuits are not only ubiquitous but typically contain millions of transistors. Due to the inherent complexity of integrated circuits, the design process is extremely time--consuming, hence developing algorithms to automate the process is of paramount importance. Furthermore, the interconnection of circuit modules is the single most important factor in performance criteria such as signal delay, power dissipation and circuit size. The interconnection or {\it circuit layout} problem is modelled as a sequence of (very large) discrete optimization problems with the objective function, the overall wirelength. The circuit layout problem is further subdivided into three subproblems: partitioning, placement, and routing. Each one of these subproblems is briefly discussed below. The {\it partitioning} subproblem is used to divide the circuit into smaller, related sub-circuits and eventually into elementary functional switching elements called {\it cells}. These circuits can be designed and implemented as separate circuits and connected at a later stage of the circuit layout process. The next stage of the circuit layout step, the cell {\it placement} subproblem, is applied to each partition to determine positions of the cells while minimizing an estimate of the total wirelength. This problem has been traditionally formulated as an optimization problem, with either linear or quadratic functions. In the last stage of the VLSI layout, the {\it routing} subproblem is solved to determine the geometric layout of the wires that connect the cells, called the {\it nets}, according to the required interconnection defined by netlist. The routing subproblem is typically divided into two additional subproblems: {\it global routing} and {\it detailed routing}. In global routing, the approximate course of the wires is determined using a simplified description of the netlist. The solution from the global routing problem is then used in the detailed routing problem to determine the exact course of the wires in the channels \textit{Cadence} [Sherwani, \textit{Algorithms for VLSI Design Automation}, Kluwer, 1993] %\cite{sherwani95}. Circuit layout is an NP-hard problem, therefore, the focus of much research has been to develop heuristic solution methodologies which yield near--optimal solutions to the problem with reasonable computational effort. Optimization techniques such as simulated annealing, tabu search and interior point methods have been used to solve the partitioning, placement and routing problems. These techniques have the disadvantages of being computationally expensive and tend to become trapped in local minima. We have developed several interacting approaches to model and solve \textbf{% all three} layout problems. These approaches have lead to good initial prototype designs that contain short wirelengths and are placed in a small area. We summarize the research results in the partitioning area in this section. Our research on the placement problem is described in the next section. \section{Proposed Research} \subsection{Introduction and Overview} The aim of this proposal is the development and implementation of software for solving problems related to VLSI design. The solution techniques we use come from convex programming relaxations of hard combinatorial problems in combination with heuristics for final placements. The work initiated and developed during the past six years has focused on using (i) interior point and (ii) advanced search techniques to solve ``specific'' manufacturing and VLSI circuit layout problems. Both areas of research have been quite fruitful on their own. However, the inherent ``real world'' combinatorial aspects of manufacturing and VLSI circuit layout problems are far too complex for any single optimization technique to entirely solve the problem on its own. We highlight the research that we wish to continue in these areas to move towards integration of these respective continuous and discrete optimizers on relevant VLSI layouts. The entire design cycle may be viewed as transformations of representation in various steps. For example, the layout is iteratively improved to meet timing specifications of the system. Another example is to detect design rule violations during design verification. If such violations are detected, the physical design step needs to be repeated to \textit{correct} the error. Thus one of the objectives of VLSI CAD tools is to minimize the number of iterations and thus reduce the time-to-market. This is usually accomplished by having efficient heuristics, that can produce near optimal solutions in reasonable amounts of time. \subsection{Interior Point and Convex Methods for Solving VLSI Place and Route Problems} During the next five years, we plan to continue our research on the fundamental placement and routing problems that we analyzed with interior point methods ~[J2,J3,B1,B2,S2]. We plan to conduct this research on two interrelated fronts. First, we will investigate and compare several linear programming (LP) and quadratic programming (QP) models for both the placement [J2,S3,B1] and routing problems[J3,J4]. Second, we will continue to develop and refine our \textit{iterative solvers} [J2,B2,S3] for solving the expected huge indefinite systems of equations ($>10^5$ constraints and variables) that evolve from a numerically stable primal-dual interior point methods such as the one due to Vanderbei and Carpenter, ~[Math. Prog., Vol. 58, pp. 1-32, 1993]. We feel that this work will be productive by focusing on \textit{ordering} issues that arise from the factorization of the first-order conditions for optimality. Testing on several partitioning and placement problems reported in [J2,S2] show the promise on these iterative approaches on large indefinite systems versus solving normal equations (CPLEX Barrier) or indefinite systems solved by \textit{direct} solvers (LOQO)~[\textit{LOQO User's Manual}% , Tech. Report SOR-92-5, Dept. of Civil Eng. and OR, Princeton, 1992]. On a typical large-scale partitioning problem of 3000 nodes, our iterative approach using a second order level of fill [S4, p.22] was 30 times faster than LOQO; 150 times faster than CPLEX (Simplex) and CPLEX (Barrier) did not converge. Finally, the power of the convex programming model-Attractor-Repeller Method should allow us to further extend the fundamental work in [S1,B1,C4] to the more difficult performance driven placement and routing problems. Here we plan to use the {\it linear formulations} of {\it delays} (the most critical aspect) as presented in [J3] so that we can extend the convex programming technique to this problem. We believe that this avenue will be especially fruitful given the newer interior point optimization convex optimization codes that can attack the resulting models. \subsection{Semidefinite Programming Relaxations} Combinatorial optimization problems can be modelled as (nonconvex) quadratically constrained quadratic programs. The Lagrangian dual of these models result in semidefinite programs, i.e. linear programs where the variables are matrices and the nonnegativity constraint is with respect to the positive semidefinite partial order, e.g. Helmberg-Poljak-Rendl-Wolkowicz/95 or Poljak-Rendl-Wolkowicz/95. These relaxations have been shown to provide very tight bounds for many simple combinatorial optimization problems, e.g. Helmberg-Rendl-Vanderbei-Wolkowicz. In particular, they have been successful for equipartitioning of graphs, e.g. Zhao-Karisch-Rendl-Wolkowicz and Wolkowicz-Zhao/96. The semidefinite programming relaxations are solved using primal-dual interior-point methods, e.g. Helmberg-Poljak-Rendl-Wolkowicz/95, Wolkowicz-Saigal-Vandenberghe/00. However, the linear systems, that need to be solved to find the Newton direction, can be very large and nonsparse if handled incorrectly. If handled correctly, conjugate gradient type methods can be used. \subsection{Towards Integration} A major direction of our research over the next five years is aimed at the integration of interior point methods which are used to find relative placements (possibly overlapping) and global routings with the advanced search techniques which are used to find non overlapping placements and final detailed routings. An initial focus will be on the generation of a VLSI circuit layout for \textit{standard cell} technologies. In a standard cell technology, one lays out the modules that are of a fixed height but varying length on a fixed number of rows. The layout is considered to good if a number of practical factors are optimized such as chip area, wirelength and timing/delay problems. The following ``real'' 800 node example (from [J2]) shows the effect of using (i) iterative IP methods to find initial overlapping placement (\textit{left-most figure}) (ii) a sequence of advanced search techniques to partition the chip and reduce overlap (\textit{two middle figures}) and (iii) a final mapping to the rows to obtain a legal VLSI circuit layout (\textit{right-most figure}). \newline \centerline{\hbox{ \psfig{figure=pic1.ps,height=1.2in} \psfig{figure=pic2.ps,height=1.2in} \psfig{figure=pic3.ps,height=1.2in} \psfig{figure=pic4.ps,height=1.2in} }} You can see the effect that the optimizers have in driving the modules from the obvious useless solution of ``being on top of each other'' in the center of the chip (no wirelength) to a complete ``non-overlapping'' and legal placement at the far right. The resulting layout for this example has wirelength 5\% shorter and area 10\% smaller than a similar result generated by \textit{TimberWolf} (a competitive academic CAD package). However, it has larger circuit timing and delay problems. Along with the pursuit of the individual optimization problems described in parts A and B of this section, we wish to explore adding the ``important feedback'' link to reduce these other objectives. We then plan to integrate our optimization-based routines into packages such such as \textit{TimberWolf} or \textit{Cadence} to compare (i.e. benchmark on large circuits containing $>10^5$ modules and wires) the generated chips performance with those that are \textbf{not} generated by this approach. \section{Related Research} \subsection{Advanced Techniques in Graph Partitioning and Applications} The decomposition of large-scale systems into several subsystems is increasingly becoming an important engineering design tool. One uses decomposition to find strongly connected subsystems that have the \textit{% weakest} interaction between them. Such decompositions are useful because large-scale system analysis can then be performed at the subsystem level. The partitioning of a graph or hypergraph into $k$ blocks ($k \geq 2$) containing no more than $u$ nodes is known to be NP-hard [Preas, \textit{% Physical Design Automation of VLSI Systems}, Benjamin Publishing Co., 1988]. The work in this area has led to the development of three major approaches. First, an \textit{eigenvector} approach is used to develop fast techniques \textit{O(k n (log n))} (where $k<