Claims
- 1. For a routing area having a plurality of components positioned thereon, a method for determining an active region for said routing area, comprising:
determining a set of sweep lines for a routing area having a plurality of component tiles positioned thereon, each one of said set of sweep lines extending along an upper or lower edge of at least one of said plurality of components; determining component tile density along each one of said set of sweep lines; and generating an active region for said routing area from said component tile density along each one of said set of sweep lines.
- 2. The method of claim 1, wherein each one of said plurality of component tiles has a lower edge, an upper edge and a horizontal span and wherein determining component tile density along each one of said set of sweep lines further comprises:
upon encountering a lower edge of a component tile along a sweep line, incrementing component tile density by a pre-selected value along said horizontal span thereof; and upon encountering an upper edge of a component tile along a sweep line, decrementing component tile density by said pre-selected value along said horizontal span thereof.
- 3. The method of claim 1, wherein determining a set of sweep lines for a routing area further comprises arranging said sweep lines in an ascending order relative to an axis of said routing area.
- 4. The method of claim 3, wherein:
said routing area has a lower edge, an upper edge, a first side edge and a second side edge; each one of said plurality of component tiles has a lower edge, an upper edge and a horizontal span; and determining component tile density along each one of said set of sweep lines further comprises:
selecting, from said set of sweep lines, a first sweep line for which said component tile density is to be determined, said selected sweep line being generally aligned with said lower edge of said routing area; setting said component tile density along said selected sweep line to zero at said first side edge of said routing area; performing a sweep across said routing area along said selected sweep line; for each lower edge or interior of a component tile encountered during said sweep across said routing area along said selected sweep line, incrementing component tile density by said pre-selected value along said horizontal span of said encountered tile; and
for each upper edge of a component tile encountered during said sweep across said routing area along said sweep line, decrementing component tile density by said pre-selected value along said horizontal span of said encountered tile.
- 5. The method of claim 4, wherein determining component tile density along each one of said set of sweep lines further comprises:
selecting, from said set of sweep lines, a next sweep line for which said component tile density is to be determined, said next selected sweep line being next in said ascending order along said longitudinal axis of said area; setting said component tile density along said next selected sweep line to match said component tile density for said selected sweep line; performing a sweep across said routing area along said next selected sweep line; for each lower edge of a component tile encountered during said sweep across said routing area along said next selected sweep line, incrementing component tile density by a pre-selected value along said horizontal span of said encountered tile; and for each upper edge of a component tile encountered during said sweep across said routing area along said next selected sweep line, decrementing component tile density by said pre-selected value along said horizontal span of said encountered tile.
- 6. The method of claim 5, and further comprising repeating each part of claim 5 for each remaining one of said set of sweep lines not generally aligned with an upper edge of said routing area.
- 7. The method of claim 6, and further comprising:
selecting, from said set of sweep lines, a last sweep line for which said component tile density is to be determined, said selected sweep line being generally aligned with said upper edge of said routing area; setting said component tile density along said selected sweep line to match said component tile density for an uppermost one of said sweep lines below said upper edge of said routing area; performing a sweep across said routing area along said selected sweep line; for each lower edge or interior of a component tile encountered during said sweep across said routing area along said selected sweep line, incrementing component tile density by a preselected value along said horizontal span of said encountered tile; and for each upper edge of a component tile encountered during said sweep across said routing area along said sweep line, decrementing component tile density by said pre-selected value along said horizontal span of said encountered tile.
- 8. A computer system, comprising:
a memory subsystem; a processor subsystem; a bus subsystem, said bus subsystem coupling said memory subsystem and said processor subsystem for the exchange of signals therebetween; and a VLSI circuit design module, said VLSI circuit design module stored in said memory subsystem and executable by said processor subsystem; said VLSI circuit design module comprising:
means for configuring a routing area for a layer of a VLSI circuit design, said routing area having a plurality of component tiles positioned thereon; means for determining an active region for said routing area; and means for reconfiguring said plurality of component tiles positioned in said routing area into a maximal arrangement; wherein, in determining said maximal arrangement of said plurality of component tiles, said reconfiguring means using said active region determined by said active region determination means.
- 9. The computer system of claim 8 wherein said means for determining an active region for said routing area further comprises:
means for generating a plurality of sweep line which extend longitudinally across said region of said routing area; means for determining component tile density along each one of said plurality of generated sweep lines; and means for determining said active region for said routing area from said determined component tile density along each one of said plurality of generated sweep lines.
- 10. A computer program product, comprising:
a computer usable medium; and computer readable program code, encoded in said computer usable medium, for performing active region management for a routing area having a plurality of component tiles positioned thereon, said active region management performed utilizing component tile density.
- 11. The computer program product of claim 10 and further comprising computer readable program subcode, encoded in said computer usable medium, for determining an active region of a routing area having a plurality of component tiles positioned thereon from component tile density along a plurality of sweep lines which longitudinally extend across said routing area.
- 12. A computer program product, comprising:
a computer usable medium; and computer readable program code, encoded in said computer usable medium and executable to: (1) determine a set of stop points for an area having a plurality of components positioned therein, (2) determine component tile density along a sweep line generally aligned with a first one of said set of stop points, and (3) redetermine said component tile density along a sweep line generally aligned with a next one of said set of stop points using said component tile density for said first one of said set of stop points.
- 13. The computer program product of claim 12, wherein:
each one of said set of stop points is aligned with a lower edge of said routing area, an upper or lower edge of at least one of said plurality of components or an upper edge of said routing area; and said computer readable program code is further executable to redetermine said component tile density along said sweep lines in an ascending order along an axis of said routing area.
- 14. A computer system, comprising:
a memory subsystem; a processor subsystem; a bus subsystem, said bus subsystem coupling said memory subsystem and said processor subsystem for the exchange of signals therebetween; and an active region management module, said active region management module stored in said memory subsystem and executable by said processor subsystem to determine a set of stop points for a routing area having a plurality of components positioned therein and to determine component tile density for a set of sweep lines, each one of said set of sweep lines being generally aligned with a corresponding one of said set of stop points.
- 15. The computer system of claim 14, wherein said active region management module is further executable by said processor subsystem to determine component tile density for a next one of said set of sweep lines using said component tile density previously determined for a prior one of said set of sweep lines.
CROSS REFERENCE TO RELATED APPLICATION
[0001] This application is related to U.S. patent application Ser. No. ______ (Atty. Docket No. 5181-89400) entitled “A Maximal Tile Generation Technique and Associated Methods of Designing and Manufacturing VLSI Circuits”, filed on even date herewith, assigned to the Assignee of the present application and hereby incorporated by reference as if reproduced in its entirety.