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

the smallest, indivisible, representable component. It will include only one standard cell More...

#include <PlacementInfo.h>

Inheritance diagram for PlacementInfo::PlacementUnpackedCell:
Collaboration diagram for PlacementInfo::PlacementUnpackedCell:

Public Member Functions

 PlacementUnpackedCell (std::string name, int id, DesignInfo::DesignCell *cell)
 Construct a new Placement Unpacked Cell object. More...
 
 ~PlacementUnpackedCell ()
 
void setLockedAt (std::string _siteName, std::string _BELName, DeviceInfo *deviceInfo, bool lock=true)
 
DeviceInfo::DeviceSitegetLockedSite ()
 
DesignInfo::DesignCellgetCell ()
 
std::string getFixedBELName ()
 
std::string getFixedSiteName ()
 
- Public Member Functions inherited from PlacementInfo::PlacementUnit
 PlacementUnit (std::string name, int id, PlacementUnitType unitType)
 
virtual ~PlacementUnit ()
 
void getAnchorLocation (float &x, float &y)
 
float X ()
 
float Y ()
 
float lastX ()
 
float lastY ()
 
void setAnchorLocation (float x, float y)
 Set the Anchor Location for the PlacementUnit. More...
 
void setSpreadLocation (float x, float y, float forgetRatio)
 Set the Spread Location based on forgetting ratio. More...
 
void setSpreadLocation_WithLimitDisplacement (float x, float y, float forgetRatio, float limitDisplacement)
 Set the Spread Location based on forgetting ratio. More...
 
void setAnchorLocationAndForgetTheOriginalOne (float x, float y)
 
void recordSpreadLocatin ()
 
void setFixed ()
 
void setUnfixed ()
 
void setLocked ()
 
void setUnlocked ()
 
bool isLocked ()
 
void setPlaced ()
 
bool isFixed ()
 
bool isPlaced ()
 
std::string & getName ()
 
PlacementUnitType getType ()
 
void setWeight (int numCell)
 
int getWeight ()
 
unsigned int getId ()
 
void renewId (int newId)
 
void setNetsSetPtr (std::vector< PlacementNet * > *_nets)
 Set the Nets Set Ptr object which records the nets connecting to the PlacementUnit. More...
 
std::vector< PlacementNet * > * getNetsSetPtr ()
 Get the Nets Set Ptr object which records the nets connecting to the PlacementUnit. More...
 
int getUnitsBeDrivenByThisPU ()
 
int getUnitsDriveThisPU ()
 
void addDSP ()
 
void addBRAM ()
 
void addLUTRAM ()
 
void addLUT ()
 
void addFF ()
 
void addCARRY ()
 
void addMUX ()
 
bool checkHasDSP ()
 
bool checkHasBRAM ()
 
bool checkHasLUTRAM ()
 
bool checkHasLUT ()
 
bool checkHasFF ()
 
bool checkHasCARRY ()
 
bool checkHasMUX ()
 
bool hasRegister ()
 
bool hasLogic ()
 
bool isMCLB ()
 
bool isLCLB ()
 
int getDSPNum ()
 
int getBRAMNum ()
 
int getLUTRAMNum ()
 
int getLUTNum ()
 
int getCARRYNum ()
 
int getMUXNum ()
 
void setPacked ()
 
void resetPacked ()
 
bool isPacked ()
 
std::set< DesignInfo::DesignNet * > & getClockNets ()
 

Private Attributes

DesignInfo::DesignCellcell
 
std::string siteName
 
std::string BELName
 
DeviceInfo::DeviceSitelockedSite = nullptr
 

Additional Inherited Members

- Protected Attributes inherited from PlacementInfo::PlacementUnit
std::set< DesignInfo::DesignNet * > clockNets
 record the clock nets connected to this PlacementUnit More...
 

Detailed Description

the smallest, indivisible, representable component. It will include only one standard cell

Definition at line 1446 of file PlacementInfo.h.

Constructor & Destructor Documentation

◆ PlacementUnpackedCell()

PlacementInfo::PlacementUnpackedCell::PlacementUnpackedCell ( std::string  name,
int  id,
DesignInfo::DesignCell cell 
)
inline

Construct a new Placement Unpacked Cell object.

Parameters
name
ida unique ID for this placement unit
cell

Definition at line 1456 of file PlacementInfo.h.

Here is the call graph for this function:

◆ ~PlacementUnpackedCell()

PlacementInfo::PlacementUnpackedCell::~PlacementUnpackedCell ( )
inline

Definition at line 1475 of file PlacementInfo.h.

Member Function Documentation

◆ getCell()

DesignInfo::DesignCell* PlacementInfo::PlacementUnpackedCell::getCell ( )
inline

Definition at line 1497 of file PlacementInfo.h.

Referenced by IncrementalBELPacker::isLUTsPackable(), and operator<<().

Here is the caller graph for this function:

◆ getFixedBELName()

std::string PlacementInfo::PlacementUnpackedCell::getFixedBELName ( )
inline

Definition at line 1502 of file PlacementInfo.h.

Referenced by operator<<().

Here is the caller graph for this function:

◆ getFixedSiteName()

std::string PlacementInfo::PlacementUnpackedCell::getFixedSiteName ( )
inline

Definition at line 1507 of file PlacementInfo.h.

Referenced by operator<<().

Here is the caller graph for this function:

◆ getLockedSite()

DeviceInfo::DeviceSite* PlacementInfo::PlacementUnpackedCell::getLockedSite ( )
inline

Definition at line 1492 of file PlacementInfo.h.

◆ setLockedAt()

void PlacementInfo::PlacementUnpackedCell::setLockedAt ( std::string  _siteName,
std::string  _BELName,
DeviceInfo deviceInfo,
bool  lock = true 
)
inline

Definition at line 1479 of file PlacementInfo.h.

Referenced by PlacementInfo::loadPlacementUnitInformation().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ BELName

std::string PlacementInfo::PlacementUnpackedCell::BELName
private

Definition at line 1516 of file PlacementInfo.h.

Referenced by getFixedBELName(), and setLockedAt().

◆ cell

DesignInfo::DesignCell* PlacementInfo::PlacementUnpackedCell::cell
private

Definition at line 1513 of file PlacementInfo.h.

Referenced by getCell(), and PlacementUnpackedCell().

◆ lockedSite

DeviceInfo::DeviceSite* PlacementInfo::PlacementUnpackedCell::lockedSite = nullptr
private

Definition at line 1517 of file PlacementInfo.h.

Referenced by getLockedSite(), and setLockedAt().

◆ siteName

std::string PlacementInfo::PlacementUnpackedCell::siteName
private

Definition at line 1515 of file PlacementInfo.h.

Referenced by getFixedSiteName(), and setLockedAt().


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