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

BEL bin for global placement for multiple specific shared BEL types. More...

#include <PlacementInfo.h>

Public Member Functions

 PlacementHybridBinInfo (PlacementBinInfo *curBin)
 
 ~PlacementHybridBinInfo ()
 
bool inRange (float x, float y)
 
bool inRangeY (float y)
 
void addCell (DesignInfo::DesignCell *cell, int occupationAdded)
 
void removeCell (DesignInfo::DesignCell *cell, int occupationAdded)
 
bool contains (DesignInfo::DesignCell *cell)
 
void reset ()
 
std::set< DesignInfo::DesignCell * > & getCells ()
 
float getUtilizationRate ()
 
float getUtilization ()
 
float getCapacity ()
 
bool isOverflow ()
 
bool canAddMore (int BELAmo)
 
void setYX (int i, int j)
 
int Y ()
 
int X ()
 
float left ()
 
float right ()
 
float top ()
 
float bottom ()
 

Private Attributes

std::vector< DeviceInfo::DeviceSite * > correspondingSites
 
std::vector< PlacementBinInfo * > mergedBins
 
std::set< DesignInfo::DesignCell * > cells
 
int capacity = 0
 
int utilization = 0
 
float binShrinkRatio = 1.0
 
float leftX
 
float rightX
 
float topY
 
float bottomY
 
float eps = 1e-5
 
int row
 
int column
 

Detailed Description

BEL bin for global placement for multiple specific shared BEL types.

This bin class is not for a specific cell type. It is not used in the current implementation.

Definition at line 859 of file PlacementInfo.h.

Constructor & Destructor Documentation

◆ PlacementHybridBinInfo()

PlacementInfo::PlacementHybridBinInfo::PlacementHybridBinInfo ( PlacementBinInfo curBin)
inline

Definition at line 862 of file PlacementInfo.h.

◆ ~PlacementHybridBinInfo()

PlacementInfo::PlacementHybridBinInfo::~PlacementHybridBinInfo ( )
inline

Definition at line 872 of file PlacementInfo.h.

Member Function Documentation

◆ addCell()

void PlacementInfo::PlacementHybridBinInfo::addCell ( DesignInfo::DesignCell cell,
int  occupationAdded 
)
inline

Definition at line 888 of file PlacementInfo.h.

◆ bottom()

float PlacementInfo::PlacementHybridBinInfo::bottom ( )
inline

Definition at line 984 of file PlacementInfo.h.

◆ canAddMore()

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

Definition at line 951 of file PlacementInfo.h.

◆ contains()

bool PlacementInfo::PlacementHybridBinInfo::contains ( DesignInfo::DesignCell cell)
inline

Definition at line 903 of file PlacementInfo.h.

◆ getCapacity()

float PlacementInfo::PlacementHybridBinInfo::getCapacity ( )
inline

Definition at line 933 of file PlacementInfo.h.

◆ getCells()

std::set<DesignInfo::DesignCell *>& PlacementInfo::PlacementHybridBinInfo::getCells ( )
inline

Definition at line 915 of file PlacementInfo.h.

◆ getUtilization()

float PlacementInfo::PlacementHybridBinInfo::getUtilization ( )
inline

Definition at line 928 of file PlacementInfo.h.

◆ getUtilizationRate()

float PlacementInfo::PlacementHybridBinInfo::getUtilizationRate ( )
inline

Definition at line 920 of file PlacementInfo.h.

◆ inRange()

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

Definition at line 878 of file PlacementInfo.h.

◆ inRangeY()

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

Definition at line 883 of file PlacementInfo.h.

◆ isOverflow()

bool PlacementInfo::PlacementHybridBinInfo::isOverflow ( )
inline

Definition at line 938 of file PlacementInfo.h.

◆ left()

float PlacementInfo::PlacementHybridBinInfo::left ( )
inline

Definition at line 972 of file PlacementInfo.h.

◆ removeCell()

void PlacementInfo::PlacementHybridBinInfo::removeCell ( DesignInfo::DesignCell cell,
int  occupationAdded 
)
inline

Definition at line 895 of file PlacementInfo.h.

◆ reset()

void PlacementInfo::PlacementHybridBinInfo::reset ( )
inline

Definition at line 909 of file PlacementInfo.h.

◆ right()

float PlacementInfo::PlacementHybridBinInfo::right ( )
inline

Definition at line 976 of file PlacementInfo.h.

◆ setYX()

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

Definition at line 957 of file PlacementInfo.h.

◆ top()

float PlacementInfo::PlacementHybridBinInfo::top ( )
inline

Definition at line 980 of file PlacementInfo.h.

◆ X()

int PlacementInfo::PlacementHybridBinInfo::X ( )
inline

Definition at line 967 of file PlacementInfo.h.

◆ Y()

int PlacementInfo::PlacementHybridBinInfo::Y ( )
inline

Definition at line 963 of file PlacementInfo.h.

Member Data Documentation

◆ binShrinkRatio

float PlacementInfo::PlacementHybridBinInfo::binShrinkRatio = 1.0
private

Definition at line 995 of file PlacementInfo.h.

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

◆ bottomY

float PlacementInfo::PlacementHybridBinInfo::bottomY
private

Definition at line 999 of file PlacementInfo.h.

Referenced by bottom(), inRange(), and inRangeY().

◆ capacity

int PlacementInfo::PlacementHybridBinInfo::capacity = 0
private

Definition at line 993 of file PlacementInfo.h.

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

◆ cells

std::set<DesignInfo::DesignCell *> PlacementInfo::PlacementHybridBinInfo::cells
private

◆ column

int PlacementInfo::PlacementHybridBinInfo::column
private

Definition at line 1002 of file PlacementInfo.h.

Referenced by setYX(), and X().

◆ correspondingSites

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

Definition at line 990 of file PlacementInfo.h.

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

◆ eps

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

Definition at line 1000 of file PlacementInfo.h.

Referenced by canAddMore(), and isOverflow().

◆ leftX

float PlacementInfo::PlacementHybridBinInfo::leftX
private

Definition at line 996 of file PlacementInfo.h.

Referenced by inRange(), and left().

◆ mergedBins

std::vector<PlacementBinInfo *> PlacementInfo::PlacementHybridBinInfo::mergedBins
private

Definition at line 991 of file PlacementInfo.h.

Referenced by PlacementHybridBinInfo().

◆ rightX

float PlacementInfo::PlacementHybridBinInfo::rightX
private

Definition at line 997 of file PlacementInfo.h.

Referenced by right().

◆ row

int PlacementInfo::PlacementHybridBinInfo::row
private

Definition at line 1001 of file PlacementInfo.h.

Referenced by setYX(), and Y().

◆ topY

float PlacementInfo::PlacementHybridBinInfo::topY
private

Definition at line 998 of file PlacementInfo.h.

Referenced by top().

◆ utilization

int PlacementInfo::PlacementHybridBinInfo::utilization = 0
private

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