AMF-Placer
2.0
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
|
A design pin on a design cell connected to a net. More...
#include <DesignInfo.h>
Public Member Functions | |
DesignPin (std::string &name, std::string &refpinname, DesignPinType pinType, bool inputOrNot, DesignElement *parentPtr, int id) | |
Construct a new Design Pin object. More... | |
~DesignPin () | |
DesignPinType | getPinType () |
Get the Pin Type of the pin. More... | |
std::string & | getNetName () |
Get the name of the net which the pin connects to. More... | |
void | connectToNetName (std::string &_netName) |
bind the pin to the net by the net name More... | |
int | getAliasNetId () |
void | setAliasNetId (int _aliasNetId) |
void | connectToNetVariable (DesignNet *_netPtr) |
bind the pin to the net's pointer for later processing More... | |
bool | isOutputPort () |
bool | isInputPort () |
void | setDriverPinName (std::string &_driverPinName) |
Set the driver Pin Name of the pin. More... | |
void | setDriverPin (DesignPin *_driverPinPtr) |
Set the Driver Pin object. More... | |
DesignPin * | getDriverPin () |
Get the driver pin of the pin (nullptr indicates that the pin connects to some global signal like VGG/GND) More... | |
void | updateParentCellNetInfo () |
let the parent cell know that one of its pin connects to a specific net More... | |
DesignNet * | getNet () |
DesignCell * | getCell () |
Get the Cell object of the pin. More... | |
std::string & | getRefPinName () |
Get the reference pin name of the pin. More... | |
void | setUnconnected () |
Set the attribute unconnected to be true, indicating the pin connect to no net. More... | |
bool | isUnconnected () |
check if the attribute unconnected is true More... | |
void | setOffsetInCell (float x, float y) |
Set the Offset of the pin relative to the cell. More... | |
float | getOffsetXInCell () |
Get the offset X of the pin In the cell. More... | |
float | getOffsetYInCell () |
Get the offset Y of the pin In the cell. More... | |
bool | isFixed () |
void | setFixed () |
Public Member Functions inherited from DesignInfo::DesignElement | |
DesignElement (const std::string &name, DesignElement *parentPtr, DesignElementType type, int id) | |
DesignElement (const std::string &name, DesignElementType type, int id) | |
DesignElement (bool isVirtual, DesignElementType type, int id) | |
DesignElement (bool isVirtual, const std::string &_name, DesignElementType type, int id) | |
virtual | ~DesignElement () |
const std::string & | getName () const |
DesignElement * | getParentPtr () |
DesignElementType | getElementType () |
int | getElementIdInType () |
Static Public Member Functions | |
static DesignPinType | checkPinType (DesignCell *cell, std::string &refpinname, bool isInput) |
get the pin type based on its reference name More... | |
Private Attributes | |
DesignPinType | pinType |
pin type could be: More... | |
std::string | netName |
std::string | refpinname |
DesignNet * | netPtr = nullptr |
bool | inputOrNot |
bool | unconnected = false |
bool | fixed = false |
std::string | driverPinName |
DesignPin * | driverPin = nullptr |
float | offsetXInCell = 0.0 |
float | offsetYInCell = 0.0 |
int | aliasNetId = -1 |
A design pin on a design cell connected to a net.
Definition at line 276 of file DesignInfo.h.
|
inline |
Construct a new Design Pin object.
name | the actual/unique name of design pin |
refpinname | the reference name of the pin on the cell, indicating which device pin shoud be used on the device BEL |
pinType | some pins can be classified into specific type (clk, reset...) |
inputOrNot | |
parentPtr | the cell of the pin |
id | the id of the pin in the pin list |
Definition at line 290 of file DesignInfo.h.
|
inline |
Definition at line 297 of file DesignInfo.h.
|
static |
get the pin type based on its reference name
cell | the cell of the pin |
refpinname | the reference name of the pin on the cell, indicating which device pin shoud be used on the device BEL |
isInput |
Definition at line 39 of file DesignInfo.cc.
Referenced by DesignInfo::DesignInfo().
|
inline |
bind the pin to the net by the net name
_netName |
Definition at line 337 of file DesignInfo.h.
Referenced by DesignInfo::DesignInfo().
|
inline |
bind the pin to the net's pointer for later processing
_netPtr |
Definition at line 357 of file DesignInfo.h.
Referenced by DesignInfo::DesignInfo().
|
inline |
Definition at line 342 of file DesignInfo.h.
|
inline |
Get the Cell object of the pin.
Definition at line 418 of file DesignInfo.h.
Referenced by operator<<(), and updateParentCellNetInfo().
|
inline |
Get the driver pin of the pin (nullptr indicates that the pin connects to some global signal like VGG/GND)
Definition at line 398 of file DesignInfo.h.
|
inline |
Definition at line 408 of file DesignInfo.h.
Referenced by DesignInfo::loadUserDefinedClusterNets().
|
inline |
Get the name of the net which the pin connects to.
Definition at line 327 of file DesignInfo.h.
Referenced by DesignInfo::addPinToNet().
|
inline |
|
inline |
|
inline |
|
inline |
Get the reference pin name of the pin.
Definition at line 431 of file DesignInfo.h.
Referenced by operator<<().
|
inline |
Definition at line 489 of file DesignInfo.h.
|
inline |
Definition at line 367 of file DesignInfo.h.
|
inline |
Definition at line 362 of file DesignInfo.h.
Referenced by DesignInfo::DesignCell::addNetForPin(), DesignInfo::DesignCell::addPin(), and DesignInfo::DesignNet::connectToPinVariable().
|
inline |
check if the attribute unconnected is true
Definition at line 452 of file DesignInfo.h.
|
inline |
Definition at line 347 of file DesignInfo.h.
Referenced by DesignInfo::DesignInfo().
|
inline |
|
inline |
Set the driver Pin Name of the pin.
_driverPinName |
Definition at line 377 of file DesignInfo.h.
Referenced by DesignInfo::DesignInfo().
|
inline |
Definition at line 494 of file DesignInfo.h.
|
inline |
Set the Offset of the pin relative to the cell.
x | |
y |
Definition at line 463 of file DesignInfo.h.
|
inline |
Set the attribute unconnected to be true, indicating the pin connect to no net.
Definition at line 440 of file DesignInfo.h.
Referenced by DesignInfo::DesignInfo().
void DesignInfo::DesignPin::updateParentCellNetInfo | ( | ) |
let the parent cell know that one of its pin connects to a specific net
Definition at line 33 of file DesignInfo.cc.
Referenced by DesignInfo::DesignInfo().
|
private |
Definition at line 517 of file DesignInfo.h.
Referenced by getAliasNetId(), and setAliasNetId().
|
private |
Definition at line 514 of file DesignInfo.h.
Referenced by getDriverPin(), and setDriverPin().
|
private |
Definition at line 513 of file DesignInfo.h.
Referenced by setDriverPinName().
|
private |
Definition at line 512 of file DesignInfo.h.
Referenced by isFixed(), and setFixed().
|
private |
Definition at line 510 of file DesignInfo.h.
Referenced by isInputPort(), and isOutputPort().
|
private |
Definition at line 507 of file DesignInfo.h.
Referenced by connectToNetName(), and getNetName().
|
private |
Definition at line 509 of file DesignInfo.h.
Referenced by connectToNetVariable(), getNet(), and updateParentCellNetInfo().
|
private |
Definition at line 515 of file DesignInfo.h.
Referenced by getOffsetXInCell(), and setOffsetInCell().
|
private |
Definition at line 516 of file DesignInfo.h.
Referenced by getOffsetYInCell(), and setOffsetInCell().
|
private |
pin type could be:
PinType_LUTInput, PinType_LUTOutput, PinType_CLK, PinType_Q,PinType_D, PinType_E, PinType_SR
Definition at line 506 of file DesignInfo.h.
Referenced by getPinType().
|
private |
Definition at line 508 of file DesignInfo.h.
Referenced by getRefPinName().
|
private |
Definition at line 511 of file DesignInfo.h.
Referenced by isUnconnected(), and setUnconnected().