|
AMF-Placer
2.0
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
|
Site class for site on device. More...
#include <DeviceInfo.h>


Classes | |
| class | DeviceSitePinInfos |
| a class record the pin on the site boundary More... | |
Public Member Functions | |
| DeviceSite (std::string &name, std::string &siteType, DeviceElement *parentPtr, float locX, float locY, int clockRegionX, int clockRegionY, int id) | |
| Construct a new Device Site object. More... | |
| ~DeviceSite () | |
| void | setTile (DeviceElement *parentTilePtr) |
| DeviceTile * | getTile () |
| void | setParentSite (DeviceElement *parentSitePtr) |
| Set the Parent Site object. More... | |
| DeviceSite * | getParentSite () |
| void | addChildSite (DeviceElement *parentSitePtr) |
| Set the Parent Site object. More... | |
| std::vector< DeviceSite * > & | getChildrenSites () |
| void | setSiteLocation (float x, float y) |
| std::string & | getSiteType () |
| void | addChildBEL (DeviceBEL *child) |
| std::vector< DeviceBEL * > & | getChildrenBELs () |
| float | X () |
| float | Y () |
| DeviceSitePinInfos * | getSitePinInfos () |
| void | setSitePinInfos (DeviceSitePinInfos *_sitePins) |
| bool | isOccupied () |
| check whether this site is occupied by fixed element More... | |
| void | setOccupied () |
| bool | isMapped () |
| check whether this site is mapped to an design element (might be movable elements) More... | |
| void | setMapped () |
| void | resetMapped () |
| int | getSiteY () |
| int | getSiteX () |
| int | getClockRegionX () |
| int | getClockRegionY () |
| void | setClockRegion (ClockRegion *_clockRegion) |
| ClockRegion * | getClockRegion () |
| void | setClockHalfColumn (ClockColumn *_clockHalfColumn) |
| ClockColumn * | getClockHalfColumn () |
Public Member Functions inherited from DeviceInfo::DeviceElement | |
| DeviceElement (std::string &name, DeviceElement *parentPtr, DeviceElementType type, int id) | |
| DeviceElement (std::string &name, DeviceElementType type, int id) | |
| virtual | ~DeviceElement () |
| std::string & | getName () |
| DeviceElement * | getParentPtr () |
| DeviceElementType | getElementType () |
| int | getElementIdInParent () |
Private Attributes | |
| std::string | siteType |
| ClockRegion * | clockRegion = nullptr |
| ClockColumn * | clockHalfColumn = nullptr |
| std::vector< DeviceBEL * > | childrenBELs |
| DeviceSite * | parentSite |
| std::vector< DeviceSite * > | childrenSites |
| DeviceTile * | parentTile = nullptr |
| DeviceSitePinInfos * | sitePins = nullptr |
| float | locX |
| float | locY |
| int | clockRegionX = -1 |
| int | clockRegionY = -1 |
| int | siteY |
| int | siteX |
| bool | occupied = false |
| a flag that this site is occupied by fixed element More... | |
| bool | mapped = false |
| a flag that this site is mapped to an design element (might be movable elements) More... | |
Site class for site on device.
A site contains a combination of BEL. This class record the name/type/location/clockRegion of the site
Definition at line 162 of file DeviceInfo.h.
|
inline |
Construct a new Device Site object.
| name | the name of the site |
| siteType | a string for the type of the site |
| parentPtr | the tile that contains this site |
| locX | |
| locY | |
| clockRegionX | |
| clockRegionY | |
| id |
Definition at line 177 of file DeviceInfo.h.

|
inline |
Definition at line 207 of file DeviceInfo.h.
|
inline |
Definition at line 278 of file DeviceInfo.h.
Referenced by DeviceInfo::addBEL().

| void DeviceInfo::DeviceSite::addChildSite | ( | DeviceElement * | parentSitePtr | ) |
Set the Parent Site object.
it seems that some sites on FPGA might contain children site?
| parentSitePtr |
Definition at line 455 of file DeviceInfo.cc.
|
inline |
Definition at line 283 of file DeviceInfo.h.
|
inline |
Definition at line 262 of file DeviceInfo.h.
Referenced by DeviceInfo::addBEL().

|
inline |
Definition at line 377 of file DeviceInfo.h.
Referenced by PlacementInfo::addPUIntoClockColumn(), PlacementInfo::checkClockColumnLegalization(), PlacementInfo::getClockColumnUtilizationIncrease(), and PlacementInfo::printOutClockColumnLegalization().

|
inline |
Definition at line 367 of file DeviceInfo.h.
|
inline |
Definition at line 352 of file DeviceInfo.h.
Referenced by PlacementInfo::PlacementBinInfo::addSiteIntoBin(), and DeviceInfo::ClockRegion::ClockRegion().

|
inline |
Definition at line 357 of file DeviceInfo.h.
Referenced by DeviceInfo::ClockRegion::ClockRegion().

|
inline |
Definition at line 249 of file DeviceInfo.h.
|
inline |
Definition at line 297 of file DeviceInfo.h.
|
inline |
Definition at line 273 of file DeviceInfo.h.
Referenced by DeviceInfo::addSite(), and ParallelCLBPacker::PackingCLBSite::PackingCLBCluster::isPUTypeCompatibleWithSiteType().

|
inline |
Definition at line 346 of file DeviceInfo.h.
|
inline |
Definition at line 340 of file DeviceInfo.h.
|
inline |
Definition at line 235 of file DeviceInfo.h.
Referenced by DeviceInfo::ClockRegion::addSite(), and DeviceInfo::ClockRegion::ClockRegion().

