rm Stockmeyer algorithm to compute the minimum area of the floor-
plan. In case of vertical cut, the width is increasing and the height is decreasing in the dimension list. In case of horizontal cut, the width is decreasing and the height is increasing. (a) Visit node a: Since the cut orientation is vertical; L = {(2, 3), (3, 2)} R = {(2, 4), (4, 2)} (i) Join l 1 = (2, 3) and r 1 = (2, 4): we get (2 + 2, max{3, 4}) = (4, 4). Since the maximum is from R, we join l 1 and r 2 next. (ii) Join l 1 = (2, 3) and r 2 = (4, 2): we get (2 + 4, max{3, 2}) = (6, 3). Since the maximum is from L, we join l 2 and r 2 next. (iii) Join l 2 = (3, 2) and r 2 = (4, 2): we get (3 + 4, max{2, 2}) = Thus, the resulting dimensions are {(4, 4), (6, 3), (7, 2)}.66 PRACTICAL PROBLEMS IN VLSI PHYSICAL DESIGN AUTOMATION (b) Visit node b: Since the cut orientation is horizontal; 2. PRACTICAL PROBLEMS IN VLSI PHYSICAL DESIGN AUTOMATION Normalized Polish Expression Wong and Liu presented a method named Normalized Polish Expression [Wong and Liu, 1986] to represent slicing floorplans. Given a binary tree that represents a slicing floorplan of n blocks, the polish expression of this tree is a string of length 2n − 1 that consists of the block numbers and H (for horizontal cut) and V (for vertical cut). The numbers in the expression are called operands, and the H and V are called operators. The authors showed that the normalized polish expression corresponds to the post-order traversal of the slicing tree and satisfies the following properties: (i) each block appears exactly once in the string, (ii) the number of operands is larger than the num- ber of operators at all positions in the string, which is called the “balloting property” in the paper, and (iii) there are no consecutive operators of the same type in the string, which is called the “normality property.” This normalized polish expression has 1-to-1 correspondence to a slicing floorplan so that we can obtain a unique slicing floorplan from a normalized polish expression, vice versa. The main advantage of normalized polish expression is twofold. First, we can easily perturb the current slicing floorplanning solution to obtain a new neighboring solution. The authors provided three kinds of “moves” to perturb the normalized polish expression so that the resulting expression remains nor- malized and satisfies the balloting property. This is helpful when we utilize an iterative improvement type of optimization method such as Simulated Anneal- ing [Kirkpatrick et al., 1983]. Second, we can quickly evaluate the quality of the given polish expression, which is done by computing the location of the blocks in the floorplan with a O(n log n) bottom-up traversal of the corre- sponding slicing tree. We can then obtain the area of the floorplan as well as the total wirelength. This is again important for Simulated Annealing-based optimization because this quick evaluation allows us to explore more solutions and increase the chance of finding high quality solutions.