Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Performance-driven compaction for analog integrated circuits

Proceedings of IEEE Custom Integrated Circuits Conference - CICC '93, 1993
...Read more
PERFORMANCE-DRIVEN COMPACTION FOR ANALOG INTEGRATED CIRCUITS Eric Felt, Enrico Malavasi , Edoardo Charbon, Roberto Totaro , and Alberto Sangiovanni-Vincentelli Department of Electrical Engineering Dip. di Elettronica e Informatica and Computer Sciences Universit` a di Padova University of California via Gradenigo, 6/A Berkeley, CA 94720 35131, Padova, Italy ABSTRACT This paper describes a new approach to layout compaction of analog inte- grated circuits which respects all of the performance and technology con- straints necessary to guarantee proper analog circuit functionality. Our ap- proach consists of two stages: a fast constraint graph critical path algorithm followed by a general linear programming algorithm. Circuit performance is guaranteed by mapping high-level performance constraints to low-level bounds on parasitics and then to minimum spacing constraints between adja- cent nets. 1. INTRODUCTION The automatic generation of circuit layout consists of three major phases: placement, routing, and compaction. The compaction phase can be viewed as an optimization problem in which one wishes to minimize layout area subject to a set of constraints necessary to insure proper circuit functionality. These constraints are of three general types: technologyconstraints, topology constraints, and performance constraints. In digital systems most approaches to layout compaction consider only technology constraints, i.e. object-to-object minimum and maximum spacing requirements. This approach is sufficient because in digital layouts the de- pendence of electric performances on the details of physical implementation is limited to logic functions and delay requirements. As long as connectiv- ity is not disrupted and interconnection length is not significantly increased, timing specifications are preserved. In analog systems, however, all three types of functionality constraints are critical issues during all phases of layout synthesis. Topological con- straints and performance constraints are essential because analog circuit performances are extremely sensitive to parasitics. Variations in device symmetries (topological constraints) or interconnect length (performance constraints), for example, affect cross-coupling capacitances and stray re- sistances, which can dramatically degrade circuit performance. The symbolic layout compaction problem is NP-hard [1]. However, heuristics have been developed which provide good quality layouts. In particular, the use of mono-dimensional compaction phases alternately per- formed in orthogonal directions is one of the most popular approaches. The mono-dimensional topological compaction problem is typically formulated as a longest path problem on a directed graph, which is solvable in polynomial time. However, not all analog circuit constraints can be expressed in a form which can be solved by a constraint-graph algorithm. Several approaches to specific portions of the general analog compaction problem have been previously described. In [2] symmetries are enforced by using an iterative graph perturbation technique. Unfortunately false overcon- straints frequently arise with this approach because of the order in which the symmetric objects are processed,especially when multiple symmetry axes are present. In [3] a linear programming (LP) algorithm was proposed. Objects not directly interacting with symmetric items in the layout are collapsed, thus generating “super-constraints” which are solved using linear programming. This technique is particularly appropriate when hierarchical compaction is performed [4]. Even after reducing the set of constraints considered in the LP problem, however, this algorithm is severely limited in the maximum circuit complexity which can be considered and in the classes of constraints which can be accommodated. In [5] symmetries are enforced with a combination graph and LP algorithm which uses constraint graph longest path techniques to arrive at a good starting point for an LP solver. These prior approaches address the problem of enforcing topological constraints (symmetry requirements, in particular), but no provision is made for performance constraints. In this paper we propose an efficient approach to symbolic compaction which accounts for all analog constraints. The size and complexity of the circuits with which it can cope are large enough to make the algorithm suitable for industrial-strength applications. The work presented in [5] served as a basis for the results presented here, with the primary contributions of this paper being: 1) a new aggressive technique for controlling parasitics and 2) an original technique for global wire length minimization. Our approach is part of a general top-down, constraint-driven analog circuit design methodology [6]. Top-level constraints are propagated down the design hierarchy from step to step until the final layout is reached. Since early verification techniques are employed to insure that the performance specifications are satisfied at each stage of the layout, the layout which is fed into the compactor is guaranteed to be feasible in the sense that it meets the performance specifications. This methodology has been successfully used for placement [7] and routing [8, 9]. In this paper we extend the same methodology to compaction, thus ensuring that the results obtained from constraint-driven placement and routing are not spoiled during compaction. Not using constraint-driven compaction would cause the whole methodology to fail by permitting uncontrolled constraint violations. We believe that compaction is an essential step in any analog layout synthesis framework. The synthesis step immediately prior to compaction is usually routing. While the layout from the router is guaranteed to meet all high-level performance specifications, compaction is still essential to insure that the final layout is: 1) as small as possible and 2) design rule correct. Area minimization is an important target and it is difficult to achieve with only placement and routing, especially when area routing is used. Moreover, constraint-driven compaction makes it possible to relax the requirements on routing and accept slight design rule spacing violations by relying on the possibility of fixing the violations during compaction. Thus compaction is not merely an optional post-processing step; in addition to minimizing the area of the chip, compactionalso improves the entire analog synthesis process by permitting more aggressive placement and routing. The algorithm we propose to accommodate the analog performance con- straints during compaction is as follows: 1. Generate a set of minimum spacing constraints between wire segments which satisfy all high-level performance constraints. Add these addi- tional constraints to the constraint graph. 2. Solve the modified graph. 3. Introduce shield and symmetry constraints and use the solution achieved in step 2 as the starting point for an LP solver. The LP solver resolves all constraints and produces a final layout of minimum width (height) and minimum interconnect length. The algorithm is illustrated in Figure 1. If overconstraints are detected in steps 2 or 3 then feedback is provided to step 1 so that an alternative set of spacing constraints can be generated.
Linear Progamming High-level Performance Constraints Design Rules Constraint Graph Generate Minimum Spacing Constraints Map Performance Constraints to Bounds on Parasitics Final Layout Shield and Symmetry Constraints Figure 1: Compaction algorithm which accommodates all analog constraints. net 1 net 2 net 3 Figure 2: Coupling constraints. From left to right: original layout, layout compacted without coupling constraints, layout compacted with coupling constraints. The use of the graph solution obtained in step 2 as the starting point for the LP solver in step 3 is the key to obtaining a significant speed-up in the solution of the LP, compared to previous approaches using pure LP [3]. In most observed practical cases the configuration yielded by step 2 is close enough to the final solution to require the LP solver to carry out only a small number of steps, yielding 20% to 50% reductions in cpu time over pure LP algorithms. The range of cases that can be managed with acceptable computational complexity is therefore significantly expanded. The details of using the constraint graph and LP solver together to enforce symmetries are reported in [5]. With an LP solver it is also possible to perform global wire length minimization, which is described in section 4.5. 2. ANALOG CONSTRAINTS Compaction is one of the last steps in the layout synthesis of analog integrated circuits, so the methodology used to synthesize the circuit layout determines the set of constraints which the analog layout compactor must resolve. Under our top-down, constraint-driven methodology, high-level performance spec- ifications are mapped onto low-level constraints which are made available to the compactor. The design methodology insures that the compactor will be Figure 3: Shield requirements. From left to right: original layout, layout compacted without shield preservation constraints, layout compacted with shield-preservation constraints. provided with all of the necessary layout constraints and that no information except interconnects must be inferred directly from the layout. The method- ology also insures that the layout and routing tools will provide a reasonable starting point for the compactor, and that if all of the constraints can be sat- isfied then the circuit will operate within all of its high-level specifications. Low-level constraints fall into the following categories: 1) maximum cross-coupling, 2) shield preservation, and 3) symmetry enforcement. Each of these constraints will be considered in turn. Maximum Cross-Coupling The minimum design rule spacing requirements used when compacting dig- ital layouts are often not sufficient for analog circuits because of capacitive cross-coupling between adjacent wires. When two critical wires are routed closely together, the capacitive coupling between them can seriously degrade the circuit performance. To prevent this detrimental coupling, additional con- straints must be added during compaction to insure that the signal coupling does not cause the circuit to violate high-levelperformancespecifications. An example is shown in Figure 2. Without maximum cross-coupling constraints the compacted circuit may not meet the high-level performance requirements because of excessive coupling between nets 2 and 3. Shield Preservation When routing an analog circuit it is sometimes impossible to reduce the coupling between two critical lines below the required maximum because of the circuit topology. In these cases the router may introduce a shield between the critically coupled nets. Special constraints must be passed from the router to the compactor to insure that shields are properly preserved. An example is shown in Figure 3. Symmetry Requirements Analog circuit designers frequently introduce topological symmetries in dif- ferential circuits to optimize offset, differential gain, and noise. Special care must be taken during the compaction step to insure that those symmetries are preserved. 3. ALGORITHM 3.1. Technology Constraints If only technology constraints are considered, mono-dimensionalcompaction can be solved efficiently with the constraint graph longest path algorithm [10] [1, Ch. 10]. The pattern of componentconnectivity and minimum separations required by the technology is described as a weighted, directed graph. Each component is represented in the graph by a node. Maximum and minimum spacing constraints of the form: 2 1 1 are represented as edges of weight . Note that is negative for maximum spacing constraints. A simple plane sweep algorithm is used to generate the minimum spacing constraints. The longest path in this graph provides the minimum width (height). 3.2. Coupling Constraints High-level performance specifications can be mapped efficiently onto a set of low-level bounds on parasitics [11]. If every parasitic is kept below its bound, all performance constraints are guaranteed to be met. Bounds are set so as to be feasible, on the basis of reasonable estimates of parasitic values drawn from analysis of the layout. The algorithm to determine the minimum spacings between parallel wire segments is an iterative procedure: 1. Compute the longest path on the current graph. 2. Extract actual parasitics and compare to bounds. If all bounds are met, exit. Otherwise 3. Compute the actual performance degradations, based on extracted par- asitics and sensitivities. If performance constraints are met, exit. Oth- erwise
PERFORMANCE-DRIVEN COMPACTION FOR ANALOG INTEGRATED CIRCUITS Eric Felt, Enrico Malavasiy , Edoardo Charbon, Roberto Totaro y , and Alberto Sangiovanni-Vincentelli Department of Electrical Engineering and Computer Sciences University of California Berkeley, CA 94720 ABSTRACT This paper describes a new approach to layout compaction of analog integrated circuits which respects all of the performance and technology constraints necessary to guarantee proper analog circuit functionality. Our approach consists of two stages: a fast constraint graph critical path algorithm followed by a general linear programming algorithm. Circuit performance is guaranteed by mapping high-level performance constraints to low-level bounds on parasitics and then to minimum spacing constraints between adjacent nets. 1. INTRODUCTION The automatic generation of circuit layout consists of three major phases: placement, routing, and compaction. The compaction phase can be viewed as an optimization problem in which one wishes to minimize layout area subject to a set of constraints necessary to insure proper circuit functionality. These constraints are of three general types: technology constraints, topology constraints, and performance constraints. In digital systems most approaches to layout compaction consider only technology constraints, i.e. object-to-object minimum and maximum spacing requirements. This approach is sufficient because in digital layouts the dependence of electric performances on the details of physical implementation is limited to logic functions and delay requirements. As long as connectivity is not disrupted and interconnection length is not significantly increased, timing specifications are preserved. In analog systems, however, all three types of functionality constraints are critical issues during all phases of layout synthesis. Topological constraints and performance constraints are essential because analog circuit performances are extremely sensitive to parasitics. Variations in device symmetries (topological constraints) or interconnect length (performance constraints), for example, affect cross-coupling capacitances and stray resistances, which can dramatically degrade circuit performance. The symbolic layout compaction problem is NP-hard [1]. However, heuristics have been developed which provide good quality layouts. In particular, the use of mono-dimensional compaction phases alternately performed in orthogonal directions is one of the most popular approaches. The mono-dimensional topological compaction problem is typically formulated as a longest path problem on a directed graph, which is solvable in polynomial time. However, not all analog circuit constraints can be expressed in a form which can be solved by a constraint-graph algorithm. Several approaches to specific portions of the general analog compaction problem have been previously described. In [2] symmetries are enforced by using an iterative graph perturbation technique. Unfortunately false overconstraints frequently arise with this approach because of the order in which the symmetric objects are processed, especially when multiple symmetry axes are present. In [3] a linear programming (LP) algorithm was proposed. Objects not directly interacting with symmetric items in the layout are collapsed, thus generating “super-constraints” which are solved using linear programming. This technique is particularly appropriate when hierarchical compaction is performed [4]. Even after reducing the set of constraints considered in the LP problem, however, this algorithm is severely limited in the maximum circuit complexity which can be considered and in the classes of constraints which y Dip. di Elettronica e Informatica Università di Padova via Gradenigo, 6/A 35131, Padova, Italy can be accommodated. In [5] symmetries are enforced with a combination graph and LP algorithm which uses constraint graph longest path techniques to arrive at a good starting point for an LP solver. These prior approaches address the problem of enforcing topological constraints (symmetry requirements, in particular), but no provision is made for performance constraints. In this paper we propose an efficient approach to symbolic compaction which accounts for all analog constraints. The size and complexity of the circuits with which it can cope are large enough to make the algorithm suitable for industrial-strength applications. The work presented in [5] served as a basis for the results presented here, with the primary contributions of this paper being: 1) a new aggressive technique for controlling parasitics and 2) an original technique for global wire length minimization. Our approach is part of a general top-down, constraint-driven analog circuit design methodology [6]. Top-level constraints are propagated down the design hierarchy from step to step until the final layout is reached. Since early verification techniques are employed to insure that the performance specifications are satisfied at each stage of the layout, the layout which is fed into the compactor is guaranteed to be feasible in the sense that it meets the performance specifications. This methodology has been successfully used for placement [7] and routing [8, 9]. In this paper we extend the same methodology to compaction, thus ensuring that the results obtained from constraint-driven placement and routing are not spoiled during compaction. Not using constraint-driven compaction would cause the whole methodology to fail by permitting uncontrolled constraint violations. We believe that compaction is an essential step in any analog layout synthesis framework. The synthesis step immediately prior to compaction is usually routing. While the layout from the router is guaranteed to meet all high-level performance specifications, compaction is still essential to insure that the final layout is: 1) as small as possible and 2) design rule correct. Area minimization is an important target and it is difficult to achieve with only placement and routing, especially when area routing is used. Moreover, constraint-driven compaction makes it possible to relax the requirements on routing and accept slight design rule spacing violations by relying on the possibility of fixing the violations during compaction. Thus compaction is not merely an optional post-processing step; in addition to minimizing the area of the chip, compaction also improves the entire analog synthesis process by permitting more aggressive placement and routing. The algorithm we propose to accommodate the analog performance constraints during compaction is as follows: 1. Generate a set of minimum spacing constraints between wire segments which satisfy all high-level performance constraints. Add these additional constraints to the constraint graph. 2. Solve the modified graph. 3. Introduce shield and symmetry constraints and use the solution achieved in step 2 as the starting point for an LP solver. The LP solver resolves all constraints and produces a final layout of minimum width (height) and minimum interconnect length. The algorithm is illustrated in Figure 1. If overconstraints are detected in steps 2 or 3 then feedback is provided to step 1 so that an alternative set of spacing constraints can be generated. High−level Performance Constraints Design Rules Shield and Symmetry Constraints Map Performance Constraints to Bounds on Parasitics Generate Minimum Spacing Constraints provided with all of the necessary layout constraints and that no information except interconnects must be inferred directly from the layout. The methodology also insures that the layout and routing tools will provide a reasonable starting point for the compactor, and that if all of the constraints can be satisfied then the circuit will operate within all of its high-level specifications. Low-level constraints fall into the following categories: 1) maximum cross-coupling, 2) shield preservation, and 3) symmetry enforcement. Each of these constraints will be considered in turn.  Maximum Cross-Coupling Constraint Graph Linear Progamming Final Layout Figure 1: Compaction algorithm which accommodates all analog constraints. The minimum design rule spacing requirements used when compacting digital layouts are often not sufficient for analog circuits because of capacitive cross-coupling between adjacent wires. When two critical wires are routed closely together, the capacitive coupling between them can seriously degrade the circuit performance. To prevent this detrimental coupling, additional constraints must be added during compaction to insure that the signal coupling does not cause the circuit to violate high-level performancespecifications. An example is shown in Figure 2. Without maximum cross-coupling constraints the compacted circuit may not meet the high-level performance requirements because of excessive coupling between nets 2 and 3.  Shield Preservation net 3 net 2 net 1 When routing an analog circuit it is sometimes impossible to reduce the coupling between two critical lines below the required maximum because of the circuit topology. In these cases the router may introduce a shield between the critically coupled nets. Special constraints must be passed from the router to the compactor to insure that shields are properly preserved. An example is shown in Figure 3.  Symmetry Requirements Figure 2: Coupling constraints. From left to right: original layout, layout compacted without coupling constraints, layout compacted with coupling constraints. Analog circuit designers frequently introduce topological symmetries in differential circuits to optimize offset, differential gain, and noise. Special care must be taken during the compaction step to insure that those symmetries are preserved. 3. ALGORITHM The use of the graph solution obtained in step 2 as the starting point for the LP solver in step 3 is the key to obtaining a significant speed-up in the solution of the LP, compared to previous approaches using pure LP [3]. In most observed practical cases the configuration yielded by step 2 is close enough to the final solution to require the LP solver to carry out only a small number of steps, yielding 20% to 50% reductions in cpu time over pure LP algorithms. The range of cases that can be managed with acceptable computational complexity is therefore significantly expanded. The details of using the constraint graph and LP solver together to enforce symmetries are reported in [5]. With an LP solver it is also possible to perform global wire length minimization, which is described in section 4.5. 2. ANALOG CONSTRAINTS Compaction is one of the last steps in the layout synthesis of analog integrated circuits, so the methodology used to synthesize the circuit layout determines the set of constraints which the analog layout compactor must resolve. Under our top-down, constraint-driven methodology, high-level performance specifications are mapped onto low-level constraints which are made available to the compactor. The design methodology insures that the compactor will be 3.1. Technology Constraints If only technology constraints are considered, mono-dimensionalcompaction can be solved efficiently with the constraint graph longest path algorithm [10] [1, Ch. 10]. The pattern of component connectivity and minimum separations required by the technology is described as a weighted, directed graph. Each component is represented in the graph by a node. Maximum and minimum spacing constraints of the form: x2 ? x1  K (1) are represented as edges of weight K . Note that K is negative for maximum spacing constraints. A simple plane sweep algorithm is used to generate the minimum spacing constraints. The longest path in this graph provides the minimum width (height). 3.2. Coupling Constraints High-level performance specifications can be mapped efficiently onto a set of low-level bounds on parasitics [11]. If every parasitic is kept below its bound, all performance constraints are guaranteed to be met. Bounds are set so as to be feasible, on the basis of reasonable estimates of parasitic values drawn from analysis of the layout. The algorithm to determine the minimum spacings between parallel wire segments is an iterative procedure: 1. Compute the longest path on the current graph. 2. Extract actual parasitics and compare to bounds. If all bounds are met, exit. Otherwise Figure 3: Shield requirements. From left to right: original layout, layout compacted without shield preservation constraints, layout compacted with shield-preservation constraints. 3. Compute the actual performance degradations, based on extracted parasitics and sensitivities. If performance constraints are met, exit. Otherwise net1 procedure modify-graph /* Add constraints to the graph accounting for capacitive decoupling /* In what follows j indicates the -th cross-coupling capacitance /* and jb is the bound on its maximum value. /* max is the maximum distance at which wire coupling is considered. is a constant depending on the model used to estimate parallel /* /* wire capacitances. /* Since this procedure is called only if some performance violation /* has been found, we know that at least one bound has been exceeded. b for each cross-coupling j such that j j: let j = current min. distance between any two parallel segments contributing to j if j max then  K C C j C  C >C metal1 plate poly Vss Lateral Shield C   j = j + K  (Cj ? Cjb ) for each pair Pi of parallel segments: let di = current minimum distance between the segments of pair Pi ; if di < j then Add a min-spacing constraint j between the segments Vertical Shield Figure 5: Horizontal and vertical shields. Vertical shield constraints are expressed as: xm1 = xm2 ym1 = ypoly endfor endif endfor (3 ) (4) where xm1 , ym1 = center of shielding sheet (usually on metal1). xm2 = location of upper conductor (usually metal2) in horizontal direc- Figure 4: Constraint generation for capacitive decoupling. tion. ypoly = location of lower conductor (usually poly) in vertical direction. 4. Modify the graph by increasing the spacings between critically coupled wire segments. Then go to step 1. In step 3 performance degradations are computed based on their sensitivities to each parasitic. This step substantially improves the quality of the algorithm’s output by permitting the layout to violate some parasitic bounds as long as high-level performance constraints are still satisfied. This situation can occur when one or more parasitics lay below their upper bounds, since the resultant performance improvement can offset the performance degradation due to the parasitics that violate their upper bounds. The algorithm thus guarantees that if a feasible spacing exists then it will be found, even if a non-feasible set of bounds is used by the previous steps in the synthesis process. In addition, area minimization is not artificially constrained by the exact set of parasitic bounds used in the previous steps; if an alternative set of bounds which yields more area improvement exists, it will be found and used. Pseudo-code for the graph modification procedure implemented at step 4 is shown in Figure 4. For each cross-coupling Cj exceeding its bound Cjb , j represents the distance between the closest parallel wire segments, namely the segments whose coupling provides the largest contribution to the overall capacitance. The distance between such segments is increased by an amount proportional to the parasitic bound violation. Notice that the distance is increased not only for the closest segments, but also for all the segment pairs whose distances are below j , after this parameter has been increased. The spacing step implemented by procedure modify-graph can introduce overconstraints, making the graph unsolvable. When an overconstraint is detected, a pruning procedure is invoked which relaxes the newly-added spacing constraints contained in positive weight loops. In such situations the task of decoupling the two nets is left to the remaining segment pairs. If a feasible solution involving the remaining segment pairs does not exist, then an error is reported because in that event at least one high-level performance constraint cannot be met. Figure 5 illustrates a lateral and a vertical shield created during routing to reduce coupling between critical nets. The spacing requirement for the lateral shield between two nets labeled 1 and 2 is: xshield  xnet1 AND xshield  xnet2: xshield = location of top of shield xnet1 = location of top of net 1 xnet2 = location of top of net 2 Note that shields are inserted between two nets by the router only when absolutely necessary, i.e. when increased spacing between the nets cannot sufficiently reduce the coupling. If the compactor were to remove those shields then the coupling control algorithm outlined in section 4.2 would report an overconstraint and fail. 3.4. Symmetry Constraints Consider two devices a and b between which a symmetry constraint is required with respect to a vertical axis s (the case with respect to a horizontal axis is perfectly dual). The constraints which must be enforced are: xa ? xs = xs ? xb ya = y b (5 ) (6 ) where xa = horizontal position of a xb = horizontal position of b ya = vertical position of a yb = vertical position of b and xs is the axis position. While the vertical constraint (6) can be easily resolved in the constraint graph, the horizontal constraint (5) has no graph representation and hence cannot be enforced. It is therefore introduced as a linear programming constraint: xa + xb ? 2xs = 0: (7) Symmetry constraints between complete wire segments can be reduced to object symmetry constraints on the wire endings. The horizontal constraints for the two wires labeled 1 and 2 in Figure 6 are formulated as: and x2;left ? xs = xs ? x1;right (8) x2;right ? xs = xs ? x1;left (9) where 3.3. Shield Constraints where metal2 net2 */ */ */ */ */ */ */ */ (2) x1;right = rightmost ending of wire segment 1 x1;left = leftmost ending of wire segment 1 x2;right = rightmost ending of wire segment 2 x2;left = leftmost ending of wire segment 2. In this fashion the problem of enforcing one wire symmetry constraint is reduced to satisfying two simple object symmetries. The wire symmetry constraints can thus be directly incorporated into the LP solver and handled in the same way as the device symmetry constraints. The formulation of the problem and the nature of the starting point allow us to achieve the optimum integer solution using linear programming (LP) xa xs xb x                                                                    x wire1 wire2 x x1,left x1,right                                    x2,right x2,left Figure 6: Wire symmetry constraints. rather than integer programming (IP). This simplification is possible because if the nodes of each symmetric pair are also constrained by design-rule minimum spacing requirements, all design-rule minimum spacing requirements are integers, and the leftmost node is located at an integer coordinate. Under these conditions the optimum solution to the LP problem contains only integer coordinates [5]. The LP solver used in this implementation is a simplex algorithm which finds the optimum solution by sequentially visiting the vertices of the polytope bounding the feasible region. Because of the nature of this search algorithm, providing the LP solver with a good initial solution significantly reduces the number of iterations with respect to the case of a random initial basis.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            4. WIRE LENGTH MINIMIZATION Figure 7: Layout of the circuit “ota” after compaction. Once a minimum area solution which satisfies all of the performance requirements is obtained, a secondary optimization is performed to minimize total interconnect length. This wire length minimization is performed by the LP solver so that the complete set of compaction constraints (including shield and symmetry constraints) can be considered during the optimization. The objective function is formulated as follows: minimize L = X xi;right ? xi;left ) ( i2fall wire segmentsg (10) where xi;right = rightmost ending of wire segment i xi;left = leftmost ending of wire segment i xi;right  xi;left This formulation of the objective function permits the LP solver to find the global minimum horizontal (vertical) wire length. While not required by the analog design methodology, optimizing on this secondary objective improves circuit performance by further reducing wire resistances and parasitic capacitances. One alternative approach [12] performs heuristic local wire length minimization, but no previous approach addresses the issue of global wire length minimization. This important secondary optimization is only possible in this implementation because of the use of the LP solver as a post-processor of the constraint-graph solution. 5. RESULTS Three example circuits were compacted with the new tool, SPARCS-A. Two are folded cascode CMOS operational transconductance amplifiers (OTA) and the third is a CMOS comparator. For “ota1,” high-level performanceconstraints were specified for unity gain bandwidth and low frequency gain. For “ota2,” constraints were specified for unity gain bandwidth, low frequency gain, and offset. For “comp,” a high-performance clocked comparator, the high-level constraints were decision time and offset. Circuit performance was measured by extracting all capacitances and resistances from the layout and running SPICE3 with level 2 transistor models. The “comp” circuit, which                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Figure 8: Layout of the circuit “comp” after compaction. ota1, 39 objects, 61 critical parasitics cpu time for compaction: 106.2 sec 2 performance constraints area wiring length unity gain bandwidth–nominal value maximum permissible degradation (constraint) actual degradation low frequency gain–nominal value maximum permissible degradation (constraint) actual degradation ota1 before after compaction compaction 102480 69918 (68.2%) 7333 5964 (81.3%) 6:015 MHz 180 kHz 180 kHz 165 kHz 63:42 dB = 1 dB 0:27 dB 0:32 dB ? + ? + ? ? + Table 1: Reduction and performance statistics for the circuit “ota1.” first appeared in [13], was simulated with a 1 pF load capacitance. Note that the final area which SPARCS-A reports for “comp” is almost identical to the area reported in [13]. Tables 1 and 2 report the area reduction and relevant performance statistics for “ota1” and “comp.” Figure 7 depicts the final layout of “ota1” and Figure 8 depicts the final layout of “comp.” From the tables it is apparent that performance-driven compaction respects the circuits’ high-level performance constraints and that significant reduction of chip area can be obtained in a very short CPU time. 5. CONCLUSIONS A performance-driven compaction algorithm which accommodates all layout constraints associated with analog design has been presented. Because of the manner in which the set of constraints is derived, the layout produced by the compactor is guaranteed to meet all of the circuit’s high-level analog performance requirements. The algorithm has been implemented and displays remarkable completeness and efficiency. When compared to previous approaches, the algorithm is the first to consider all of the analog constraints necessary to meet high-level circuit performance specifications. Furthermore, we have applied the algorithm to circuits far larger than those shown by previous approaches. The methodology performs well on practical circuits and is suitable for industrial applications. REFERENCES ota2, 23 objects, 69 critical parasitics cpu time for compaction: 44.3 sec 3 performance constraints area wiring length unity gain bandwidth–nominal value maximum permissible degradation (constraint) actual degradation low frequency gain–nominal value maximum permissible degradation (constraint) actual degradation offset voltage–nominal value maximum permissible degradation (constraint) actual degradation ota2 before after compaction compaction 40086 27250 (68.0%) 3870 2870 (74.2%) 6:015 MHz 180 kHz 188 kHz 143 kHz 63:42 dB = 1 dB 0:04 dB 0:04 dB 0 V 100 V 81 V 74 V ? + + ? + ? + ? + + Table 2: Reduction and performance statistics for the circuit “ota2.” [1] T. Lengauer, Combinatorial Algorithms for Integrated Circuit Layout, Applicable Theory in Computer Science. John Wiley & Sons, New York, 1990. [2] J. R. Burns and A. R. Newton, “SPARCS: A New Constraint-Based IC Symbolic Layout Spacer”, in Proc. IEEE Custom Integrated Circuits Conference, pp. 534– 539, 1986. [3] R. Okuda, T. Sato, H. Onodera and K. Tamaru, “An Efficient Algorithm for Layout Compaction Problem with Symmetry Constraints”, in Proc. IEEE ICCAD, pp. 148–151, November 1989. [4] C. S. Bamji and R. Varadarajan, “Hierarchical Pitchmatching Compaction Using Minimum Design”, in Proc. Design Automation Conference, pp. 311–317, June 1992. [5] E. Felt, E. Charbon, E. Malavasi and A. Sangiovanni-Vincentelli, “An Efficient Methodology for Symbolic Compaction of Analog IC’s with Multiple Symmetry Constraints”, in Proc. European Design Automation Conference, pp. 148–153, September 1992. [6] H. Chang, A. Sangiovanni-Vincentelli, F. Balarin, E. Charbon, U. Choudhury, G. Jusuf, E. Liu, E. Malavasi, R. Neff and P. Gray, “A Top-down, ConstraintDriven Design Methodology for Analog Integrated Circuits”, in Proc. IEEE Custom Integrated Circuits Conference, pp. 841–846, May 1992. [7] E. Charbon, E. Malavasi, U. Choudhury, A. Casotto and A. SangiovanniVincentelli, “A Constraint-Driven Placement Methodology for Analog Integrated Circuits”, in Proc. IEEE Custom Integrated Circuits Conference, pp. 2821–2824, May 1992. [8] E. Malavasi, U. Choudhury and A. Sangiovanni-Vincentelli, “A Routing Methodology for Analog Integrated Circuits”, in Proc. IEEE ICCAD, pp. 202–205, November 1990. comp, 26 transistors, 8 critical parasitics cpu time for compaction: 36.2 sec 2 performance constraints area wiring length decision time–nominal value maximum permissible degradation (constraint) actual degradation offset voltage–nominal value maximum permissible degradation (constraint) actual degradation comp before after compaction compaction 38982 20338 (52.5%) 2758 2144 (77.7%) 6:80 ns 3:00 ns 2:25 ns 2:17 ns 756 V 10 V 8 V 13 V + + + + + ? Table 3: Reduction and performance statistics for the circuit “comp.” [9] U. Choudhury and A. Sangiovanni-Vincentelli, “Constraint-Based Channel Routing for Analog and Mixed-Analog Digital Circuits”, in Proc. IEEE ICCAD, pp. 198–201, November 1990. [10] A. Mlynsky and C.-H. Sung, “Layout Compaction”, in Layout Design and Verification, ch. 6, pp. 199–235. T.Ohtsuki Ed., North Holland, 1986. [11] U. Choudhury and A. Sangiovanni-Vincentelli, “Constraint Generation for Routing Analog Circuits”, in Proc. Design Automation Conference, pp. 561–566, June 1990. [12] J. L. Burns, “Techniquesfor IC Symbolic Layout and Compaction”, Memorandum UCB/ERL M90/103, UCB, November 1990. [13] J. M. Cohn, D. J. Garrod, R. A. Rutenbar and L. R. Carley, “KOAN/ANAGRAM II: New Tools for Device-Level Analog Placement and Routing”, IEEE Journal of Solid State Circuits, vol. 26, n. 3, pp. 330–342, March 1991.