AMF-Placer
2.0
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
|
a design net (hyperedge) defined in the design, connecting to pins of cells More...
#include <DesignInfo.h>
Public Member Functions | |
DesignNet (std::string &name, int id, bool virtualNet=false) | |
Construct a new Design Net object. More... | |
~DesignNet () | |
void | connectToPinName (const std::string &_pinName) |
bind the net to a pin by name More... | |
void | connectToPinVariable (DesignPin *_pinPtr) |
bind the net to a pin's pointer More... | |
std::vector< DesignPin * > & | getDriverPins () |
Get the vector reference of the driver pins of the net. More... | |
std::vector< DesignPin * > & | getPinsBeDriven () |
Get the vector reference of the pins driven by the net. More... | |
std::vector< DesignPin * > & | getPins () |
Get the vector reference of the pins. More... | |
bool | isVirtual () |
void | enhance (int pinIdInNetA, int pinIdInNetB, float ratio) |
placer can customize some 2-pin interconnections to make their weights enhanced during wirelength optimization More... | |
float | getPinPairEnhanceRatio (int pinIdInNetA, int pinIdInNetB) |
Get the Pin Pair Enhance Ratio (placer can customize some 2-pin interconnections to make their weights enhanced during wirelength optimization) More... | |
float | getOverallClusterEnhanceRatio () |
Get the Overall Enhance Ratio (the entire net can be enhanced to a pre-defined extent.) More... | |
float | getOverallTimingEnhanceRatio () |
Get the Overall Enhance Ratio (the entire net can be enhanced to a pre-defined extent.) More... | |
float | getOverallEnhanceRatio () |
Get the Overall Enhance Ratio (the entire net can be enhanced to a pre-defined extent.) More... | |
void | setOverallClusterNetEnhancement (float r) |
Set the Overall Net Enhancement (the entire net can be enhanced to a pre-defined extent.) More... | |
void | setOverallTimingNetEnhancement (float r) |
Set the Overall Net Enhancement (the entire net can be enhanced to a pre-defined extent.) More... | |
void | enhanceOverallClusterNetEnhancement (float r) |
increase the Overall Net Enhancement (the entire net can be enhanced to a pre-defined extent.) More... | |
void | enhanceOverallTimingNetEnhancement (float r) |
increase the Overall Net Enhancement (the entire net can be enhanced to a pre-defined extent.) More... | |
void | resetEnhanceRatio () |
void | setGlobalClock () |
Set the attribute isGlobalClock to be true. More... | |
bool | checkIsGlobalClock () |
check the attribute isGlobalClock More... | |
bool | checkIsPowerNet () |
check whether the net is VCC or GND More... | |
bool | checkContainFixedPins () |
void | setContainFixedPins () |
![]() | |
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 () |
Private Attributes | |
std::vector< std::string > | pinNames |
std::vector< DesignPin * > | pinPtrs |
std::vector< DesignPin * > | driverPinPtrs |
std::vector< DesignPin * > | BeDrivenPinPtrs |
bool | containFixedPins = false |
std::map< std::pair< int, int >, float > | pinIdPinIdInNet2EnhanceRatio |
float | overallClusterEnhanceRatio = 1.0 |
float | overallTimingEnhanceRatio = 1.0 |
bool | virtualNet |
bool | isGlobalClock = false |
bool | isPowerNet = false |
a design net (hyperedge) defined in the design, connecting to pins of cells
Definition at line 524 of file DesignInfo.h.
|
inline |
Construct a new Design Net object.
the DesignNet will only initilize with name and id. Later it will bind to pins and cells.
name | the name of the net |
id | the Id of the net |
virtualNet | is it a virtual net not defined in the design? |
Definition at line 536 of file DesignInfo.h.
|
inline |
Definition at line 547 of file DesignInfo.h.
|
inline |
Definition at line 753 of file DesignInfo.h.
|
inline |
check the attribute isGlobalClock
Definition at line 737 of file DesignInfo.h.
Referenced by PlacementInfo::PlacementNet::isGlobalClock().
|
inline |
check whether the net is VCC or GND
Definition at line 748 of file DesignInfo.h.
void DesignInfo::DesignNet::connectToPinName | ( | const std::string & | _pinName | ) |
bind the net to a pin by name
_pinName |
Definition at line 81 of file DesignInfo.cc.
Referenced by DesignInfo::addPinToNet().
void DesignInfo::DesignNet::connectToPinVariable | ( | DesignPin * | _pinPtr | ) |
bind the net to a pin's pointer
be aware that the net could bind to multiple pins
_pinPtr |
Definition at line 86 of file DesignInfo.cc.
Referenced by DesignInfo::addPinToNet().
|
inline |
placer can customize some 2-pin interconnections to make their weights enhanced during wirelength optimization
pinIdInNetA | pin A's id in the pin list of the net |
pinIdInNetB | pin B's id in the pin list of the net |
ratio | enhance the weight to what extent |
Definition at line 609 of file DesignInfo.h.
|
inline |
increase the Overall Net Enhancement (the entire net can be enhanced to a pre-defined extent.)
r |
Definition at line 698 of file DesignInfo.h.
|
inline |
increase the Overall Net Enhancement (the entire net can be enhanced to a pre-defined extent.)
r |
Definition at line 708 of file DesignInfo.h.
|
inline |
Get the vector reference of the driver pins of the net.
Definition at line 571 of file DesignInfo.h.
|
inline |
Get the Overall Enhance Ratio (the entire net can be enhanced to a pre-defined extent.)
Definition at line 648 of file DesignInfo.h.
|
inline |
Get the Overall Enhance Ratio (the entire net can be enhanced to a pre-defined extent.)
Definition at line 668 of file DesignInfo.h.
Referenced by PlacementInfo::PlacementNet::updateBound2BoundNetWeight().
|
inline |
Get the Overall Enhance Ratio (the entire net can be enhanced to a pre-defined extent.)
Definition at line 658 of file DesignInfo.h.
|
inline |
Get the Pin Pair Enhance Ratio (placer can customize some 2-pin interconnections to make their weights enhanced during wirelength optimization)
pinIdInNetA | pin A's id in the pin list of the net |
pinIdInNetB | pin B's id in the pin list of the net |
Definition at line 630 of file DesignInfo.h.
Referenced by PlacementInfo::PlacementNet::updateBound2BoundNetWeight().
|
inline |
Get the vector reference of the pins.
Definition at line 591 of file DesignInfo.h.
Referenced by DesignInfo::loadUserDefinedClusterNets(), and PlacementInfo::PlacementNet::PlacementNet().
|
inline |
Get the vector reference of the pins driven by the net.
Definition at line 581 of file DesignInfo.h.
Referenced by InitialPacker::findCARRYMacros(), ParallelCLBPacker::PackingCLBSite::mapCarryRelatedCellsToSlots(), and InitialPacker::mapCarryRelatedRouteThru().
|
inline |
Definition at line 596 of file DesignInfo.h.
|
inline |
Definition at line 713 of file DesignInfo.h.
|
inline |
Definition at line 758 of file DesignInfo.h.
|
inline |
Set the attribute isGlobalClock to be true.
if the net is a global clock (which could CLK, SR, or CE signal)
Definition at line 726 of file DesignInfo.h.
|
inline |
Set the Overall Net Enhancement (the entire net can be enhanced to a pre-defined extent.)
r |
Definition at line 678 of file DesignInfo.h.
|
inline |
Set the Overall Net Enhancement (the entire net can be enhanced to a pre-defined extent.)
r |
Definition at line 688 of file DesignInfo.h.
|
private |
Definition at line 767 of file DesignInfo.h.
Referenced by getPinsBeDriven().
|
private |
Definition at line 768 of file DesignInfo.h.
Referenced by checkContainFixedPins(), and setContainFixedPins().
|
private |
Definition at line 766 of file DesignInfo.h.
Referenced by getDriverPins().
|
private |
Definition at line 773 of file DesignInfo.h.
Referenced by checkIsGlobalClock(), and setGlobalClock().
|
private |
Definition at line 774 of file DesignInfo.h.
Referenced by checkIsPowerNet(), and DesignNet().
|
private |
Definition at line 770 of file DesignInfo.h.
Referenced by DesignNet(), enhanceOverallClusterNetEnhancement(), getOverallClusterEnhanceRatio(), getOverallEnhanceRatio(), resetEnhanceRatio(), and setOverallClusterNetEnhancement().
|
private |
Definition at line 771 of file DesignInfo.h.
Referenced by DesignNet(), enhanceOverallTimingNetEnhancement(), getOverallEnhanceRatio(), getOverallTimingEnhanceRatio(), resetEnhanceRatio(), and setOverallTimingNetEnhancement().
|
private |
Definition at line 769 of file DesignInfo.h.
Referenced by enhance(), getPinPairEnhanceRatio(), and resetEnhanceRatio().
|
private |
Definition at line 764 of file DesignInfo.h.
|
private |
Definition at line 765 of file DesignInfo.h.
Referenced by getPins().
|
private |
Definition at line 772 of file DesignInfo.h.
Referenced by isVirtual().