Some embodiments of the invention provide a method for constructing a convex polygon that encloses a set of points in a region. This method identifies a first polygon that encloses the set of points. It then identifies a second polygon that encloses the set of points. The method then specifies the convex polygon as the intersection of the first and second polygons.
A computer-aided thermal relief pad design system includes a depicting unit, a memory unit and a calculating unit. The depicting unit is used for depicting an elongated oval pattern of a thermal relief pad. The elongated oval pattern includes two perpendicular axes that intersect at a center point, and a plurality of terminals. The memory unit is used for storing formulae defining relationships between lengths of the two axes and coordinates of the terminals. The coordinates of the terminal define positions of the terminals relative to the center point. The calculating unit is used for calculating the coordinates of the terminals based on the formulae stored in the memory unit.
Some embodiments of the invention provide a routing method. The routing method receives a set of nets to route in a region of an integrated circuit ("IC") layout. The routing method defines routes for the nets in a manner that ensures that each segment of each route is not less than a minimum length that is required for the segment. In some embodiments, the routing method identifies a route for a net by performing one or more path search operations. Each path search operation identifies one set of path expansions that can be used to define a segment of a route for the net. A path search operation in some embodiments performs a viability check for each path expansion that it identifies, in order to ensure that any segment that might eventually result from an identified set of path expansions satisfies its minimum required length.