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

A control set is a combination of CLK, CE and SR signal. It could be nullptr (not related to control set) More...

#include <DesignInfo.h>

Collaboration diagram for DesignInfo::ControlSetInfo:

Public Member Functions

 ControlSetInfo (DesignInfo::DesignCell *curFF, int id)
 Construct a new Control Set Info object with signals of a given FF and a given ID. More...
 
 ~ControlSetInfo ()
 
bool compatibleWith (DesignInfo::DesignCell *curFF)
 check if a FF is compatible with the control set More...
 
void setControlSetInfoAs (DesignInfo::DesignCell *curFF)
 Set the control set information accoridng to a given FF. More...
 
DesignInfo::DesignNetgetCLK () const
 
DesignInfo::DesignNetgetSR () const
 
DesignInfo::DesignNetgetCE () const
 
DesignInfo::DesignCellType getFFType () const
 
const int getId () const
 Get the Id of the control set (each control set will have a unique Id) More...
 
void addFF (DesignInfo::DesignCell *curFF)
 add a FF into the set of FFs which are compatible to this control set More...
 
std::vector< DesignInfo::DesignCell * > & getFFs ()
 get the set of FFs which are compatible to this control set More...
 
void display ()
 

Private Attributes

DesignInfo::DesignNetCLK = nullptr
 
DesignInfo::DesignNetSR = nullptr
 
DesignInfo::DesignNetCE = nullptr
 
DesignInfo::DesignCellType FFType
 
std::vector< DesignInfo::DesignCell * > FFs
 
int id = -1
 

Detailed Description

A control set is a combination of CLK, CE and SR signal. It could be nullptr (not related to control set)

Definition at line 1151 of file DesignInfo.h.

Constructor & Destructor Documentation

◆ ControlSetInfo()

DesignInfo::ControlSetInfo::ControlSetInfo ( DesignInfo::DesignCell curFF,
int  id 
)
inline

Construct a new Control Set Info object with signals of a given FF and a given ID.

Parameters
curFFFF to extract control set signal
idassign an Id for this combination

Definition at line 1160 of file DesignInfo.h.

Here is the call graph for this function:

◆ ~ControlSetInfo()

DesignInfo::ControlSetInfo::~ControlSetInfo ( )
inline

Definition at line 1166 of file DesignInfo.h.

Member Function Documentation

◆ addFF()

void DesignInfo::ControlSetInfo::addFF ( DesignInfo::DesignCell curFF)
inline

add a FF into the set of FFs which are compatible to this control set

Parameters
curFF

Definition at line 1288 of file DesignInfo.h.

Referenced by DesignInfo::updateFFControlSets().

Here is the caller graph for this function:

◆ compatibleWith()

bool DesignInfo::ControlSetInfo::compatibleWith ( DesignInfo::DesignCell curFF)
inline

check if a FF is compatible with the control set

check all the control signals of the FF are identical to those of control set respectively. Only those FFs compatible to the same control set can be packed in one Half CLB block in CLB site.

Parameters
curFFa given FF
Returns
true if a FF is compatible with the control set
false if a FF is NOT compatible with the control set

Definition at line 1178 of file DesignInfo.h.

Here is the call graph for this function:

◆ display()

void DesignInfo::ControlSetInfo::display ( )
inline

Definition at line 1303 of file DesignInfo.h.

Referenced by ParallelCLBPacker::PackingCLBSite::addCarry().

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

◆ getCE()

DesignInfo::DesignNet* DesignInfo::ControlSetInfo::getCE ( ) const
inline

Definition at line 1264 of file DesignInfo.h.

Referenced by ParallelCLBPacker::PackedControlSet::addFF(), and InitialPacker::PackedControlSet::addFF().

Here is the caller graph for this function:

◆ getCLK()

◆ getFFs()

std::vector<DesignInfo::DesignCell *>& DesignInfo::ControlSetInfo::getFFs ( )
inline

get the set of FFs which are compatible to this control set

Returns
std::vector<DesignInfo::DesignCell *>&

Definition at line 1298 of file DesignInfo.h.

◆ getFFType()

DesignInfo::DesignCellType DesignInfo::ControlSetInfo::getFFType ( ) const
inline

Definition at line 1269 of file DesignInfo.h.

Referenced by ParallelCLBPacker::PackingCLBSite::PackingCLBCluster::compatibleInOneHalfCLB().

Here is the caller graph for this function:

◆ getId()

const int DesignInfo::ControlSetInfo::getId ( ) const
inline

◆ getSR()

◆ setControlSetInfoAs()

void DesignInfo::ControlSetInfo::setControlSetInfoAs ( DesignInfo::DesignCell curFF)
inline

Set the control set information accoridng to a given FF.

Parameters
curFFtarget FF to extract control set signal

Definition at line 1222 of file DesignInfo.h.

Referenced by ControlSetInfo().

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

Member Data Documentation

◆ CE

DesignInfo::DesignNet* DesignInfo::ControlSetInfo::CE = nullptr
private

Definition at line 1318 of file DesignInfo.h.

Referenced by compatibleWith(), display(), getCE(), and setControlSetInfoAs().

◆ CLK

DesignInfo::DesignNet* DesignInfo::ControlSetInfo::CLK = nullptr
private

Definition at line 1316 of file DesignInfo.h.

Referenced by compatibleWith(), display(), getCLK(), and setControlSetInfoAs().

◆ FFs

std::vector<DesignInfo::DesignCell *> DesignInfo::ControlSetInfo::FFs
private

Definition at line 1320 of file DesignInfo.h.

Referenced by addFF(), ControlSetInfo(), and getFFs().

◆ FFType

DesignInfo::DesignCellType DesignInfo::ControlSetInfo::FFType
private

Definition at line 1319 of file DesignInfo.h.

Referenced by compatibleWith(), display(), getFFType(), and setControlSetInfoAs().

◆ id

int DesignInfo::ControlSetInfo::id = -1
private

Definition at line 1321 of file DesignInfo.h.

Referenced by getId().

◆ SR

DesignInfo::DesignNet* DesignInfo::ControlSetInfo::SR = nullptr
private

Definition at line 1317 of file DesignInfo.h.

Referenced by compatibleWith(), display(), getSR(), and setControlSetInfoAs().


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