Inheritance diagram for oaBlockage:
Public Methods | |
oaBlockageType | getBlockageType () const |
oaBlockObject * | getOwner () const |
oaUInt4 | getNumPoints () const |
void | getPoints (oaPointArray &points) const |
oaFloat | getDensity () const |
void | setOwner (oaBlockObject *owner) |
void | setPushedDown (oaBoolean flag) |
void | setDensity (oaFloat density) |
oaBoolean | isPushedDown () const |
Public Types | |
enum | { dtIndex = oacBlockageDataType } |
Note: LayerBlockages (both oaLayerBlockage and oaLayerHalo) will never have a blockageType of oacPlacementBlockageType. AreaBlockages (both oaAreaBlockage and oaAreaHalo) always will be of type oacPlacementBlockageType, and this type is automatically set on oaAreaBlockages. For additional information on blockage types, see oaBlockageType.
All blockage types may be associated with an owner. The type of owner allowed depends on the type blockage . If a blockage has an associated owner, it will be moved and destroyed along with its owner.
The optional pushdown attribute indicates that this blockage has been pushed down from a higher level in the hierarchy. This is used in hierarchical designs where the blockage represents geometry that is in a parent block on top of a lower level block.
The screen, placement, and fill blockage types can have an optional density value, indicating the percentage of the area specified by the blockage that can be used by nets or fills respectively.
Blockages are not enforced by the database. The restrictions they specify are implemented by place and route tools.
The oaBlockage class can be observed by deriving from oaObserver<oaBlockage>.
|
This function returns the type of this blockage. The type determines which kinds of objects are being blocked. |
|
This function returns the value of the density attribute for this blockage as an integer percentage from 0 to 100. If a density attribute has not been set, the default value of 0 percent is returned. |
|
This function returns the number of points in the point array for this blockage. |
|
This function returns the owner of this blockage. |
|
This function fills out points with the points of this blockage. For halo blockages, the point array is determined by applying each offset to all edges of the corresponding type defined by the pointArray for the owner. For a rectilinear boundary there may be multiple such edges. The left and bottom offsets are subtracted, while the right and bottom offsets are added. When the owner of a halo blockage is an instance, the points in the blockage are calculated from the prBoundary of the instance's master. The instance's transform is included in the points for the halo blockage. When the owner of a halo blockage is a prBoundary, the blockage represents a master-based blockage that is the default for all instances of the master. Master-based blockages are defined within the design for the master, but are used in the design that instantiates the master. The application is responsible for applying the instance's transform to a master-based blockage. For area blockages, the points correspond directly to the point array specified for the blockage.
|
|
This function returns a boolean value that indicates if this blockage has been pushed down from a higher level block. |
|
This function sets the density attribute of this blockage. The density value is a percentage that must be between 0 and 100 inclusive. If density is not explicitly set, the density value defaults to 0.
|
|
This function sets the owner of this blockage to the specified blockObject.
|
|
This function sets or unsets the flag that indicates if this blockage has been pushed down from a cell higher in the view hierarchy.
|
|
|
Copyright © 2002 - 2010 Cadence Design Systems, Inc.
All Rights Reserved.