Legalization of VLSI circuit placement with blockages using hierarchical row slicing
First Claim
1. A method of legalizing a placement of logic cells in an integrated circuit design, comprising:
- receiving an input placement having a plurality of blockages and a plurality of movable logic cells, by executing first program instructions in a computer system;
selectively classifying the blockages into at least two different sets based on size, wherein blockages in a first set of the at least two different sets are larger than blockages in a second set of the at least two different sets, by executing second program instructions in the computer system;
relocating one or more of the movable logic cells to coarse regions defined between adjacent blockages in the first set to remove overlaps among the movable logic cells and the blockages in the first set without regard to the blockages in the second set, by executing third program instructions in the computer system; and
thereafter relocating one or more of the movable logic cells to fine regions defined between adjacent blockages in the second set to remove all cell overlaps, by executing fourth program instructions in the computer system.
3 Assignments
0 Petitions
Accused Products
Abstract
A hierarchical method of legalizing the placement of logic cells in the presence of blockages selectively classifies the blockages into at least two different sets based on size (large and small). Movable logic cells are relocated first among coarse regions between large blockages to remove overlaps among the cells and the large blockages without regard to small blockages (while satisfying capacity constraints of the coarse regions), and thereafter the movable logic cells are relocated among fine regions between small blockages to remove all cell overlaps (while satisfying capacity constraints of the fine regions). The coarse and fine regions may be horizontal slices of the placement region having a height corresponding to a single circuit row height of the design. Cells are relocated with minimal perturbation from the previous placement, preserving wirelength and timing optimizations. The legalization technique may utilize more than two levels of granularity with multiple relocation stages.
-
Citations
18 Claims
-
1. A method of legalizing a placement of logic cells in an integrated circuit design, comprising:
-
receiving an input placement having a plurality of blockages and a plurality of movable logic cells, by executing first program instructions in a computer system; selectively classifying the blockages into at least two different sets based on size, wherein blockages in a first set of the at least two different sets are larger than blockages in a second set of the at least two different sets, by executing second program instructions in the computer system; relocating one or more of the movable logic cells to coarse regions defined between adjacent blockages in the first set to remove overlaps among the movable logic cells and the blockages in the first set without regard to the blockages in the second set, by executing third program instructions in the computer system; and thereafter relocating one or more of the movable logic cells to fine regions defined between adjacent blockages in the second set to remove all cell overlaps, by executing fourth program instructions in the computer system. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer system comprising:
-
one or more processors which process program instructions; a memory device connected to said one or more processors; and said program instructions residing in said memory device for legalizing a placement of logic cells in an integrated circuit design by receiving an input placement having a plurality of blockages and a plurality of movable logic cells, selectively classifying the blockages into at least two different sets based on size, wherein blockages in a first set of the at least two different sets are larger than blockages in a second set of the at least two different sets, relocating one or more of the movable logic cells to coarse regions defined between adjacent blockages in the first set to remove overlaps among the movable logic cells and the blockages in the first set without regard to the blockages in the second set, and thereafter relocating one or more of the movable logic cells to fine regions defined between adjacent blockages in the second set to remove all cell overlaps. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer program product comprising:
-
a computer-readable storage medium; and program instructions residing in said storage medium to cause a computer to perform;
legalizing a placement of logic cells in an integrated circuit design by receiving an input placement having a plurality of blockages and a plurality of movable logic cells, selectively classifying the blockages into at least two different sets based on size, wherein blockages in a first set of the at least two different sets are larger than blockages in a second set of the at least two different sets, relocating one or more of the movable logic cells to coarse regions defined between adjacent blockages in the first set to remove overlaps among the movable logic cells and the blockages in the first set without regard to the blockages in the second set, and thereafter relocating one or more of the movable logic cells to fine regions defined between adjacent blockages in the second set to remove all cell overlaps. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification