Method and mechanism for managing hierarchical data for implementing region query
First Claim
1. A method implemented with a processor for managing hierarchical layout data, comprising:
- using at least the processor to performing a process, the process comprising;
configuring a set of hierarchical grids for the hierarchical layout of an electronic design, whereinthe set of hierarchical grids comprises of grid-cells having a larger grid size at a higher hierarchical level of a hierarchy than grid-cells at a lower hierarchical level to represent layout objects; and
assigning a layout object canonically to a specific hierarchical grid cell level based at least in part upon a size of the layout object and a grid size of the specific hierarchical grid cell level in the electronic design by using a canonical assignment.
0 Assignments
0 Petitions
Accused Products
Abstract
Disclosed is an improved approach for managing, tracking, and querying hierarchical data in layouts. According to some aspects, hierarchical grids are employed utilizing a scheme that organizes physical objects into a set of gradually refined grids that avoids the need to maintain duplicates while enhancing the desirable characteristics of existing schemes, including fast query times, fast data structure initialization and reduced memory footprint. Each grid-cell may be further partitioned into sub-containers to more efficiently provide space pruning during query operations. According to one approach, structures maintained to track existence of objects in a descendent hierarchy.
-
Citations
56 Claims
-
1. A method implemented with a processor for managing hierarchical layout data, comprising:
-
using at least the processor to performing a process, the process comprising; configuring a set of hierarchical grids for the hierarchical layout of an electronic design, wherein the set of hierarchical grids comprises of grid-cells having a larger grid size at a higher hierarchical level of a hierarchy than grid-cells at a lower hierarchical level to represent layout objects; and assigning a layout object canonically to a specific hierarchical grid cell level based at least in part upon a size of the layout object and a grid size of the specific hierarchical grid cell level in the electronic design by using a canonical assignment. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method implemented with a processor for managing hierarchical layout data, comprising:
-
using at least the processor to performing a process, the process comprising; configuring a set of hierarchical grids for an electronic design, wherein the set of hierarchical grids comprises grid-cells having a larger grid size at a higher hierarchical level at of a hierarchy than other grid-cells at a lower hierarchical level to represent layout objects; and assigning a layout object canonically to a specific hierarchical grid cell level by using at least a canonical assignment with consideration of a size of the layout object and a grid size of the specific hierarchical grid cell level but without consideration of any other object in the electronic design. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. A computer program product embodied on a non-transitory computer usable medium, the non-transitory computer readable medium having stored thereon a sequence of instructions which, when executed by a processor causes the processor to execute a method for managing hierarchical layout data, the method comprising:
-
configuring a set of hierarchical grids for the hierarchical layout of an electronic design, wherein the set of hierarchical grids comprises grid-cells having a larger grid size at different levels a higher hierarchical level of a hierarchy than grid-cells at a lower hierarchical level to represent layout objects; and assigning a layout object canonically to a specific hierarchical grid cell level based at least in part upon a size of the layout object and a grid size of the specific hierarchical grid cell level in the electronic design by using a canonical assignment. - View Dependent Claims (36, 37, 38, 39, 40)
-
-
41. A computer program product embodied on a non-transitory computer usable medium, the non-transitory computer readable medium having stored thereon a sequence of instructions which, when executed by a processor causes the processor to execute a method for managing hierarchical layout data, the method comprising:
-
configuring a set of hierarchical grids for an electronic design, wherein the set of hierarchical grids comprise grid-cells having a larger grid size at a higher hierarchical level of a hierarchy than other grid-cells at a lower hierarchical level to represent layout objects; and assigning a layout object canonically assigned to a specific hierarchical grid cell level by using at least a canonical assignment with consideration of a size of the layout object and a grid size of the specific hierarchical grid cell level but without consideration of any other object in the electronic design. - View Dependent Claims (42, 43, 44, 45)
-
-
46. A system for managing hierarchical layout data, comprising:
-
a processor; a memory for holding programmable code, wherein the programmable code includes instructions which, when executed by the processor, cause the processor to; configure a set of hierarchical grids for the hierarchical layout of an electronic design, wherein the hierarchical grids comprise grid-cells having a larger grid size at a higher hierarchical level of a hierarchy than grid-cells at a lower hierarchical level to represent layout objects; and assign a layout object canonically to a specific hierarchical grid cell level based at least in part upon size of the layout object and a grid size of the specific hierarchical grid cell level in the electronic design by using a canonical assignment. - View Dependent Claims (47, 48, 49, 50, 51)
-
-
52. A system for managing hierarchical layout data, comprising:
-
a processor; a memory for holding programmable code, wherein the programmable code includes instructions which, when executed by the processor, cause the processor to; configure a set of hierarchical grids for an electronic design, wherein the hierarchical grids comprise grid-cells having a larger grid size at a higher hierarchical level of a hierarchy than other grid-cells at a lower hierarchical level to represent layout objects, and assign a layout object canonically to a specific hierarchical grid cell level by using at least a canonical assignment with consideration of a size of the layout object and a grid size of the specific hierarchical grid cell level but without consideration of any other object in the electronic design. - View Dependent Claims (53, 54, 55, 56)
-
Specification