oaCoreBoxSpec Class Reference
Detailed Description
A core box is a rectangular area within a block that specifies an array of sites where cells may be placed. It provides a similar floorplanning capability to a set of oaRow objects, but oaCoreBoxes define a series of row locations in a single object and provide options for controlling the relative placement and orientation of those rows.
The core box represents the limits of the core within the given design. At the full chip level, there will be rows of IO pads and peripheral routing that are outside the core box. For a block, the core box is closer in size to the oaPRBoundary for the design.
The core box defines a set of virtual rows that run in either a horizontal or vertical direction. The size of each of these rows is determined by the size of the associated site and the bounding box set on the core box. Virtual rows defined by a core box and explicit rows defined by oaRows can coexist, where the explicit rows typically handle special cases like flip chip I/O's, while the virtual rows flood the core area with the regular standard cells. Explicit oaRow objects for regular standard cells should match the virtual row locations defined by the core box, but the database does not require or enforce this.
The rows are numbered upwards from 0, with the 0th row being the bottom- or left-most row, depending upon whether the core is horizontal or vertical. The bottom or left edge of the 0th row is aligned to the corresponding edge of the core box. Space can be reserved after every row, after every even (0th, 2nd, ...) after every odd (1st, 3rd, ...) row, or all rows can be abutted. The spacing between virtual rows is given by the core row spacing value. Every even row can be flipped, every odd row can be flipped, or none of the rows can be flipped. In unflipped rows, the site orientation is oacR0 for both horizontal and vertical rows. For flipped horizontal rows, the site orientation is oacMX, while for flipped vertical rows, the site orientation is oacMY.
Constructor & Destructor Documentation
oaCoreBoxSpec::oaCoreBoxSpec |
( |
|
) |
[inline] |
|
|
This function constructs an oaCoreBoxSpec class with the default parameter values. These are: a zero-area bounding box at the origin; horizontal rows; no spacing; no flipping; and no site definition. |
oaCoreBoxSpec::oaCoreBoxSpec |
( |
const oaBox & |
bBox |
) |
[inline] |
|
|
This function constructs an oaCoreBoxSpec instance setting its bounding box to the supplied value. All other attributes are set to default values. |
oaCoreBoxSpec::oaCoreBoxSpec |
( |
const oaCoreBoxSpec & |
coreBoxSpec |
) |
|
|
|
This is the copy constructor for the oaCoreBoxSpec object.
- Parameters:
-
coreBoxSpec | The coreBoxSpec to copy. |
|
Member Function Documentation
oaBox & oaCoreBoxSpec::getBBox |
( |
|
) |
[inline] |
|
|
This function returns a reference to the bounding box of this oaCoreBoxSpec |
oaUInt4 oaCoreBoxSpec::getNumRows |
( |
|
) |
const |
|
|
This function returns the number of rows completely contained within the core box. |
|
This function fills out the given bounding box with the dimension of the given row number. The row number has to be within this core box, or an exception will be thrown. A site definition must exist to obtain the site dimensions
- Parameters:
-
rowNum | The row number. |
bBox | The bounding box of the specified row. |
- Exceptions:
-
|
|
This function returns the row flip type. |
oaUInt4 oaCoreBoxSpec::getRowSpacing |
( |
|
) |
const [inline] |
|
|
This function returns the row spacing. |
|
This function returns the row spacing type. |
oaSiteDef * oaCoreBoxSpec::getSiteDef |
( |
|
) |
const [inline] |
|
|
This function returns the site definition associated with this core box. If the site definition is not bound, NULL is returned. Binding of a site definition happens at the time when a core box is set on an oaPRBoundary. |
const oaString & oaCoreBoxSpec::getSiteDefName |
( |
|
) |
const [inline] |
|
|
This function returns a constant reference to the site name in this core box. |
void oaCoreBoxSpec::getSiteDefName |
( |
oaString & |
name |
) |
[inline] |
|
|
This function fills in the site name associated with this core box.
- Parameters:
-
|
oaBoolean oaCoreBoxSpec::isRowHorizontal |
( |
|
) |
const [inline] |
|
|
This function returns true if the row direction is horizontal. |
oaBoolean oaCoreBoxSpec::operator!= |
( |
const oaCoreBoxSpec & |
cbs |
) |
const |
|
|
This is the not-equal-to comparison operator function for the oaCoreBoxSpec object.
- Parameters:
-
cbs | The oaCoreBoxSpec to compare to this oaCoreBoxSpec. |
|
oaCoreBoxSpec & oaCoreBoxSpec::operator= |
( |
const oaCoreBoxSpec & |
CoreBoxSpec |
) |
|
|
|
This function compares this core box with the given core box.
- Parameters:
-
CoreBoxSpec | The core box to compare with. |
|
oaBoolean oaCoreBoxSpec::operator== |
( |
const oaCoreBoxSpec & |
cbs |
) |
const |
|
|
This is the equal-to comparison operator function for the coreBoxSpec.
- Parameters:
-
cbs | The oaCoreBoxSpec to compare to this oaCoreBoxSpec. |
|
void oaCoreBoxSpec::setBBox |
( |
const oaBox & |
bBox |
) |
[inline] |
|
|
This function sets the bounding box of this core box within its design. This determines the size of the entire core box array. |
void oaCoreBoxSpec::setRowFlipType |
( |
oaRowFlipType |
flip |
) |
[inline] |
|
|
This function sets the row flip type for this core box.
- Parameters:
-
|
void oaCoreBoxSpec::setRowHorizontal |
( |
oaBoolean |
isHorizontal |
) |
[inline] |
|
|
This function sets the row direction for this core box.
- Parameters:
-
isHorizontal | Set to true if the intended direction is horizontal. |
|
void oaCoreBoxSpec::setRowSpacing |
( |
oaOffset |
spacing |
) |
[inline] |
|
|
This function sets the row spacing for this core box.
- Parameters:
-
|
|
This function sets the row spacing type for this core box.
- Parameters:
-
type | The row spacing type. |
|
void oaCoreBoxSpec::setSiteDef |
( |
const oaString & |
name |
) |
[inline] |
|
|
This function sets the site name for this core box.
- Parameters:
-
|
void oaCoreBoxSpec::setSiteDef |
( |
oaSiteDef * |
siteDef |
) |
|
|
|
This function sets the site definition for this core box.
- Parameters:
-
siteDef | The site definition. |
|
The documentation for this class was generated from the following files:
Return to top of page
Copyright © 2002 - 2010 Cadence Design Systems, Inc.
All Rights Reserved.