|
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 () |
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 () |
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().