Inheritance diagram for oaPRBoundary:
Public Methods | |
oaBoolean | hasCoreBoxSpec () const |
oaBoolean | hasIOBox () const |
void | getCoreBoxSpec (oaCoreBoxSpec &spec) const |
void | getIOBox (oaBox &box) const |
void | setCoreBoxSpec (const oaCoreBoxSpec &spec) |
void | setIOBox (const oaBox &box) |
void | removeCoreBoxSpec () |
void | removeIOBox () |
oaCollection< oaBlockage, oaPRBoundary > | getBlockagesOwnedBy () const |
Static Public Methods | |
oaPRBoundary * | create (oaBlock *block, const oaPointArray &points, const oaString *edgeNames=NULL) |
oaPRBoundary * | find (const oaBlock *block) |
oaPRBoundary * | create (oaBlock *block, const oaPointArray &points, const oaStringArray &edgeNames) |
For cell placement that is directed by sites in oaRows, the oaPRBoundary determines the aspect of the cell that must align with the site. For placement near a placement blockage, it is the oaPRBoundary that is excluded from the blockage.
Some uses of the oaPRBoundary will be superseded by an oaSnapBoundary for non-rectangular oaPRBoundaries. The oaSnapBoundary will provide an unambiguous lower left corner that will control the exact placement location.
oaPRBoundaries for blocks and chips may have an associated oaCoreBoxSpec. This defines a rectangular grid of sites within the oaPRBoundary where cells may be placed. It can also have an IO box specified, which together with the outline of the core box indicates the area for the IO cells.
|
This function creates a new PR boundary object in the specified block with the specified attributes. The specified pointArray is checked to verify that there are at least three points and no collinear or coincident points. This function throws an exception if there is already a PR boundary in the specified block. Note that the number of edge names must be equal to the number of points or an oacBoundaryInvalidEdgeNames exception is thrown. Note that the number of edge names is assumed to be equal to the number of points. If the PR boundary edgeNames array is empty, the edges are automatically named using the form EDGE_n, where n starts at zero and increments by one. Note: The order of the points actually set on the oaPRBoundary is not guaranteed to be the same as the order of points passed to the create() function. Consequently, the order of points returned by a subsequent oaPRBoundary::getPoints() may be different from the order of points specified in points.
|
|
This function is deprecated. Refer to the oaPRBoundary::create function that takes a reference to an oaStringArray for the edgeNames. This function creates a new PR boundary object in the specified block with the specified attributes. The specified pointArray is checked to verify that there are at least three points and no collinear or coincident points. This function throws an exception if there is already a PR boundary exists in the specified block. If the boundary edgeNames are not supplied, the edges are automatically named, using the form EDGE_n, where n starts at zero and increments by one for each edge. Note: The order of the points actually set on the oaPRBoundary is not guaranteed to be the same as the order of points passed to the create() function. Consequently, the order of points returned by a subsequent oaPRBoundary::getPoints() may be different from the order of points specified in points.
|
|
This function searches the specified block looking for a oaPRBoundary. If found, the boundary is returned. Otherwise, NULL is returned.
|
|
This function returns a collection of derived blockages owned by this boundary. |
|
This function fills in the specified oaCoreBoxSpec with the CoreBox attributes for this oaPRBoundary. These define a grid of sites for placing lower level cells. See oaCoreBoxSpec for details.
|
|
This function fills in the given oaBox with the data for the IO box associated with this oaPRBoundary object.
|
|
This function returns a boolean indicating if an oaCoreBoxSpec has been set on this oaPRBoundary. See oaCoreBoxSpec for details. |
|
This function returns a boolean indicating if an ioBox has been set on this oaPRBoundary. See the explanation of IO box in the class description. |
|
This function removes the oaCoreBoxSpec from this oaPRBoundary object. See oaCoreBoxSpec for details. |
|
This function removes the IO box from this oaPRBoundary object. See the class description for details of the IO box. |
|
This function uses the specified oaCoreBoxSpec to set the CoreBox attributes for this oaPRBoundary. These define a grid of sites for placing lower level cells. See oaCoreBoxSpec for details. An exception is thrown if the oaSiteDef in the oaCoreBoxSpec is from a technology database that is not included in the referenced graph of technology databases for the technology database currently bound to the design containing the boundary.
|
|
This function stores the contents of the given IO box on the oaPRBoundary object. See the class description for details of the IO box.
|
Copyright © 2002 - 2010 Cadence Design Systems, Inc.
All Rights Reserved.