|
inline |
check whether this site is mapped to an design element (might be movable elements)
Definition at line 327 of file DeviceInfo.h.
|
inline |
check whether this site is occupied by fixed element
Definition at line 312 of file DeviceInfo.h.
|
inline |
Definition at line 335 of file DeviceInfo.h.
|
inline |
Definition at line 372 of file DeviceInfo.h.
|
inline |
Definition at line 362 of file DeviceInfo.h.
Referenced by DeviceInfo::ClockRegion::addSite(), and DeviceInfo::ClockRegion::ClockRegion().

|
inline |
Definition at line 331 of file DeviceInfo.h.
Referenced by PlacementInfo::loadPlacementUnitInformation().

|
inline |
Definition at line 316 of file DeviceInfo.h.
Referenced by InitialPacker::loadFixedPlacementUnits(), and PlacementInfo::PlacementUnpackedCell::setLockedAt().

| void DeviceInfo::DeviceSite::setParentSite | ( | DeviceElement * | parentSitePtr | ) |
Set the Parent Site object.
it seems that some sites on FPGA might contain children site?
| parentSitePtr |
Definition at line 451 of file DeviceInfo.cc.
|
inline |
Definition at line 267 of file DeviceInfo.h.
|
inline |
Definition at line 301 of file DeviceInfo.h.
| void DeviceInfo::DeviceSite::setTile | ( | DeviceElement * | parentTilePtr | ) |
Definition at line 444 of file DeviceInfo.cc.
Referenced by DeviceSite().

|
inline |
Definition at line 288 of file DeviceInfo.h.
Referenced by DeviceInfo::ClockColumn::addSite(), DeviceInfo::ClockRegion::addSite(), PlacementInfo::PlacementBinInfo::addSiteIntoBin(), PlacementInfo::PlacementSiteBinInfo::addSiteIntoBin(), DeviceInfo::ClockRegion::ClockRegion(), CLBLegalizer::getDisplacement(), MacroLegalizer::getDisplacement(), PlacementInfo::getDisplacement(), CLBLegalizer::getHPWLChange(), MacroLegalizer::getHPWLChange(), ParallelCLBPacker::PackingCLBSite::getHPWLChangeForPU(), InitialPacker::loadFixedPlacementUnits(), operator<<(), ParallelCLBPacker::ripUpAndLegalizae(), PlacementInfo::PlacementUnpackedCell::setLockedAt(), siteSortCmp(), and ParallelCLBPacker::timingDrivenDetailedPlacement_swap().

|
inline |
Definition at line 292 of file DeviceInfo.h.
Referenced by DeviceInfo::ClockColumn::addSite(), DeviceInfo::ClockRegion::addSite(), PlacementInfo::PlacementBinInfo::addSiteIntoBin(), PlacementInfo::PlacementSiteBinInfo::addSiteIntoBin(), DeviceInfo::ClockRegion::ClockRegion(), CLBLegalizer::getDisplacement(), MacroLegalizer::getDisplacement(), PlacementInfo::getDisplacement(), CLBLegalizer::getHPWLChange(), MacroLegalizer::getHPWLChange(), ParallelCLBPacker::PackingCLBSite::getHPWLChangeForPU(), InitialPacker::loadFixedPlacementUnits(), operator<<(), ParallelCLBPacker::ripUpAndLegalizae(), PlacementInfo::PlacementUnpackedCell::setLockedAt(), siteSortCmp(), and ParallelCLBPacker::timingDrivenDetailedPlacement_swap().

|
private |
Definition at line 386 of file DeviceInfo.h.
Referenced by addChildBEL(), and getChildrenBELs().
|
private |
Definition at line 388 of file DeviceInfo.h.
Referenced by getChildrenSites().
|
private |
Definition at line 385 of file DeviceInfo.h.
Referenced by getClockHalfColumn(), and setClockHalfColumn().
|
private |
Definition at line 384 of file DeviceInfo.h.
Referenced by getClockRegion(), and setClockRegion().
|
private |
Definition at line 393 of file DeviceInfo.h.
Referenced by getClockRegionX().
|
private |
Definition at line 394 of file DeviceInfo.h.
Referenced by getClockRegionY().
|
private |
Definition at line 391 of file DeviceInfo.h.
Referenced by setSiteLocation(), and X().
|
private |
Definition at line 392 of file DeviceInfo.h.
Referenced by setSiteLocation(), and Y().
|
private |
a flag that this site is mapped to an design element (might be movable elements)
Definition at line 408 of file DeviceInfo.h.
Referenced by isMapped(), resetMapped(), and setMapped().
|
private |
a flag that this site is occupied by fixed element
Definition at line 402 of file DeviceInfo.h.
Referenced by isOccupied(), and setOccupied().
|
private |
Definition at line 387 of file DeviceInfo.h.
Referenced by getParentSite().
|
private |
Definition at line 389 of file DeviceInfo.h.
Referenced by getTile().
|
private |
Definition at line 390 of file DeviceInfo.h.
Referenced by getSitePinInfos(), setSitePinInfos(), and ~DeviceSite().
|
private |
Definition at line 383 of file DeviceInfo.h.
Referenced by getSiteType().
|
private |
Definition at line 396 of file DeviceInfo.h.
Referenced by DeviceSite(), and getSiteX().
|
private |
Definition at line 395 of file DeviceInfo.h.
Referenced by DeviceSite(), and getSiteY().