AMF-Placer  2.0
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
PlacementInfo::PlacementSiteBinInfo Class Reference

Site bin for global placement for some specific Site types. More...

#include <PlacementInfo.h>

Public Member Functions

 PlacementSiteBinInfo (float leftX, float rightX, float bottomY, float topY, int row, int column)
 
void addSiteIntoBin (DeviceInfo::DeviceSite *curSite)
 
 ~PlacementSiteBinInfo ()
 
bool inRange (float x, float y)
 
bool inRangeY (float y)
 
void addMacroSite (PlacementMacro *curMacro, float occupationAdded)
 
void reset ()
 
std::vector< PlacementMacro * > & getMacros ()
 
float getUtilizationRate ()
 
float getUtilization ()
 
float getCapacity ()
 
bool isOverflow ()
 
bool canAddMore (int BELAmo)
 
void setYX (int i, int j)
 
int Y ()
 
int X ()
 

Private Attributes

std::vector< DeviceInfo::DeviceSite * > correspondingSites
 
std::vector< PlacementMacro * > macros
 
int capacity = 0
 
float utilization = 0
 
float binShrinkRatio = 1.0
 
float leftX
 
float rightX
 
float topY
 
float bottomY
 
float eps = 1e-5
 
int row
 
int column
 

Detailed Description

Site bin for global placement for some specific Site types.

Currently it is not used in the implementation.

Definition at line 2574 of file PlacementInfo.h.

Constructor & Destructor Documentation

◆ PlacementSiteBinInfo()

PlacementInfo::PlacementSiteBinInfo::PlacementSiteBinInfo ( float  leftX,
float  rightX,
float  bottomY,
float  topY,
int  row,
int  column 
)
inline

Definition at line 2577 of file PlacementInfo.h.

◆ ~PlacementSiteBinInfo()

PlacementInfo::PlacementSiteBinInfo::~PlacementSiteBinInfo ( )
inline

Definition at line 2587 of file PlacementInfo.h.

Member Function Documentation

◆ addMacroSite()

void PlacementInfo::PlacementSiteBinInfo::addMacroSite ( PlacementMacro curMacro,
float  occupationAdded 
)
inline

Definition at line 2603 of file PlacementInfo.h.

◆ addSiteIntoBin()

void PlacementInfo::PlacementSiteBinInfo::addSiteIntoBin ( DeviceInfo::DeviceSite curSite)

Definition at line 1634 of file PlacementInfo.cc.

Here is the call graph for this function:

◆ canAddMore()

bool PlacementInfo::PlacementSiteBinInfo::canAddMore ( int  BELAmo)
inline

Definition at line 2652 of file PlacementInfo.h.

◆ getCapacity()

float PlacementInfo::PlacementSiteBinInfo::getCapacity ( )
inline

Definition at line 2634 of file PlacementInfo.h.

◆ getMacros()

std::vector<PlacementMacro *>& PlacementInfo::PlacementSiteBinInfo::getMacros ( )
inline

Definition at line 2616 of file PlacementInfo.h.

◆ getUtilization()

float PlacementInfo::PlacementSiteBinInfo::getUtilization ( )
inline

Definition at line 2629 of file PlacementInfo.h.

◆ getUtilizationRate()

float PlacementInfo::PlacementSiteBinInfo::getUtilizationRate ( )
inline

Definition at line 2621 of file PlacementInfo.h.

◆ inRange()

bool PlacementInfo::PlacementSiteBinInfo::inRange ( float  x,
float  y 
)
inline

Definition at line 2593 of file PlacementInfo.h.

◆ inRangeY()

bool PlacementInfo::PlacementSiteBinInfo::inRangeY ( float  y)
inline

Definition at line 2598 of file PlacementInfo.h.

◆ isOverflow()

bool PlacementInfo::PlacementSiteBinInfo::isOverflow ( )
inline

Definition at line 2639 of file PlacementInfo.h.

◆ reset()

void PlacementInfo::PlacementSiteBinInfo::reset ( )
inline

Definition at line 2610 of file PlacementInfo.h.

◆ setYX()

void PlacementInfo::PlacementSiteBinInfo::setYX ( int  i,
int  j 
)
inline

Definition at line 2659 of file PlacementInfo.h.

◆ X()

int PlacementInfo::PlacementSiteBinInfo::X ( )
inline

Definition at line 2669 of file PlacementInfo.h.

◆ Y()

int PlacementInfo::PlacementSiteBinInfo::Y ( )
inline

Definition at line 2665 of file PlacementInfo.h.

Member Data Documentation

◆ binShrinkRatio

float PlacementInfo::PlacementSiteBinInfo::binShrinkRatio = 1.0
private

Definition at line 2679 of file PlacementInfo.h.

Referenced by canAddMore(), getCapacity(), getUtilizationRate(), and isOverflow().

◆ bottomY

float PlacementInfo::PlacementSiteBinInfo::bottomY
private

Definition at line 2683 of file PlacementInfo.h.

Referenced by inRange(), and inRangeY().

◆ capacity

int PlacementInfo::PlacementSiteBinInfo::capacity = 0
private

Definition at line 2677 of file PlacementInfo.h.

Referenced by canAddMore(), getCapacity(), getUtilizationRate(), and isOverflow().

◆ column

int PlacementInfo::PlacementSiteBinInfo::column
private

Definition at line 2686 of file PlacementInfo.h.

Referenced by setYX(), and X().

◆ correspondingSites

std::vector<DeviceInfo::DeviceSite *> PlacementInfo::PlacementSiteBinInfo::correspondingSites
private

Definition at line 2675 of file PlacementInfo.h.

Referenced by PlacementSiteBinInfo(), and ~PlacementSiteBinInfo().

◆ eps

float PlacementInfo::PlacementSiteBinInfo::eps = 1e-5
private

Definition at line 2684 of file PlacementInfo.h.

Referenced by canAddMore(), and isOverflow().

◆ leftX

float PlacementInfo::PlacementSiteBinInfo::leftX
private

Definition at line 2680 of file PlacementInfo.h.

Referenced by inRange().

◆ macros

std::vector<PlacementMacro *> PlacementInfo::PlacementSiteBinInfo::macros
private

◆ rightX

float PlacementInfo::PlacementSiteBinInfo::rightX
private

Definition at line 2681 of file PlacementInfo.h.

◆ row

int PlacementInfo::PlacementSiteBinInfo::row
private

Definition at line 2685 of file PlacementInfo.h.

Referenced by setYX(), and Y().

◆ topY

float PlacementInfo::PlacementSiteBinInfo::topY
private

Definition at line 2682 of file PlacementInfo.h.

◆ utilization

float PlacementInfo::PlacementSiteBinInfo::utilization = 0
private

The documentation for this class was generated from the following files: