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

a column of site in clock region More...

#include <DeviceInfo.h>

Public Member Functions

 ClockColumn ()
 
 ~ClockColumn ()
 
void addSite (DeviceSite *curSite)
 
std::vector< DeviceSite * > & getSites ()
 
void resetClockInfo ()
 reset the clock net information, including cells in it More...
 
void addClockNetId (int clockNetId, int cellId)
 add a cell in a specific clock domain More...
 
int getClockNum ()
 
void setBoundary (float _left, float _right, float _top, float _bottom)
 Set the Boundary of the clock column. More...
 
void setLeft (float x)
 
void setRight (float x)
 
void setTop (float y)
 
void setBottom (float y)
 
std::map< int, std::vector< int > > & getClockNetId2CellIds ()
 
unsigned int getClockNumLimit ()
 
void setId (unsigned int _id)
 
unsigned int getId ()
 
float getLeft ()
 
float getRight ()
 
float getTop ()
 
float getBottom ()
 

Private Attributes

int id
 
std::vector< DeviceSite * > sites
 
float left = 1000000
 
float right = -1000000
 
float top = -1000000
 
float bottom = 1000000
 
std::map< int, int > clockNetId2Cnt
 counter for the elements for each clock in the clock column More...
 
std::map< int, std::vector< int > > clockNetId2CellIds
 the elements for each clock in the clock column More...
 
std::map< int, DeviceSite * > clockNetId2Sites
 
unsigned int clockLimit = 12
 

Detailed Description

a column of site in clock region

clock region contains an array of clock regions

Definition at line 474 of file DeviceInfo.h.

Constructor & Destructor Documentation

◆ ClockColumn()

DeviceInfo::ClockColumn::ClockColumn ( )
inline

Definition at line 477 of file DeviceInfo.h.

◆ ~ClockColumn()

DeviceInfo::ClockColumn::~ClockColumn ( )
inline

Definition at line 484 of file DeviceInfo.h.

Member Function Documentation

◆ addClockNetId()

void DeviceInfo::ClockColumn::addClockNetId ( int  clockNetId,
int  cellId 
)
inline

add a cell in a specific clock domain

Parameters
clockNetId
cellId

Definition at line 530 of file DeviceInfo.h.

◆ addSite()

void DeviceInfo::ClockColumn::addSite ( DeviceSite curSite)
inline

Definition at line 492 of file DeviceInfo.h.

Here is the call graph for this function:

◆ getBottom()

float DeviceInfo::ClockColumn::getBottom ( )
inline

Definition at line 620 of file DeviceInfo.h.

◆ getClockNetId2CellIds()

std::map<int, std::vector<int> >& DeviceInfo::ClockColumn::getClockNetId2CellIds ( )
inline

Definition at line 585 of file DeviceInfo.h.

◆ getClockNum()

int DeviceInfo::ClockColumn::getClockNum ( )
inline

Definition at line 544 of file DeviceInfo.h.

Referenced by DeviceInfo::ClockRegion::getMaxUtilizationClockColumnsPtr().

Here is the caller graph for this function:

◆ getClockNumLimit()

unsigned int DeviceInfo::ClockColumn::getClockNumLimit ( )
inline

Definition at line 590 of file DeviceInfo.h.

◆ getId()

unsigned int DeviceInfo::ClockColumn::getId ( )
inline

Definition at line 600 of file DeviceInfo.h.

◆ getLeft()

float DeviceInfo::ClockColumn::getLeft ( )
inline

Definition at line 605 of file DeviceInfo.h.

◆ getRight()

float DeviceInfo::ClockColumn::getRight ( )
inline

Definition at line 610 of file DeviceInfo.h.

◆ getSites()

std::vector<DeviceSite *>& DeviceInfo::ClockColumn::getSites ( )
inline

Definition at line 508 of file DeviceInfo.h.

◆ getTop()

float DeviceInfo::ClockColumn::getTop ( )
inline

Definition at line 615 of file DeviceInfo.h.

◆ resetClockInfo()

void DeviceInfo::ClockColumn::resetClockInfo ( )
inline

reset the clock net information, including cells in it

Definition at line 517 of file DeviceInfo.h.

◆ setBottom()

void DeviceInfo::ClockColumn::setBottom ( float  y)
inline

Definition at line 580 of file DeviceInfo.h.

◆ setBoundary()

void DeviceInfo::ClockColumn::setBoundary ( float  _left,
float  _right,
float  _top,
float  _bottom 
)
inline

Set the Boundary of the clock column.

Parameters
_left
_right
_top
_bottom

Definition at line 557 of file DeviceInfo.h.

◆ setId()

void DeviceInfo::ClockColumn::setId ( unsigned int  _id)
inline

Definition at line 595 of file DeviceInfo.h.

◆ setLeft()

void DeviceInfo::ClockColumn::setLeft ( float  x)
inline

Definition at line 565 of file DeviceInfo.h.

◆ setRight()

void DeviceInfo::ClockColumn::setRight ( float  x)
inline

Definition at line 570 of file DeviceInfo.h.

◆ setTop()

void DeviceInfo::ClockColumn::setTop ( float  y)
inline

Definition at line 575 of file DeviceInfo.h.

Member Data Documentation

◆ bottom

float DeviceInfo::ClockColumn::bottom = 1000000
private

Definition at line 628 of file DeviceInfo.h.

Referenced by addSite(), getBottom(), setBottom(), and setBoundary().

◆ clockLimit

unsigned int DeviceInfo::ClockColumn::clockLimit = 12
private

Definition at line 642 of file DeviceInfo.h.

Referenced by getClockNumLimit().

◆ clockNetId2CellIds

std::map<int, std::vector<int> > DeviceInfo::ClockColumn::clockNetId2CellIds
private

the elements for each clock in the clock column

Definition at line 640 of file DeviceInfo.h.

Referenced by addClockNetId(), ClockColumn(), getClockNetId2CellIds(), resetClockInfo(), and ~ClockColumn().

◆ clockNetId2Cnt

std::map<int, int> DeviceInfo::ClockColumn::clockNetId2Cnt
private

counter for the elements for each clock in the clock column

Definition at line 634 of file DeviceInfo.h.

Referenced by addClockNetId(), ClockColumn(), getClockNum(), resetClockInfo(), and ~ClockColumn().

◆ clockNetId2Sites

std::map<int, DeviceSite *> DeviceInfo::ClockColumn::clockNetId2Sites
private

Definition at line 641 of file DeviceInfo.h.

Referenced by ClockColumn(), resetClockInfo(), and ~ClockColumn().

◆ id

int DeviceInfo::ClockColumn::id
private

Definition at line 626 of file DeviceInfo.h.

Referenced by getId().

◆ left

float DeviceInfo::ClockColumn::left = 1000000
private

Definition at line 628 of file DeviceInfo.h.

Referenced by addSite(), getLeft(), setBoundary(), and setLeft().

◆ right

float DeviceInfo::ClockColumn::right = -1000000
private

Definition at line 628 of file DeviceInfo.h.

Referenced by addSite(), getRight(), setBoundary(), and setRight().

◆ sites

std::vector<DeviceSite *> DeviceInfo::ClockColumn::sites
private

Definition at line 627 of file DeviceInfo.h.

Referenced by addSite(), ClockColumn(), getSites(), and ~ClockColumn().

◆ top

float DeviceInfo::ClockColumn::top = -1000000
private

Definition at line 628 of file DeviceInfo.h.

Referenced by addSite(), getTop(), setBoundary(), and setTop().


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