Heterogeneous B*-trees for Analog Placement with Symmetry and Regularity Considerations P. Chou, H. Ou and Y. Chang National Taiwan University Taipei, Taiwan ICCAD 2011 Outline Introduction Preliminaries Problem Formulation Heterogeneous B*-tree Representation Simultaneous Symmetry and Regularity Handling The Placement Method Experimental Results Conclusions Introduction Symmetry constraints and regular structures are two major considerations for expert analog layout designer. Symmetry constraints are specified to place matched modules symmetrically with respect to some common axes to reduce unwanted electrical effects. Introduction Regular structures like row or arrays are also a common design style for analog designers. Regular structures can benefit the routability. The row structures makes the wire crossing from left to right shorter and with fewer bends, which can improve both routability and wirelength. A placement without a regular structure A placement with a regular structure Introduction Preliminaries Review of the automatically symmetric-feasible B*-tree (ASF-B*-tree) ASF-B*-tree Preliminaries Review of the Hierarchical B*-trees A hierarchical B*-tree is designed to represent a cluster of modules such as symmetry islands. Hierarchical nodes are used in a B*-tree to model the ASF-B*tree for symmetry groups. HB*-tree Problem Formulation The Analog Placement Problem: Inputs: A set of modules A netlist indicating the connection of modules A set of placement constraints Outputs: A placement of all modules for minimizing the total area and wirelength such that no modules overlap with each other and the placement result satisfies all specified symmetry constraints. Heterogeneous B*-tree Representation A heterogeneous B*-tree representation with two kinds of hierarchical nodes: symmetry nodes and regularity nodes. Regularity nodes are formed by a set of nodes representing modules of the same dimensions. Regularity nodes contains all the nodes in the corresponding regular structure. The possible tree structures in regularity nodes are predefined to have a regular packing result such as row or arrays. Heterogeneous B*-tree Representation B*-tree to store a row structure B*-tree to store an array structure Simultaneous Symmetry and Regularity Handling Regular Structures with Symmetry and Nonsymmetry Modules Symmetry modules can form regular structures on the boundaries of symmetry islands with non-symmetry modules if they have similar dimensions. Simultaneous Symmetry and Regularity Handling A case that a regular structure is on the top boundary of a symmetry group. The Placement Method Module Classification Since the perturbing step in the annealing scheme is usually executed for a large number of times. Module dimension classification is needed and is performed only once in this preprocessing step. After classification, modules of the same size are marked as the same category for selection to form regular structures during perturbation. Regular-Structure Probability Assignments The probability distribution for changing the size of a node during perturbation should not be uniform. The score sk of a regularity group of size k can be computed as follows: m: the number of possible structures for a regularity node of size k. Wi and Hi: the width and height of the regular structure i. Regular-Structure Probability Assignments Regular-Structure Probability Assignments The probability for a node n to become a size-t regularity node is calculated as follows: d: the maximum size change defined manually The denominator is the sum of all scores of the possible sizes within the range [k-d, k+d]. New Types of Moves Aside from the original three moves of the B*-tree: Swap Rotate Delete and insert The new moves are listed below: Merge/Split Reshape New Types of Moves Merge/Split Reshape The aspect ratio of the regular structure inside the node is changed. If a regularity node contains a 1X4 row at first, it can become a 2X2 array. Regularity Cost The corner node is referred to as a point that is touched by at least one corner of a module. A corner node with k coincident corners is a kcorner node. 2-corner node Regularity Cost Corner nodes can be classified into six categories: Cost: 2/3 2/3 1 1 2/3 1/2 #corner nodes: C4 C2 C1-1 C3 C2 C1-2 Regularity Cost Regularity Cost The Placement Method The total cost function C: A: area L: wirelength R: regularity cost Experimental Results Experimental Results Experimental Results Conclusions This paper proposed a heterogeneous B*-tree representation to consider symmetry and regularity simultaneously. Experiments based on both placement and global routing results have shown that the method is efficient.