|
AMF-Placer
2.0
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
|
PlacementTimingInfo is the container which record the timing information related to placement. More...
#include <PlacementTimingInfo.h>

Classes | |
| class | TimingGraph |
| a directed graph for timing analysis More... | |
Public Member Functions | |
| PlacementTimingInfo (DesignInfo *designInfo, DeviceInfo *deviceInfo, std::map< std::string, std::string > &JSONCfg) | |
| Construct a new Placement Timing Info object based on the information of design and device. More... | |
| ~PlacementTimingInfo () | |
| void | buildSimpleTimingGraph () |
| build a simple timing graph, where the inner delay between pin paris for an element will be identical More... | |
| std::vector< TimingGraph< DesignInfo::DesignCell >::TimingNode * > & | getSimplePlacementTimingInfo () |
| Get the Simple Timing Info object which regard design cells as timing nodes. More... | |
| std::vector< TimingGraph< DesignInfo::DesignCell >::TimingNode * > & | getSimplePlacementTimingInfo_PathLenSorted () |
| TimingGraph< DesignInfo::DesignCell > * | getSimplePlacementTimingGraph () |
| Get the Simple Placement Timing Graph object. More... | |
| int | getLongPathThresholdLevel () |
| int | getMediumPathThresholdLevel () |
| DeviceInfo * | getDeviceInfo () |
| void | setDSPInnerDelay () |
Private Attributes | |
| DesignInfo * | designInfo |
| DeviceInfo * | deviceInfo |
| std::map< std::string, std::string > & | JSONCfg |
| TimingGraph< DesignInfo::DesignCell > * | simpleTimingGraph = nullptr |
| bool | verbose = false |
| float | clockPeriod = 10.0 |
| bool | DSPCritical = false |
| std::map< DesignInfo::DesignNet *, float > | clockNet2Period |
| std::map< int, float > | cellId2Period |
PlacementTimingInfo is the container which record the timing information related to placement.
Definition at line 48 of file PlacementTimingInfo.h.
| PlacementTimingInfo::PlacementTimingInfo | ( | DesignInfo * | designInfo, |
| DeviceInfo * | deviceInfo, | ||
| std::map< std::string, std::string > & | JSONCfg | ||
| ) |
Construct a new Placement Timing Info object based on the information of design and device.
| designInfo | pointer of design information |
| deviceInfo | pointer of device information |
| JSONCfg | the user-defined placement configuration |
Definition at line 35 of file PlacementTimingInfo.cc.

|
inline |
Definition at line 59 of file PlacementTimingInfo.h.
| void PlacementTimingInfo::buildSimpleTimingGraph | ( | ) |
build a simple timing graph, where the inner delay between pin paris for an element will be identical
Definition at line 92 of file PlacementTimingInfo.cc.
Referenced by PlacementInfo::buildSimpleTimingGraph().


|
inline |
Definition at line 865 of file PlacementTimingInfo.h.
|
inline |
Definition at line 855 of file PlacementTimingInfo.h.
Referenced by PlacementInfo::buildSimpleTimingGraph().


|
inline |
Definition at line 860 of file PlacementTimingInfo.h.
Referenced by PlacementInfo::buildSimpleTimingGraph().


|
inline |
Get the Simple Placement Timing Graph object.
Definition at line 850 of file PlacementTimingInfo.h.
Referenced by WirelengthOptimizer::addPseudoNet_SlackBased(), ParallelCLBPacker::PackingCLBSite::checkDirectLUTFFConnect_slack(), PlacementTimingOptimizer::clusterLongPathInOneClockRegion(), PlacementTimingOptimizer::conductStaticTimingAnalysis(), ParallelCLBPacker::PackingCLBSite::finalMapToSlotsForCarrySite(), ParallelCLBPacker::PackingCLBSite::finalMapToSlotsForCommonLUTFFInSite(), PlacementTimingOptimizer::findCriticalPath(), PlacementTimingOptimizer::findCriticalPaths(), PlacementTimingOptimizer::getSortedTimingNodes(), ParallelCLBPacker::PackingCLBSite::greedyMapMuxForCommonLUTFFInSite(), PlacementTimingOptimizer::incrementalStaticTimingAnalysis_forPUWithLocation(), WirelengthOptimizer::LUTLUTPairing_TimingDriven(), PlacementInfo::reloadNets(), and PlacementInfo::transferPaintData().

|
inline |
Get the Simple Timing Info object which regard design cells as timing nodes.
Definition at line 835 of file PlacementTimingInfo.h.
Referenced by WirelengthOptimizer::addPseudoNet_SlackBased(), ParallelCLBPacker::PackingCLBSite::checkDirectLUTFFConnect_slack(), PlacementTimingOptimizer::conductStaticTimingAnalysis(), ParallelCLBPacker::PackingCLBSite::finalMapToSlotsForCarrySite(), ParallelCLBPacker::PackingCLBSite::finalMapToSlotsForCommonLUTFFInSite(), ClusterPlacer::getPlacementUnitMaxPathLen(), ParallelCLBPacker::PackingCLBSite::PackingCLBCluster::getPlacementUnitMaxPathLen(), ParallelCLBPacker::PackingCLBSite::PackingCLBCluster::getPlacementUnitMaxPathNegativeSlack(), PlacementTimingOptimizer::getPUId2Slack(), PlacementTimingOptimizer::getSlackThr(), PlacementTimingOptimizer::getWorstSlackOfCell(), ParallelCLBPacker::PackingCLBSite::greedyMapMuxForCommonLUTFFInSite(), and WirelengthOptimizer::LUTLUTPairing_TimingDriven().


|
inline |
Definition at line 840 of file PlacementTimingInfo.h.
Referenced by PlacementTimingOptimizer::clusterLongPathInOneClockRegion(), and ClusterPlacer::createLongPathClusterUnits().


| void PlacementTimingInfo::setDSPInnerDelay | ( | ) |
Definition at line 74 of file PlacementTimingInfo.cc.
Referenced by AMFPlacer::run().


|
private |
Definition at line 886 of file PlacementTimingInfo.h.
Referenced by buildSimpleTimingGraph(), and PlacementTimingInfo().
|
private |
Definition at line 885 of file PlacementTimingInfo.h.
Referenced by PlacementTimingInfo().
|
private |
Definition at line 882 of file PlacementTimingInfo.h.
Referenced by buildSimpleTimingGraph(), and PlacementTimingInfo().
|
private |
Definition at line 873 of file PlacementTimingInfo.h.
Referenced by buildSimpleTimingGraph(), PlacementTimingInfo(), and setDSPInnerDelay().
|
private |
Definition at line 874 of file PlacementTimingInfo.h.
Referenced by getDeviceInfo().
|
private |
Definition at line 883 of file PlacementTimingInfo.h.
Referenced by buildSimpleTimingGraph(), PlacementTimingInfo(), and setDSPInnerDelay().
|
private |
Definition at line 877 of file PlacementTimingInfo.h.
Referenced by PlacementTimingInfo().
|
private |
Definition at line 879 of file PlacementTimingInfo.h.
Referenced by buildSimpleTimingGraph(), getLongPathThresholdLevel(), getMediumPathThresholdLevel(), getSimplePlacementTimingGraph(), getSimplePlacementTimingInfo(), getSimplePlacementTimingInfo_PathLenSorted(), setDSPInnerDelay(), and ~PlacementTimingInfo().
|
private |
Definition at line 880 of file PlacementTimingInfo.h.
Referenced by PlacementTimingInfo().